MC68EZ328 uCsimmを動かしてみました(2) ~uClinuxを探検する~

MC68EZ328

uClinuxの起動が確認できたところで、早速探検してみます。

ファイルシステムを眺める

ログインしてlsしたところ、なぜかデバイスファイルが表示されました。

uCsimm login: root
Password:
# ls
console  console  cua0     cua0     cua1     cua1     cua2     cua2
cua3     cua3     cua4     cua4     cua5     cua5     cua6     cua6
cua7     cua7     cua8     cua8     cua9     cua9     dev      dev
fb0      fb0      fb1      fb1      kmem     kmem     mem      mem
null     null     ptyp0    ptyp0    ptyp1    ptyp1    ptyp2    ptyp2
ptyp3    ptyp3    ptyp4    ptyp4    ptyp5    ptyp5    ptyp6    ptyp6
ptyp7    ptyp7    ptyp8    ptyp8    ptyp9    ptyp9    ptypa    ptypa
ptypb    ptypb    ptypc    ptypc    ptypd    ptypd    ptype    ptype
ptypf    ptypf    ram0     ram0     ram1     ram1     ram2     ram2
ram3     ram3     rom0     rom0     rom1     rom1     rom2     rom2
rom3     rom3     tty      tty      tty0     tty0     tty1     tty1
tty2     tty2     tty3     tty3     tty4     tty4     tty5     tty5
tty6     tty6     tty7     tty7     tty8     tty8     tty9     tty9
ttyS0    ttyS0    ttyS1    ttyS1    ttyS2    ttyS2    ttyS3    ttyS3
ttyS4    ttyS4    ttyS5    ttyS5    ttyS6    ttyS6    ttyS7    ttyS7
ttyS8    ttyS8    ttyS9    ttyS9    ttyp0    ttyp0    ttyp1    ttyp1
ttyp2    ttyp2    ttyp3    ttyp3    ttyp4    ttyp4    ttyp5    ttyp5
ttyp6    ttyp6    ttyp7    ttyp7    ttyp8    ttyp8    ttyp9    ttyp9
ttypa    ttypa    ttypb    ttypb    ttypc    ttypc    ttypd    ttypd
ttype    ttype    ttypf    ttypf    zero     zero
#

初期ディレクトリが/devになっているのでしょうか。カレントディレクトリを確認してみます。

# pwd
./../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../../..
#

これはちと意味不明なので、カレントディレクトリを/にして探検を続けます。

# cd /
# pwd
/
# ls
bin        dev        etc        htdocs     lib        proc       ramfs.img
sbin       tmp        usr        var
# ls -l /etc
-rw-r--r--  1 root     0             178  Jan 01 1970  inetd.conf
-rw-r--r--  1 root     0             106  Jan 01 1970  inittab
-rw-r--r--  1 root     0             574  Jan 01 1970  issue
-rw-r--r--  1 root     0              79  Jan 01 1970  passwd
-rw-r--r--  1 root     0             505  Jan 01 1970  rc
-rw-r--r--  1 root     0              72  Jan 01 1970  resolv.conf
-rw-r--r--  1 root     0              82  Jan 01 1970  services
#

環境設定ファイルを確認

/etc/rcで環境設定をしているのではと表示してみました。

# cat /etc/rc
#!/bin/sh
#
# system startup.
# set up the hostname
/bin/hostname uCsimm
# attach the interfaces
/sbin/ifattach
/sbin/ifattach \
--addr 192.168.1.200 \
--mask 255.255.255.0 \
--net 192.168.1.0 \
--gw 192.168.1.100 eth0
# expand the ramdisk
/sbin/expand /ramfs.img /dev/ram0
# mount ramdisk, proc and nfs
/bin/mount -t ext2 /dev/ram0 /var
/bin/mount -t proc proc /proc
/bin/mount -t nfs 192.168.1.11:/home/jeff/kit /usr
# start up the internet superserver
/sbin/inetd &
# that's it... sucess
exit 0

ここでネットワークの設定とRAMディスクの初期化、ファイルシステムのmount、inetdの起動を行っています。これを参考にすればネットワークも設定できそうです。

ネットワークに接続する

試しにpingを投げてみます。

# ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1): 56 data bytes
--- 192.168.100.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
#

正しいIPアドレスが設定されていないので、当然無反応です。 ここで/etc/rcを参考にしてIPアドレスを設定してみます。

# /sbin/ifattach --addr 192.168.100.231 --mask 255.255.255.0 --net 192.168.100.0 --gw 192.168.100.1 eth0
# ping 192.168.100.1
PING 192.168.100.1 (192.168.100.1): 56 data bytes
64 bytes from 192.168.100.1: icmp_seq=0 ttl=64 time=10.0 ms
64 bytes from 192.168.100.1: icmp_seq=1 ttl=64 time=0.0 ms
64 bytes from 192.168.100.1: icmp_seq=2 ttl=64 time=0.0 ms
64 bytes from 192.168.100.1: icmp_seq=3 ttl=64 time=0.0 ms
--- 192.168.100.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.0/2.5/10.0 ms
#

pingが返るようになりました。これでネットワークに接続できたことになります。

Webサーバの稼働確認

さらにファイルを見てみます。

# cd /
# ls
bin        dev        etc        htdocs     lib        proc       ramfs.img
sbin       tmp        usr        var
# ls -l
drwxr-xr-x  1 root     0              32  Jan 01 1970  bin
drwxr-xr-x  1 root     0              32  Jan 01 1970  dev
drwxr-xr-x  1 root     0              32  Jan 01 1970  etc
drwxr-xr-x  1 root     0              32  Jan 01 1970  htdocs
drwxr-xr-x  1 root     0              32  Jan 01 1970  lib
dr-xr-xr-x  5 root     0               0  Jan 23 02:07 proc
-rw-r--r--  1 root     0            3340  Jan 01 1970  ramfs.img
drwxr-xr-x  1 root     0              32  Jan 01 1970  sbin
lrwxrwxrwx  1 root     0               8  Jan 01 1970  tmp -> var/tmp/
drwxr-xr-x  1 root     0              32  Jan 01 1970  usr
drwxr-xr-x  3 root     0            1024  Oct 08 1998  var
# cd /htdocs
# ls
index.html                         logo.gif
rt-control-i-net-ready-logo-m.gif  uc68ez328-anim.gif
#

htdocsというディレクトリの中にコンテンツがあるようです。試しにブラウザでアクセスしてみました。

uCsimm_webserver.png

このようなページが表示されました。uCsimmの中でWebサーバが動いていることが確認できました。

他のネットワークアプリケーション

他にもネットワーク系のアプリケーションが動いているのでしょうか。/etc/inetd.confをみてみます。

# cat /etc/inetd.conf
telnet  stream  tcp     nowait  root   /sbin/telnetd
http    stream  tcp     nowait  root   /sbin/httpd -i
uptime  stream  tcp     nowait  root   /bin/cat /proc/uptime /etc/issue
#

telnetdとhttpd、uptimeが動いているようです。他のマシンから確認してみます。

uCsimm_telnet_uptime.png

uptimeが表示され、telnetでログインできることも確認できました。立派なサーバです。

動作に問題はなさそうです

逆電圧がかかった恐れもあり、正常に動作しているか心配でしたが、ひとまずおよその動きは理解できました。他にもコマンドがあるようですが、環境を壊してしまわないように少しづつ試してみたいと思います。

タイトルとURLをコピーしました