上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
携帯電話/HT-03A/Android/init
をテンプレートにして作成
資料室
携帯電話/HT-03A/Android/init をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
*init
Linuxで最初に起動されるプロセスが"init"。このプロセスがフ...
**Android init Language
アクション,コマンド,サービス,オプションのクラスがある。~
-これらの全ては,行単位で空白で区切られたトークンから構成...
-Cスタイルのバックスラッシュエスケープが,トークンに空白...
-ダブルクォートは,複数トークンに分割したテキストから空白...
-バックスラッシュが行の最後の文字であるときは,行を折りた...
-#(先頭の空白は許可します)で始まる行はコメントになる。~
-アクションとサービスは暗黙的に新しいセクションを宣言する。
-全てのコマンドあるいはオプションは,直近に宣言されたセク...
-最初のセクションより前のコマンドとオプションは,無視され...
アクションとサービスは一意の名前を持つ。もし二番目のアク...
既に存在するものと同じ名前を宣言したら,エラーとして無視...
***アクション
アクションは,コマンドのシーケンスで名づけられる。アクシ...
トリガはアクションがいつ発生するべきかを決定するために使...
アクションのトリガに一致したイベントが発生した時,アクシ...
~
キュー内のそれぞれのアクションは,順に取り出され,各コマ...
~
initは,アクティビティ内のコマンドの実行する間に,他のア...
~
アクションは以下の形をとる。
on <trigger>
<command>
<command>
<command>
***サービス
サービスは,initが起動して,サービスが終了したときに再起...
サービスは以下の形をとります。
service <name> <pathname> [ <argument> ]
<option>
<option>
...
***オプション
オプションは,サービスへの修飾子です。オプションは,init...
-critical~
これはデバイスクリティカルサービスです。4分間に4回以上...
-disable~
このサービスは,そのクラスと共に自動で起動しません。これ...
-setenv <name> <value>~
プロセスの起動時に,環境変数<name>に<value>を設定する。
-socket <name> <type> <perm> [ <user> [ <group> ] ]~
/dev/socket/<name>という名称のUNIXドメインソケットを作成...
<type>は"dgram"か"stream"にしなければなりません。<user>と...
-user <username>~
このサービスを<username>で実行する。デフォルトはrootにな...
-group <groupname> [ <groupname> ]~
このサービスを<groupname>で実行する。追加の<groupname>は...
デフォルトは,rootになると思う。(デフォルトは,nobodyに...
-oneshot~
サービスが終了した場合に,再起動をさせないようにする。~
-class <name>~
サービスのクラス名を指定する。同じクラス名の全てのサービ...
classオプションを指定されていないサービスのクラスは,"def...
-onrestart~
サービスを再起動するようにする。
***トリガー
トリガーは,文字列です。~
アクションを発生させるためのトリガーとして指定する。特定...
-boot~
initが起動した時に発生する最初のトリガー。この後で,/init...
-<name>=<value>~
プロパティ<name>に<vlaue>で指定した値が設定された時に,発...
-device-added-<path>,device-removed-<path>~
デバイスノードが追加あるいは削除された時に発生する。~
-service-exited-<name>~
指定したサービスが終了した時に発生する。
***コマンド
-exec <path> [ <argument> ]~
forkしてプログラムを実行します(<path>で指定した)。プロ...
組み込みコマンドとは異なり,使用を避けることを勧める。ini...
-export <name> <value>~
グローバル環境の中の環境変数<name>に<value>を設定する。こ...
-ifup <interface>~
ネットワークインターフェース<interface>を,オンラインにす...
-import <filename>~
初期設定ファイルを解析し,現在の設定を拡張する。~
-hostname <name>~
ホスト名を設定する。~
-chdir <directory>~
作業ディレクトリを移動する。~
-chmod <octal-mode> <path>~
ファイルのパーミッションを変更する。~
-chown <owner> <group> <path>~
ファイルのオーナーとグループ権を変更する。~
-chroot <directory>~
プロセスのルートディレクトリを変更する。~
-class_start <serviceclass>~
既に実行中でなければ,指定したクラスのサービスを起動する。~
-class_stop <serviceclass>~
現在実行中であれば,指定したクラスの全てのサービスを停止...
-domainname <name>~
ドメイン名を設定する。~
-insmod <path>~
<path>のモジュールを読み込む。~
-mkdir <path> [mode] [owner] [group]~
<path>にディレクトリを作成する。オプションで,モード,オ...
ディレクトリは,パーミッション755で作成される。また,root...
-mount <type> <device> <dir> [ <mountoption> ]~
<device>を<dir>にマウントする。<device>はmtd@nameという形...
指定することが可能。<mountoption>は,"ro","rw","remount...
-setkey~
TBD~
-setprop <name> <value>~
システムプロパティ<name>に,<value>を設定する。~
-setrlimit <resource> <cur> <max>~
リソースに,rlimitを設定する。~
-start <service>~
既に実行していなければ,サービスを実行する。~
-stop <service>~
現在実行中であれば,サービスを停止する。~
-symlink <target> <path>~
<path>に,<target>のシンボリックリンクを作成する。~
-sysclktz <mins_west_of_gmt>~
システムクロックベースを設定する。(0は,システムクロック...
-trigger <event>~
トリガーとなるイベント。他のアクションからのキューアクシ...
-write <path> <string> [ <string> ]~
<path>のファイルを開いて,文字列を書き込む。~
***プロパティ
initは,いくつかのシステムプロパティを更新する。それは,...
-init.action~
アクション名と等しいプロパティは,現在実行されているか。~
-init.command~
コマンドと等しいプロパティは,実行されているか。~
-init.svc.<name>~
サービスの状態。("stopped","running","restarting")
***init.confの例
# not complete -- just providing some examples of usage
#
on boot
export PATH /sbin:/system/sbin:/system/bin
export LD_LIBRARY_PATH /system/lib
mkdir /dev
mkdir /proc
mkdir /sys
mount tmpfs tmpfs /dev
mkdir /dev/pts
mkdir /dev/socket
mount devpts devpts /dev/pts
mount proc proc /proc
mount sysfs sysfs /sys
write /proc/cpu/alignment 4
ifup lo
hostname localhost
domainname localhost
mount yaffs2 mtd@system /system
mount yaffs2 mtd@userdata /data
import /system/etc/init.conf
class_start default
service adbd /sbin/adbd
user adb
group adb
service usbd /system/bin/usbd -r
user usbd
group usbd
socket usbd 666
service zygote /system/bin/app_process -Xzygote /system/...
socket zygote 666
service runtime /system/bin/runtime
user system
group system
on device-added-/dev/compass
start akmd
on device-removed-/dev/compass
stop akmd
service akmd /sbin/akmd
disabled
user akmd
group akmd
Debugging notes
デフォルトでは,initにより実行されたプログラムは,標準出...
デバッグの為に,自分のプログラムをAndroid program logwrap...
例えば,
service akmd /system/bin/logwrapper /sbin/akmd
ていうように使用する。
終了行:
*init
Linuxで最初に起動されるプロセスが"init"。このプロセスがフ...
**Android init Language
アクション,コマンド,サービス,オプションのクラスがある。~
-これらの全ては,行単位で空白で区切られたトークンから構成...
-Cスタイルのバックスラッシュエスケープが,トークンに空白...
-ダブルクォートは,複数トークンに分割したテキストから空白...
-バックスラッシュが行の最後の文字であるときは,行を折りた...
-#(先頭の空白は許可します)で始まる行はコメントになる。~
-アクションとサービスは暗黙的に新しいセクションを宣言する。
-全てのコマンドあるいはオプションは,直近に宣言されたセク...
-最初のセクションより前のコマンドとオプションは,無視され...
アクションとサービスは一意の名前を持つ。もし二番目のアク...
既に存在するものと同じ名前を宣言したら,エラーとして無視...
***アクション
アクションは,コマンドのシーケンスで名づけられる。アクシ...
トリガはアクションがいつ発生するべきかを決定するために使...
アクションのトリガに一致したイベントが発生した時,アクシ...
~
キュー内のそれぞれのアクションは,順に取り出され,各コマ...
~
initは,アクティビティ内のコマンドの実行する間に,他のア...
~
アクションは以下の形をとる。
on <trigger>
<command>
<command>
<command>
***サービス
サービスは,initが起動して,サービスが終了したときに再起...
サービスは以下の形をとります。
service <name> <pathname> [ <argument> ]
<option>
<option>
...
***オプション
オプションは,サービスへの修飾子です。オプションは,init...
-critical~
これはデバイスクリティカルサービスです。4分間に4回以上...
-disable~
このサービスは,そのクラスと共に自動で起動しません。これ...
-setenv <name> <value>~
プロセスの起動時に,環境変数<name>に<value>を設定する。
-socket <name> <type> <perm> [ <user> [ <group> ] ]~
/dev/socket/<name>という名称のUNIXドメインソケットを作成...
<type>は"dgram"か"stream"にしなければなりません。<user>と...
-user <username>~
このサービスを<username>で実行する。デフォルトはrootにな...
-group <groupname> [ <groupname> ]~
このサービスを<groupname>で実行する。追加の<groupname>は...
デフォルトは,rootになると思う。(デフォルトは,nobodyに...
-oneshot~
サービスが終了した場合に,再起動をさせないようにする。~
-class <name>~
サービスのクラス名を指定する。同じクラス名の全てのサービ...
classオプションを指定されていないサービスのクラスは,"def...
-onrestart~
サービスを再起動するようにする。
***トリガー
トリガーは,文字列です。~
アクションを発生させるためのトリガーとして指定する。特定...
-boot~
initが起動した時に発生する最初のトリガー。この後で,/init...
-<name>=<value>~
プロパティ<name>に<vlaue>で指定した値が設定された時に,発...
-device-added-<path>,device-removed-<path>~
デバイスノードが追加あるいは削除された時に発生する。~
-service-exited-<name>~
指定したサービスが終了した時に発生する。
***コマンド
-exec <path> [ <argument> ]~
forkしてプログラムを実行します(<path>で指定した)。プロ...
組み込みコマンドとは異なり,使用を避けることを勧める。ini...
-export <name> <value>~
グローバル環境の中の環境変数<name>に<value>を設定する。こ...
-ifup <interface>~
ネットワークインターフェース<interface>を,オンラインにす...
-import <filename>~
初期設定ファイルを解析し,現在の設定を拡張する。~
-hostname <name>~
ホスト名を設定する。~
-chdir <directory>~
作業ディレクトリを移動する。~
-chmod <octal-mode> <path>~
ファイルのパーミッションを変更する。~
-chown <owner> <group> <path>~
ファイルのオーナーとグループ権を変更する。~
-chroot <directory>~
プロセスのルートディレクトリを変更する。~
-class_start <serviceclass>~
既に実行中でなければ,指定したクラスのサービスを起動する。~
-class_stop <serviceclass>~
現在実行中であれば,指定したクラスの全てのサービスを停止...
-domainname <name>~
ドメイン名を設定する。~
-insmod <path>~
<path>のモジュールを読み込む。~
-mkdir <path> [mode] [owner] [group]~
<path>にディレクトリを作成する。オプションで,モード,オ...
ディレクトリは,パーミッション755で作成される。また,root...
-mount <type> <device> <dir> [ <mountoption> ]~
<device>を<dir>にマウントする。<device>はmtd@nameという形...
指定することが可能。<mountoption>は,"ro","rw","remount...
-setkey~
TBD~
-setprop <name> <value>~
システムプロパティ<name>に,<value>を設定する。~
-setrlimit <resource> <cur> <max>~
リソースに,rlimitを設定する。~
-start <service>~
既に実行していなければ,サービスを実行する。~
-stop <service>~
現在実行中であれば,サービスを停止する。~
-symlink <target> <path>~
<path>に,<target>のシンボリックリンクを作成する。~
-sysclktz <mins_west_of_gmt>~
システムクロックベースを設定する。(0は,システムクロック...
-trigger <event>~
トリガーとなるイベント。他のアクションからのキューアクシ...
-write <path> <string> [ <string> ]~
<path>のファイルを開いて,文字列を書き込む。~
***プロパティ
initは,いくつかのシステムプロパティを更新する。それは,...
-init.action~
アクション名と等しいプロパティは,現在実行されているか。~
-init.command~
コマンドと等しいプロパティは,実行されているか。~
-init.svc.<name>~
サービスの状態。("stopped","running","restarting")
***init.confの例
# not complete -- just providing some examples of usage
#
on boot
export PATH /sbin:/system/sbin:/system/bin
export LD_LIBRARY_PATH /system/lib
mkdir /dev
mkdir /proc
mkdir /sys
mount tmpfs tmpfs /dev
mkdir /dev/pts
mkdir /dev/socket
mount devpts devpts /dev/pts
mount proc proc /proc
mount sysfs sysfs /sys
write /proc/cpu/alignment 4
ifup lo
hostname localhost
domainname localhost
mount yaffs2 mtd@system /system
mount yaffs2 mtd@userdata /data
import /system/etc/init.conf
class_start default
service adbd /sbin/adbd
user adb
group adb
service usbd /system/bin/usbd -r
user usbd
group usbd
socket usbd 666
service zygote /system/bin/app_process -Xzygote /system/...
socket zygote 666
service runtime /system/bin/runtime
user system
group system
on device-added-/dev/compass
start akmd
on device-removed-/dev/compass
stop akmd
service akmd /sbin/akmd
disabled
user akmd
group akmd
Debugging notes
デフォルトでは,initにより実行されたプログラムは,標準出...
デバッグの為に,自分のプログラムをAndroid program logwrap...
例えば,
service akmd /system/bin/logwrapper /sbin/akmd
ていうように使用する。
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ