標準ファームで動作する mkimage

LS-WSGL/R1

標準ファームで動作する mkimage があれば、 いろいろ楽になるんだが。。。
もう作ってるんじゃないかと自サイトを探したが見つからず。
どうやってつくろ。

EABI の debian は持ってないし、、、、EABI の開発環境は、、、

玄箱/Pro の開発環境があるやん!

開発環境の展開

玄箱/Pro 上に開発環境を展開する。
kup:~# cd /mnt
kup:/mnt# mkdir development_kit
kup:/mnt# cd development_kit/
kup:/mnt/development_kit# tar zxvf /tmp/hddrootfs.tar.gz
	:
	:

U-Boot のソースの入手

以前 http://sourceforge.net/projects/u-boot から、 いただいてきた u-boot-1.1.4.tar.bz2 を玄箱/Pro にコピーする。
kup:~# mkdir /mnt/development_kit/usr/local/src
kup:~# mkdir /mnt/development_kit/usr/local/src/u-boot
kup:~# mv /mnt/share/u-boot-1.1.4.tar.bz2 /mnt/development_kit/usr/local/src/u-boot

ソースの展開

kup:~# cd !$
cd /mnt/development_kit/usr/local/src/u-boot
kup:/mnt/development_kit/usr/local/src/u-boot# ls
u-boot-1.1.4.tar.bz2
kup:/mnt/development_kit/usr/local/src/u-boot# tar jxvf u-boot-1.1.4.tar.bz2
	:
	:

chroot

kup:/mnt/development_kit/usr/local/src/u-boot# chroot /mnt/development_kit
kup:/#

mkimage のコンパイル

kup:/# cd /usr/local/src/u-boot/
kup:/usr/local/src/u-boot# ls
u-boot-1.1.4          u-boot-1.1.4.tar.bz2
kup:/usr/local/src/u-boot# cd u-boot-1.1.4
kup:/usr/local/src/u-boot/u-boot-1.1.4# ls
CHANGELOG             board                 examples              lib_microblaze        mkconfig
COPYING               common                fs                    lib_mips              net
CREDITS               config.mk             i386_config.mk        lib_nios              nios2_config.mk
MAINTAINERS           cpu                   include               lib_nios2             nios_config.mk
MAKEALL               disk                  lib_arm               lib_ppc               post
Makefile              doc                   lib_generic           m68k_config.mk        ppc_config.mk
README                drivers               lib_i386              microblaze_config.mk  rtc
arm_config.mk         dtt                   lib_m68k              mips_config.mk        tools
kup:/usr/local/src/u-boot/u-boot-1.1.4# TOPDIR=`pwd`
kup:/usr/local/src/u-boot/u-boot-1.1.4# export TOPDIR
kup:/usr/local/src/u-boot/u-boot-1.1.4# cd tools
kup:/usr/local/src/u-boot/u-boot-1.1.4/tools# make mkimage
ln -s ../common/environment.c environment.c
ln -s ../lib_generic/crc32.c crc32.c
gcc -M -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC environment.c img2srec.c mkimage.c crc32.c envcrc.c gen_eth_addr.c bmp_logo.c > .depend
environment.c:28:20: config.h: No such file or directory
envcrc.c:32:20: config.h: No such file or directory
bmp_logo.c:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
Send email to arm-gnu@codesourcery.com for instructions.
make: *** [.depend] Error 1
kup:/usr/local/src/u-boot/u-boot-1.1.4/tools# make mkimage
gcc -g -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC -O -c mkimage.c
gcc -g -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC -O -c crc32.c
gcc -Wall -pedantic -idirafter ../include -DTEXT_BASE= -DUSE_HOSTCC -O  -o mkimage mkimage.o crc32.o
strip mkimage
kup:/usr/local/src/u-boot/u-boot-1.1.4/tools# file mkimage
mkimage: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.4.17, dynamically linked (uses shared libs), stripped
kup:/usr/local/src/u-boot/u-boot-1.1.4/tools#
できた。

LS-WSGL で実行。。。

って、LS-WSGL は、RamRoot でしか動かなくなっている。 標準ファームの 2.5 インチ HDD からコピーし直す。
あーめんど。

と、一言で済ましているけど、結構時間がかかった。

root@LS-WSGL678:/tmp# ./mkimage -l /boot/initrd.buffalo
Image Name:   initrd
Created:      Sun Mar  2 09:27:59 2008
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    5596070 Bytes = 5464.91 kB = 5.34 MB
Load Address: 0x00000000
Entry Point:  0x00000000
root@LS-WSGL678:/tmp#
Good!

LinkStation Mini
LS-WSGL
楽天市場
Amazon
Yahoo!ショッピング
Livedoor デパート
Sofmap
TSUKUMO ネットショップ
ムラウチドットコム
ヤマダ電機WEB
パソQ


ラックの写真
ハックの記録
LinkStation/玄箱 をハックしよう

RamRoot で立ち上がる initrd の作成スクリプト

Copyright (C) 2003-2008 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市