yoctoで起動スクリプト(systemd)
edisonの標準OS yoctoでは起動スクリプトにsystemdが採用されている。SystemVとは全く違った概念でランレベルとかもなくなったようだ。
systemdでは制御対象を、サービスや従来で言うランレベルに近いものを内包したユニットという単位で管理する。
edisonでシステム起動時にデーモン起動などをするには以下の手順でユニットを追加、有効化する。
hogeというユニットを追加する場合"/etc/systemd/system"以下に*.serviceというファイルを作成し、以下の様にする。
# vi /etc/systemd/system/hoge.service [Unit] Description=hoge service [Service] ExecStart=/usr/bin/hoge [Install] WantedBy=multi-user.target
書式は他所を参照してくださいw
これでsystemdから認識されるはず。"systemctl status"でstatusをチェックする。ファイル名が間違ってたりするとこの時点でエラーになる。以下のようになればOK
# systemctl status hoge ● hoge.service - hoge service Loaded: loaded (/etc/systemd/system/hoge.service; disabled) Active: inactive (dead)
これで準備OK。"systemctl enable"で有効にする。
# systemctl enable hoge ln -s '/etc/systemd/system/hoge.service' '/etc/systemd/system/multi-user.target.wants/hoge.service'
再起動すると、スタートアップ時にサービスで指定したスクリプトが実行されているはず。
http://wiki.bit-hive.com/tomizoo/pg/systemd%20%26%20systemctl