PC-P1LAN ファームウェア(2)initrd.boot


initrd.boot を見てみる

マウント

initrd なので、loop デバイスとしてマウントしてみる
[root@giga firm]# mkdir /tmp/root
[root@giga firm]# mount -o loop initrd.boot /tmp/root
mount: ファイルシステムタイプを指定する必要があります
[root@giga firm]# mount -o loop -t ext2 initrd.boot /tmp/root
mount: 間違ったファイルシステムタイプ、不正なオプション、
       /dev/loop0 のスーパーブロックが不正、或いはファイルシステムのマウント
       が多すぎます
[root@giga firm]# mount -o loop -t ext3 initrd.boot /tmp/root
mount: 間違ったファイルシステムタイプ、不正なオプション、
       /dev/loop0 のスーパーブロックが不正、或いはファイルシステムのマウント
       が多すぎます
[root@giga firm]#
がー。簡単にマウントできると思っていたのに。

gziped

od してみた。
[root@giga firm]# od -xc initrd.boot |less
0000000 2705 1956 f0c0 46ae 4353 8704 006e b447
          ' 005 031   V 360 300   F 256   C   S 207 004  \0   n 264   G
0000020 0000 0000 0000 0000 f59d bf89 0502 0301
         \0  \0  \0  \0  \0  \0  \0  \0 365 235 277 211 005 002 003 001
0000040 5241 4d20 4469 736b 0000 0000 0000 0000
          R   A   M       D   i   s   k  \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 1f8b 0800 fe86 5343 0203 ec7d 0b7c 54d5
        037 213  \b  \0 376 206   S   C 002 003 354   }  \v   |   T 325
0000120 b577 2051 914c 2b90 4940 33bd c592 b65a
        265   w       Q 221   L   + 220   I   @   3 275 305 222 266   Z
0000140 a3f2 9809 6086 ef56 1b5b a168 2b66 06c1
	:
	:
100(8進)=64(10進)のところに 1f8b が見える。
取り出してみる
[root@giga firm]# dd if=initrd.boot of=initrd.gz bs=64 skip=1
読み込んだブロック数は 113361+1
書き込んだブロック数は 113361+1
[root@giga firm]# gunzip initrd.gz
[root@giga firm]# mount -o loop initrd /tmp/root
今度は問題なくマウントできた。
中を見てみる
[root@giga firm]# cd /tmp/root/
[root@giga root]# ls
bin  boot  dev  etc  home  lib  linuxrc  lost+found  mnt  proc  root  sbin  tmp  usr  var
[root@giga root]# ls -lR > /tmp/ls-lR
[root@giga root]#
/tmp/ls-lR を見てみると、、、けっこうまとも。
いつものようにゴミだらけという印象はない。

/etc/inittab

/etc/inittab は
[root@giga root]# cat etc/inittab
#
# inittab       This file describes how the INIT process should set up
#               the system

# System initialization.
::sysinit:/etc/init.d/rcS
#co:12345:respawn:/sbin/getty -L ttyS0 115200 vt100
::respawn:/sbin/getty 115200 ttyS0 vt100
#::restart:/sbin/init
#::shutdown:/bin/umount -a -r
[root@giga root]#
  • /etc/init.d/rcS で初期化

  • ttyS0 で getty が動作している。

  • やっぱり J1 はシリアルか???

    /etc/init.d/rcS

    /etc/init.d/rcS を見てみると、/sbin/inetd を起動している

    /etc/inetd.conf

    [root@giga root]# cat etc/inetd.conf
    #telnet stream  tcp     nowait  root    /sbin/telnetd   /sbin/telnetd
    telnet  stream  tcp     nowait  root    /sbin/telnetd   telnetd -l /bin/login
    #sshd support added below
    #sshd support added below
    #ssh    stream  tcp     nowait  root    /usr/sbin/sshd sshd -i -q -f /etc/ssh/sshd_config
    [root@giga root]# ls sbin/telnetd
    sbin/telnetd
    [root@giga root]#
    
    なんと、telnet サーバが起動しているように見える。

    PC-P1LAN に telnet

    PC-P1LAN を起動し、telnet してみた。
    [root@giga root]# telnet p1lan
    Trying 192.168.1.51...
    Connected to p1lan.
    Escape character is '^]'.
    telnetd: bind: Address already in use
    Connection closed by foreign host.
    [root@giga root]#
    
    おしい。


    PC-P1LAN ファームウェア
    ハックの記録
    LinkStation/玄箱 をハックしよう

    HD-HGLAN ファームウェア 1.47

    Copyright (C) 2005 Yasunari Yamashita. All Rights Reserved.
    yasunari @ yamasita.jp 山下康成@京都府向日市