前回はbusyboxのインストをしました。一人で何役もこなす賢い奴でしたね。
でも、Androidには既に似たような機能が入っています。toolboxです。
toolboxは/system/bin/に入っていて
busyboxと同じように一つのプログラムで何役もこなします。
でも、Androidの発売元からしたら端末の中身は余り弄くり回して欲しくないはずですよね。
なのでtoolboxは必要最小限の機能しか有していません。
ここでちょっとした問題を出します。
インストしたbusyboxにはmvというコマンドが含まれていました。

でも、toolboxにもmvコマンドは含まれていたんです。
じゃあどちらが使われるんでしょうか?
答えは「これだけの情報では判らない」ですねw
でも、きちんと優先順位はあります。その場の気分で変わったら困りますからね。
順序性は環境変数PATHで決まります。windowsのシステムで設定してやるあれと同じです。
OSはこの変数に設定された順序でプログラムを探していきます。
ここでは/system/binが/system/xbinより先に定義されていますよね。と言うことはtoolboxのmvが使われる事になります。
busyboxのmvが使いたい場合は/system/bin/mvを消すか、こうやってフルパスで呼ばないといけません。

ほら、同じmvでも応答が違うでしょ。こうやって機能がダブっている場合はbusyboxの方が高性能です。
出来ればbusybox側をディフォルトにしたいですね。
ここで「環境変数PATHの順序を変更してやればいいんじゃね?」と思った人は鋭いです。
じゃあもうちょっと突っ込んで環境変数PATHがどこで定義されているか見てみましょうか。
ルートディレクトリにあるinit.rcってファイルの中です。

書いてありましたね。
Androidはシステム起動時にこのファイルを読み込んで、中に記載されているプログラムを順次起動していく仕掛けになっています。
これはシステムを司る大切なファイルですので容易には書き換えられません。
この話も最後の方になるとその辺りを弄ることになる予定です。
ただ、かなり時間はかかると思いますがね。
Androidにはこう言った暗黙の了解的な事が多々あります。
フォントを入れ換えるとかシステムファイルを入れ換えるとか解説しているサイトは多いと思いますが
皆、この辺りの事は知っている前提で書かれているんですよね。
多分こうやって初歩の初歩から書いているサイトは少ないはずですが
この様な事を知らずにいきなり高度な事に手をだすと自分でリカバリーが出来ずはまることになります。
そうならない為にも「ふーん。そうなんだ」程度に読んでいってくれれば良いと思います。
でも、Androidには既に似たような機能が入っています。toolboxです。
toolboxは/system/bin/に入っていて
busyboxと同じように一つのプログラムで何役もこなします。
でも、Androidの発売元からしたら端末の中身は余り弄くり回して欲しくないはずですよね。
なのでtoolboxは必要最小限の機能しか有していません。
ここでちょっとした問題を出します。
インストしたbusyboxにはmvというコマンドが含まれていました。

でも、toolboxにもmvコマンドは含まれていたんです。
じゃあどちらが使われるんでしょうか?

答えは「これだけの情報では判らない」ですねw
でも、きちんと優先順位はあります。その場の気分で変わったら困りますからね。
順序性は環境変数PATHで決まります。windowsのシステムで設定してやるあれと同じです。

OSはこの変数に設定された順序でプログラムを探していきます。
ここでは/system/binが/system/xbinより先に定義されていますよね。と言うことはtoolboxのmvが使われる事になります。
busyboxのmvが使いたい場合は/system/bin/mvを消すか、こうやってフルパスで呼ばないといけません。

ほら、同じmvでも応答が違うでしょ。こうやって機能がダブっている場合はbusyboxの方が高性能です。
出来ればbusybox側をディフォルトにしたいですね。
ここで「環境変数PATHの順序を変更してやればいいんじゃね?」と思った人は鋭いです。
じゃあもうちょっと突っ込んで環境変数PATHがどこで定義されているか見てみましょうか。
ルートディレクトリにあるinit.rcってファイルの中です。

書いてありましたね。
Androidはシステム起動時にこのファイルを読み込んで、中に記載されているプログラムを順次起動していく仕掛けになっています。
これはシステムを司る大切なファイルですので容易には書き換えられません。
この話も最後の方になるとその辺りを弄ることになる予定です。
ただ、かなり時間はかかると思いますがね。
Androidにはこう言った暗黙の了解的な事が多々あります。
フォントを入れ換えるとかシステムファイルを入れ換えるとか解説しているサイトは多いと思いますが
皆、この辺りの事は知っている前提で書かれているんですよね。
多分こうやって初歩の初歩から書いているサイトは少ないはずですが
この様な事を知らずにいきなり高度な事に手をだすと自分でリカバリーが出来ずはまることになります。
そうならない為にも「ふーん。そうなんだ」程度に読んでいってくれれば良いと思います。