唯一(?)ないのが、カーネルモジュールである。
カーネルモジュールは、玄箱付属の CD-ROM に収められている
image.zip から抜き出すことにする。
# mfdisk -c /dev/hda Command (m for help): p Disk /dev/hda: 16 heads, 63 sectors, 2114 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2114, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-2114, default 2114): +800M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (1627-2114, default 1627): Using default value 1627 Last cylinder or +size or +sizeM or +sizeK (1627-2114, default 2114): +128M Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 3 First cylinder (1888-2114, default 1888): Using default value 1888 Last cylinder or +size or +sizeM or +sizeK (1888-2114, default 2114): Using default value 2114 Command (m for help): t Partition number (1-4): 2 Hex code (type L to list codes): 82 Changed system type of partition 2 to 82 (Linux swap) Command (m for help): p Disk /dev/hda: 16 heads, 63 sectors, 2114 cylinders Units = cylinders of 1008 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 1 1626 819472+ 83 Linux /dev/hda2 1627 1887 131544 82 Linux swap /dev/hda3 1888 2114 114408 83 Linux Command (m for help): w The partition table has been altered! Syncing disks. #
# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/ram0 9677 5496 4181 57% /と4MB しかあいてないことに気が付いた。 image.zip は、20MB もあり、到底無理。
# mkfs -j /dev/hda1hda1 を /tmp/root にマウントする
# mkdir /tmp/root # mount /dev/hda1 /tmp/root # df Filesystem 1k-blocks Used Available Use% Mounted on /dev/ram0 9677 5506 4171 57% / /dev/hda1 806560 16428 749160 2% /tmp/root #
# cd /tmp/root # ls image.zip lost+found # unzip image.zip Archive: image.zip inflating: tmpimage.tgz # tar zxvf tmpimage.tgz ./ ./bin/ : :
# sh getlinkstationfiles.sh usr/sbin/ppc_uartd etc/rc.d/init.d/ppc_uartd lib/modules/ lib/modules/2.4.17_kuro-box/ lib/modules/2.4.17_kuro-box/kernel/ lib/modules/2.4.17_kuro-box/kernel/drivers/ lib/modules/2.4.17_kuro-box/kernel/drivers/block/ lib/modules/2.4.17_kuro-box/kernel/drivers/block/nbd.oん?
# ls -l *.gz -rw-r--r-- 1 root root 0 Jan 19 14:08 kernelmodules.tar.gz -rw-r--r-- 1 root root 0 Jan 19 14:08 ppc_uartd.tar.gzこの tar は(?)gzip できないようである。
仕方がないので、getlinkstationfiles.sh を vi で修正し、 gzip せずにアーカイブを作るようにし、実行。
# mke2fs -j /dev/hda1 # mount /dev/hda1 /tmp/root # mkdir /tmp/root/mnt # mount /dev/hda3 /tmp/root/mnt # mkswap /dev/hda2
# cd /tmp/root # tar zxvf mnt/hackkit-1.0.tar.gz
# cd /tmp/root # tar xvf /tmp/kernelmodules.tar # tar xvf /tmp/ppc_uartd.tar # cp etc/rc.d/rc2.d/S95ppc_uartd etc/rc.d/rc3.dこれで出来上がりのはず。