root@UDE:/boot# mkdir /tmp/root root@UDE:/boot# mount -o loop /boot/initrd.buffalo /tmp/root mount: could not find any device /dev/loop# root@UDE:/boot# ls -l /dev/loop* ls: /dev/loop*: No such file or directory root@UDE:/boot#/dev/loop? がないのでマウント失敗。
root@UDE:/boot# cd /dev root@UDE:/dev# ./MAKEDEV loop sh: ./MAKEDEV: No such file or directory root@UDE:/dev#MAKEDEV もない。
root@UDE:/dev# mknod /dev/loop0 b 7 0 root@UDE:/dev# ls -l loop0 brw-r--r-- 1 root root 7, 0 Jul 29 08:58 loop0 root@UDE:/dev# mknod /dev/loop1 b 7 1 root@UDE:/dev# mknod /dev/loop2 b 7 2 root@UDE:/dev# mknod /dev/loop3 b 7 3 root@UDE:/dev# mknod /dev/loop4 b 7 4 root@UDE:/dev# ls -l loop* brw-r--r-- 1 root root 7, 0 Jul 29 08:58 loop0 brw-r--r-- 1 root root 7, 1 Jul 29 08:58 loop1 brw-r--r-- 1 root root 7, 2 Jul 29 08:59 loop2 brw-r--r-- 1 root root 7, 3 Jul 29 08:59 loop3 brw-r--r-- 1 root root 7, 4 Jul 29 08:59 loop4 root@UDE:/dev#こんなものかな。
root@UDE:/dev# cd root@UDE:~# !mount mount -o loop /boot/initrd.buffalo /tmp/root mount: you must specify the filesystem type root@UDE:~#何か変。
root@UDE:~# od -xc /boot/initrd.buffalo |more 0000000 0527 5619 17cc 4ff3 8b44 75af 4200 33fc ' 005 031 V 314 027 363 O D 213 257 u \0 B 374 3 0000020 0000 0000 0000 0000 5aed cc4a 0205 0103 \0 \0 \0 \0 \0 \0 \0 \0 355 Z J 314 005 002 003 001 0000040 6e69 7469 6472 0000 0000 0000 0000 0000 i n i t r d \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0000060 0000 0000 0000 0000 0000 0000 0000 0000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0000100 8b1f 0808 af6f 448b 0302 6e69 7469 6472 037 213 \b \b o 257 213 D 002 003 i n i t r d 0000120 ec00 099d 5558 ded5 0f87 80a3 93cc 6338 \0 354 235 \t X U 325 336 207 017 243 200 314 223 8 c 0000140 8288 c803 a20c 8e02 0a20 3822 708b 0498 210 202 003 310 \b 242 002 216 \n " 8 213 p 230 004 : :100(8進)=64(10進)のところに 8b1f が見える。
root@UDE:~# dd if=/boot/initrd.buffalo of=/tmp/initrd.gz bs=64 skip=1 68592+1 records in 68592+1 records out root@UDE:~# gunzip /tmp/initrd.gz gunzip: write: No space left on device gunzip: crc error gunzip: Error inflating root@UDE:~# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/sda2 493212 169204 324008 34% / /dev/ram1 15360 15360 0 100% /mnt/ram /dev/ls_disk1_1 194443 68318 116086 37% /boot /dev/ls_disk1_6 155377036 624 155376412 0% /mnt/disk1 root@UDE:~#今度はディスクフルかいな。
root@UDE:~# ls /mnt authtest disk1 info ram usbdisk1 usbdisk2 root@UDE:~# ls /mnt/disk1/ share root@UDE:~# mkdir /mnt/disk1/tmp root@UDE:~# mv /tmp/initrd.gz /mnt/disk1/tmp root@UDE:~# gunzip /mnt/disk1/tmp/initrd.gz root@UDE:~# mount -o loop /mnt/disk1/tmp/initrd /tmp/root root@UDE:~#ようやくマウントできた。
root@UDE:~# cd /tmp/root/etc/ root@UDE:/tmp/root/etc# cat inittab ::sysinit:/etc/init.d/rcS ::respawn:/sbin/getty -L ttyS0 115200 vt100 ::restart:/sbin/init ::shutdown:/etc/init.d/rcDown ::shutdown:/bin/umount -r / root@UDE:/tmp/root/etc# diff /etc/inittab inittab root@UDE:/tmp/root/etc#あれ?同じ。
あーそーか。大きな勘違い。
各行が :: で始まってるので、コメントアウトされていると思っていたが、
おお間違い。
id も runlevels も省略されているだけで、
各エントリがちゃんと機能する。
納得してしまった。
← LS-GL:nvram コマンド |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ LS-GL:ファンコントロール |