y's memo

旅と技術のメモ

Tizen 起動シーケンス

ファイルシステムを見るとbusyboxが入っているが/sbin/initは別のものが使われている。

http://source.tizen.org/git/

見ると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

やれやれ。