Tizen 起動シーケンス
ファイルシステムを見るとbusyboxが入っているが/sbin/initは別のものが使われている。
見るとsysvinitのpackageがあるのでたぶんこれかな?
Emulatorを使っているマシンを見るとsdbが起動しているのでshellにアクセスできるかな?
[host] $ sdb shell
してみるとtargetのshellにアクセスできた。
[target] # dpkg -S /sbin/init
sysvinit: /sbin/init
とのことで間違いない。
sysvinitなので/etc/inittabを見ると
#System startup
si::sysinit:/etc/rc.d/rc.sysinit
net::once:/etc/rc.d/rc.network
id:1:initdefault:
1って珍しいなと思って見てみると
/etc/rc1.d # ls
README S01bootlogs S01killprocs S02single
たいしたものがない。あれ?
じゃあ/etc/rc.d/rc.sysinitかと思って見てみると、ここにいろいろ書いてある。
ずっと見ていくと
/usr/bin/press 1 # wait input to stoprunning scripts
という行から後ろに重要なポイントがある。
ちなみにこれスクリプトを止めるためにあるみたいだけど/usr/bin/pressは無いし、
/opt/etc/.hib_capturingも無いのでelseの# Run all rc3 scriptsが走る。
rc3が走るのかと思って/etc/rc3.dを見ると
/etc/rc3.d # ls
README S01ssh S02rmnologin
S01bootlogs S02rc.local S02stop-bootlogd
またまた、あれ?
よく見ると/etc/rc.d/rc3.dってなっている。
# Run all rc3 scripts
echo -e "[${_G}run all rc3 scripts${C_}]"
echo "normal boot"
for i in /etc/rc.d/rc3.d/*; do
echo -e "[${_G}${i} start${C_}]"
$i start
done
これでやっと起動シーケンスがわかる。
/etc/rc.d/rc3.d # ls
S01Init-sim S30telephony-server S51quickpanel
S04syslogd S35launchpad_run S60sonet
S05dlog S35power-manager S61connman
S06sdbd S35pulseaudio S70email-service
S10devman S40sfsvc S70msg-server
S10sqlfs-mount S40soundserver S80alarm-server
S12vconf-init S40ss-server S80bluetooth-frwk-agent
S20pmon S41boot-ani S80xresources
S20vmodem S42isf-panel-efl S81libnfc-manager-0
S20xserver S43starter S90sppc
S25security-server S44indicator S95cbhm
S30audiosessionmanager S46menudaemon S96set_valperiod
S30brightness S47thumbsvr S99regpmon
S30dbus-daemon_run S48mediasvr
S30snd_init S50contacts-svc-helper
やれやれ。