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