スリープ(5)

LS-GL

どうやってスリープを実現しているのか、ぼちぼち調べている。
思ったより大掛かりで、 ハックキットで実現するのには相当の手順が要りそう。

スリープに落ちるときの出力から、 実行されているであろうスクリプトを見ていく。

rcDown

BUFFALO INC. LinkStation series LS-GL(IESADA)
LS-GL530 login: 75826+1 records in
                                  75826+1 records out

                                                     ---- rcDown(standbying) ----
とのことで、pwrmgr から呼ばれているであろう /etc/init.d/rcDown を見る。。。。
でも、、、---- rcDown(standbying) ---- なんてメッセージを 出している形跡はない。

standby.rcDown

こういうときは grep
root@LS-GL530:~# cd /etc/init.d/
root@LS-GL530:/etc/init.d# grep standbying *
standby.rcDown: echo "---- rcDown(standbying) ----"
root@LS-GL530:/etc/init.d#
standby.rcDown が出している。

shutdown_proc.sh umount_disk.sh start_data_array.sh sendsigs.sh が 呼ばれている。
でも、start_data_array.sh は存在しない。

なぜ、rcDown を使うのではなく、standby.rcDown を使っているのか、 よく分からない。多分 Buffalo にもよく分かってないんだろう。

それぞれ読んでみた。
sendsigs.sh の最後で、 /bin/umount -r / を実行しているのがミソ?

rcDown

Starting pid 1522, console /dev/ttyS0: '/etc/init.d/rcDown'
--- rcDown ---
	:
	:

またこんどは rcDown を実行。意味不明。。。init が旧 inittab の
::shutdown:/etc/init.d/rcDown
に従って実行しているのかも。

このあたり、よくわかっていない。勉強しないと。。。。

inittab の差し換え、再評価

続いて、
Starting pid 1631, console /dev/ttyS0: '/bin/umount'
The system is going down NOW !!
Sending SIGTERM to all processes.
Sending SIGKILL to all processes.
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
Starting pid 1646, console /dev/ttyS0: '/etc/init.d/standby.rcS'
	:
このあたりは inittab が変わって init が再評価したところ。
この後、RamRoot で起動していく。

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


スリープ(4)
ハックの記録
LinkStation/玄箱 をハックしよう

やせたいクラブ

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