スリープ(6)

LS-GL

どうやってスリープを実現しているのか、ぼちぼち調べている。

RamRoot で起動

スリープに落ちるまでは大体見たので、 RamRoot で起動するまでを見ていく。
init started:  BusyBox v1.1.1 (2008.03.07-05:17+0000) multi-call binary
Starting pid 1636, console /dev/ttyS0: '/bin/umount'
Starting pid 1639, console /dev/ttyS0: '/bin/umount'
Starting pid 1643, console /dev/ttyS0: '/bin/mount'
EXT2-fs warning: checktime reached, running e2fsck is recommended
ここらは、inittab の内容。でも、/ がマウントされていないのに、 /etc/inittab って、、アンマウント前に読んでいる?
Starting pid 1646, console /dev/ttyS0: '/etc/init.d/standby.rcS'
--- rcStart (initrd standby mode) ---
=====  exec:create_devlink.sh  =====
/etc/init.d/create_devlink.sh: line 675: /var/tmp/devlink: No such file or directory
/etc/init.d/create_devlink.sh: line 675: /var/tmp/devlink: No such file or directory
=====  exec:sethostname.sh  =====
configure files from Buffalo parameters.
=====  exec:restore_config.sh  =====
mount: mount point /boot does not exist
Update configuration files
** fail. not fount initfile.tar.gz
=====  exec:networking.sh  =====
cp: unable to open `/var/tmp/dhcpcstate': No such file or directory
create network files..
IP=[dhcp], netmask=[], dgw=[], dns1=[], dns2=[]
/etc/init.d/networking.sh: line 36: /var/tmp/dhcpcstate: No such file or directory
killall: dhcpcd: no process killed
route: SIOC[ADD|DEL]RT: No such process
Configuration network interface: lo eth0
/etc/init.d/networking.sh: line 125: /var/tmp/dhcpcstate: No such file or directory
requesting DHCP  tout=30[s]
networking.sh: dhcp requesting...
DontDownIface
alwaysFork
eth0: link down
eth0: link up<5>, full duplex<5>, speed 1 Gbps<5>
sendto:  count 6   sync 1
sendto:  count 5   sync 0
sendto:  count 6   sync 0
** dhcp fail
dhcpcd.exe: interface eth0 has been configured with new IP=192.168.2.42 GATEWAY=192.168.2.1
/etc/dhcpc/dhcpcd.exe: line 64: /var/tmp/dhcpcstate: No such file or directory
** networking.sh dhcp fin.
configure files from Buffalo parameters.
=====  exec:create_usblink.sh  =====
=====  exec:closeSysMd.sh  =====
/etc/init.d/standby.rcS: line 9: /etc/init.d/closeSysMd.sh: No such file or directory
=====  exec:miconmon.sh  =====
Core Driver (ERROR) 0 0: Edma Error Reg 0xa8
Core Driver (ERROR) 0 0: Flush DMA, type=CALLBACK, commands 0 (on EDMA 0)
err: argCmd: invalid command. (usb_set_power)

=====  exec:kernelmon.sh  =====
Starting kernelmon:=====  exec:clientUtil_servd.sh  =====
Starting clientUtil_server:starting on eth0
touch: /var/run/active_clientUtil_server: No such file or directory
=====  exec:cron.sh  =====
Start services: crondcrond[1821]: crond 2.3.2 dillon, started, log level 8

=====  exec:httpd.sh  =====
Start a service: httpd
=====  exec:backupmon  =====
Start service: backupmon
=====  exec:powersw.sh  =====
Start service: powerswmon
Starting pid 1834, console /dev/ttyS0: '/sbin/getty'

LS-GL-EM530 login: DHCPCSTATE=
httpd まで起動している。

resume.cgi

ためしに、http://192.168.2.42/cgi-bin/resume.cgi にアクセスしたら リジュームしてきた。

もう一度スリープさせる。

crontab

sh-2.05b$ ls -la /var/spool/cron/crontabs/
drwxr-xr-x    2 root     root         1024 Apr 15 21:00 .
drwxr-xr-x    3 root     root         1024 Apr 15 21:00 ..
-rw-------    1 root     root          266 Apr 15 21:00 root
sh-2.05b$
root になれないので、見られない。
多分、リジューム時刻にスクリプトが起動するようになっている。
ファイルの更新時刻は、スリープの時刻。

最初は、ブート時の U-Boot が展開した initrd を そのまま使っていると思っていたが、 スリープ時刻が書込まれているという事は、 /dev/ram0 に独自(上書き?)に展開しているのだろう。

inittab

前回、中の様子を見たとき、inittab までは見てなかった。
sh-2.05b$ cat /etc/inittab
::sysinit:/bin/umount /mnt/mnt/ram
::sysinit:/bin/umount /mnt
::sysinit:/bin/mount -o rw,remount /dev/rootfs /
#::sysinit:/usr/local/sbin/miconapl -a hdd_set_power off
::sysinit:/etc/init.d/standby.rcS
#::sysinit:/usr/local/sbin/pwrmgr -dbs -l /etc/pwrmgr/pclist -r xfs,/dev/md1

::respawn:/sbin/getty -L ttyS0 115200 vt100

#::shutdown:/etc/init.d/standby.rcDown

::restart:/sbin/init
sh-2.05b$


LS-GL
バッファローダイレクト
楽天市場
Amazon
Yahoo!ショッピング
ソフマップ
livedoor デパート
ドスパラ


わんくま同盟 大阪勉強会 #29
ハックの記録
LinkStation/玄箱 をハックしよう

busybox の init

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