カーネルのコンパイル(4)


setsum というコマンドが x86 用であるため、 x86 でこの部分だけをコンパイル(実行?)してみる。

ramdisk.image.gz

先日取り出した ramdisk.image.gz を arch/ppc/boot/images に置く。

LinkStation でコンパイル

まずは LinkStation でコンパイルする。

[yasunari@ls kernel_melext3]$ make zImage.initrd
およそ30分後
../utils/setsum/setsum ../../../../firminfo.txt ../images/vmlinux.gz -r ../images/ramdisk.image.gz -o ../images/firmimg.bin
../utils/setsum/setsum: ../utils/setsum/setsum: cannot execute binary file
make[2]: *** [zImage.initrd] エラー 126
make[2]: 出ます ディレクトリ `/mnt/home/toda/nas_project/kuro-box/1.00/kernel_melext3/arch/ppc/boot/sandpoint'
make[1]: *** [zImage.initrd] エラー 2
make[1]: 出ます ディレクトリ `/mnt/home/toda/nas_project/kuro-box/1.00/kernel_melext3/arch/ppc/boot'
make: *** [zImage.initrd] エラー 2
[yasunari@ls kernel_melext3]$

ソースツリーを ThinkPad 310 にコピー

エラーになったところで、ソースツリーを ThinkPad 310 にコピーする

setsum 実行

ThinkPad 310 上で、 arch/ppc/boot/sandpoint で上記エラーになった行を実行する
[yasunari@tp310 sandpoint]$ ../utils/setsum/setsum ../../../../firminfo.txt ../images/vmlinux.gz -r ../images/ramdisk.image.gz -o ../images/firmimg.bin
Firm information struct size = 108 2
read config file:../../../../firminfo.txt
set date:2004/3/1 7:40:38
read Kernel file:../images/vmlinux.gz(652877 bytes)
     initrd file:../images/ramdisk.image.gz(2271482 bytes)
Firmware ID  :00001001
         Name:KURO-BOX(IETSUNA) ver 1.00
         Date:2004/4/1 7:40:38
kernel_offset:0000006C (652877bytes)
initrd_offset:0009F6B9 (2271482bytes)
total size: 2924467bytes
check sum = 38FE2634 4
Done..
[yasunari@tp310 sandpoint]$ ls -l ../images/firmimg.bin
-rw-r--r--    1 yasunari root      2924467 Apr  1 07:40 ../images/firmimg.bin
とりあえず、できたみたい
LinkStation/玄箱 をハックしよう → ローダ

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