root@qube:/srv/tftp/ls400-111# vi remakeinitrd.sh : : root@qube:/srv/tftp/ls400-111# cat remakeinitrd.sh set -x dd if=initrd.buffalo.orig of=/tmp/initrd.gz bs=64 skip=1 gunzip /tmp/initrd.gz rm -fr root mkdir root cd root cat /tmp/initrd | cpio -id rm /tmp/initrd cat > init <<EOF #!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin echo "---- in hackkit linuxrc ---" mkdir /rootfs mount /dev/sda2 /rootfs exec /sbin/switch_root /rootfs /sbin/init EOF chmod +x init find . | cpio -o -H newc | gzip > /tmp/initrd.gz cd .. mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo rm -f /tmp/initrd.gz rm -f ../initrd.buffalo ln initrd.buffalo .. root@qube:/srv/tftp/ls400-111#
root@qube:/srv/tftp/ls400-111# sh remakeinitrd.sh + dd if=initrd.buffalo.orig of=/tmp/initrd.gz bs=64 skip=1 185731+1 records in 185731+1 records out 11886820 bytes (12 MB) copied, 9.51076 s, 1.2 MB/s + gunzip /tmp/initrd.gz + rm -fr root + mkdir root + cd root + cat /tmp/initrd + cpio -id 52829 blocks + rm /tmp/initrd + cat + chmod +x init + find . + cpio -o -H newc + gzip 52803 blocks + cd .. + mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo Image Name: initramfs Created: Sun Oct 20 17:00:58 2013 Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11921438 Bytes = 11642.03 kB = 11.37 MB Load Address: 0x00000000 Entry Point: 0x00000000 + rm -f /tmp/initrd.gz + rm -f ../initrd.buffalo + ln initrd.buffalo .. root@qube:/srv/tftp/ls400-111#一応、init をみてみる。
root@qube:/srv/tftp/ls400-111# cat root/init #!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin echo "---- in hackkit linuxrc ---" mkdir /rootfs mount /dev/sda2 /rootfs exec /sbin/switch_root /rootfs /sbin/init root@qube:/srv/tftp/ls400-111#できている。
E06
あれ?
あかんの?
最終的には、mount -a が必要なことがわかった。
root@qube:/srv/tftp/ls400-111# cat root/init #!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin echo "---- in hackkit linuxrc ---" mount -a mkdir /rootfs mount /dev/sda2 /rootfs exec /sbin/switch_root /rootfs /sbin/init root@qube:/srv/tftp/ls400-111#-a じゃなくて、 特定のファイルシステムだけでも良いのかもしれないけれど。。。
root@qube:/srv/tftp/ls400-111# cat remakeinitrd.sh set -x rm -f /tmp/initrd dd if=initrd.buffalo.orig of=/tmp/initrd.gz bs=64 skip=1 gunzip /tmp/initrd.gz rm -fr root mkdir root cd root cat /tmp/initrd | cpio -id rm /tmp/initrd cat > init <<EOF #!/bin/sh export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin echo "---- in hackkit linuxrc ---" mount -a mkdir /rootfs mount /dev/sda2 /rootfs exec /sbin/switch_root /rootfs /sbin/init EOF chmod +x init find . | cpio -o -H newc | gzip > /tmp/initrd.gz cd .. mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /tmp/initrd.gz initrd.buffalo rm -f /tmp/initrd.gz rm -f ../initrd.buffalo ln initrd.buffalo .. root@qube:/srv/tftp/ls400-111#
root@qube:/srv/tftp/ls400-111# telnet ls410d Trying 192.168.2.57... Connected to ls410d.yamasita.jp. Escape character is '^]'. Linux 3.3.4 (qube.yamasita.jp) (pts/0) hackkit login: guest Password: Linux hackkit 3.3.4 #1 Thu Jul 4 22:16:52 JST 2013 armv7l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. guest@hackkit:~$永かった。。。
|
← 一筋の光! |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ ハックキットの修正、確認 |
Copyright (C) 2003-2013 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市