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/玄箱 をハックしよう  | 
→ ラックの写真  |