root@LS-WSGL678:/boot# vi LS-WSGL_hackkit_0.00.sh root@LS-WSGL678:/boot# cat !$ cat LS-WSGL_hackkit_0.00.sh dd if=initrd.buffalo of=initrd.gz bs=64 skip=1 gunzip initrd.gz for minor in 0 1 2 3 4 5 6 7 8 9 do mknod /dev/loop$minor b 7 $minor done mkdir /tmp/root mount -o loop initrd /tmp/root root@LS-WSGL678:/boot# sh $! sh LS-WSGL_hackkit_0.00.sh 87438+1 records in 87438+1 records out /sbin/hotplug [block] root@LS-WSGL678:/boot#
root@LS-WSGL678:/boot# vi /tmp/root/linuxrc : : echo "linuxrc:choose operation (timeout 4[s])" echo -n " 1:RamRoot other:HddRoot ? " ## timeout is 4[s] ANSWER=`/usr/local/bin/keyinput -t 4` case "$ANSWER" in 1) RamdiskRoot ;; 9) CommandMode ;; *) HddRoot ;; esac : :ここで、ANSWER に 1 を入れればよい。
root@LS-WSGL678:/boot# vi LS-WSGL_hackkit_0.00.sh root@LS-WSGL678:/boot# cat !$ cat LS-WSGL_hackkit_0.00.sh : : cd /tmp/root mv linuxrc linuxrc.orig sed -e 's/^ANSWER=.*$/ANSWER=1/' linuxrc.orig > linuxrc chmod 700 linuxrc : : root@LS-WSGL678:/boot# sh LS-WSGL_hackkit_0.00.sh root@LS-WSGL678:/boot# diff -c /tmp/root/linuxrc.orig /tmp/root/linuxrc *** /tmp/root/linuxrc.orig Tue Jul 15 14:50:14 2008 --- /tmp/root/linuxrc Sun Oct 26 10:58:11 2008 *************** *** 425,431 **** echo "linuxrc:choose operation (timeout 4[s])" echo -n " 1:RamRoot other:HddRoot ? " ## timeout is 4[s] ! ANSWER=`/usr/local/bin/keyinput -t 4` case "$ANSWER" in 1) RamdiskRoot ;; 9) CommandMode ;; --- 425,431 ---- echo "linuxrc:choose operation (timeout 4[s])" echo -n " 1:RamRoot other:HddRoot ? " ## timeout is 4[s] ! ANSWER=1 case "$ANSWER" in 1) RamdiskRoot ;; 9) CommandMode ;; root@LS-WSGL678:/boot#
root@LS-WSGL678:/boot# vi LS-WSGL_hackkit_0.00.sh root@LS-WSGL678:/boot# cat !$ cat LS-WSGL_hackkit_0.00.sh : : umount /tmp/root gzip initrd mv initrd.buffalo initrd.buffalo.orig mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d /boot/initrd.gz /boot/initrd.buffalo : :相変わらず標準ファームで動く mkimage がないので、 これでは動かない。
仕方がないので、前回と同じく、LS-HGL ハックキットを展開し、 それに納めている mkimage を使う。
root@LS-WSGL678:/boot# umount /tmp/root root@LS-WSGL678:/boot# gzip initrd root@LS-WSGL678:/boot# mv initrd.gz /mnt/disk1/HackKit/boot root@LS-WSGL678:/boot# chroot /mnt/disk1/HackKit /usr/local/sbin/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d /boot/initrd.gz /boot/initrd.buffalo Image Name: initrd Created: Sun Oct 26 11:33:55 2008 Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 5598414 Bytes = 5467.20 kB = 5.34 MB Load Address: 0x00000000 Entry Point: 0x00000000 root@LS-WSGL678:/boot# ls -l /mnt/disk1/HackKit/boot -rw-r--r-- 1 root root 5598478 Oct 26 11:33 initrd.buffalo -rw-r--r-- 1 root root 5598414 Oct 26 11:31 initrd.gz root@LS-WSGL678:/boot# mv /mnt/disk1/HackKit/boot/initrd.buffalo . root@LS-WSGL678:/boot#できた。
: : RAMDISK: Compressed image found at block 0 VFS: Mounted root (ext2 filesystem). ---- in linuxrc --- Sun Oct 26 11:37:48 JST 2008 CheckDevices linuxrc:choose operation (timeout 4[s]) 1:RamRoot other:HddRoot ? -RamdiskRoot- md: md0 stopped. : :なんの入力も無しに RamdiskRoot で起動を始め、
BUFFALO INC. LinkStation series LS-WSGL-EM678 login:RamRoot(EM mode)で起動してきた。
ぅ゛
ここまで来て気が付いた。
telnetd が起動していないので(シリアルコンソールからしか)
ログインできない。
やり直し。あーぁ
|
← Maxtor Diamod max 10 6L200 ×2 |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ ラックの写真 |