2013年10月18日金曜日

IS11T 雑記

マテヨ…俺は一体何をしていたんだ。
何でこんな事をしているんだ。

root化はプリインストールアプリのアンインストールや凍結を目的としていただけじゃあないか。
卒研の時みたいにgfortranの計算結果をGNUplotで出してImageMagickで加工する必要もなければ、剛性マトリクス法を計算する必要もないし(現実に使えるレベルにするにはスマホでは能力が足らなさ過ぎる上、自分の知識も少なすぎるし)、というか構造計算は構造屋さんの仕事であってちょいの間でやれる事ではないし。
それ以外のプログラミングをしたいわけでもないじゃあないか。
何かが暴走をしていた模様。
最後にAndroidFirewallだけ入れてとりあえずの終了。
カスタムカーネルじゃなきゃ駄目だって?!…もういい終了。
 ノーマルカーネル+カスタムDroidwall+settingsh.sh編集でできるらしいが…終了。
ログ速 rootスレ1 897901(708氏)
必要あるいは興味に応じてその都度ぼちぼち調べる事とする。


以下駄文。落書き。書きなぐり。

Gscript Lite

cpもgrepもそのままだと使えない。(標準のシェルがshだから?)

"cp: not found"がでるなら"busybox cp ~"等にしてやる。

PCからのadb shellによる操作

2ndパーティション内のファイル操作ができない。
cpは"Cross-device link"。
chmodはエラーメッセージこそ出さないがパーミッションが変更されない。
chownはsuになっているにも関わらず"Permitted denied"。

…とりあえずファイルをpushしたらスマホ端末上でいじる他ないのか?

UNIX読み方辞典

相当読み方がわからないコマンド、単語があるし、脳内で適当に読むのが気持ち悪い。

root化したIS11Tの起動時の大雑把な流れ

※ちゃんと実地で確認してないので、包含関係やら解釈やらが間違っているかもしれない。

こちらの方がはるかに正確。が一応理解の為に書く。

通常のLinuxの場合、
ブートローダ→カーネルがinitramfsを実行(?)する→
 /sbin/initを起動→/etc/inittabを基に/etc/rc.d/以下の起動スクリプトを実行
らしい。
またどこかで(笑)/etc/fstabの情報を基に起動時にmount -aを実行するらしい。
参考:initramfsの件fstabの件initramfsとinitrd

一方、Androidではinitramfsの実行までで起動を完了するらしい。
手元のIS11Tで確認しても、/sbin/init、/etc/inittab、/etc/rc.d/、/etc/fstabのいずれのファイル(ディレクトリ)もない。
(但し/etc/init.IS11T.*というファイルが8つ程あるが…関係ないかな
vold.fstabってのはあるな…)
initramfsに手を入れる事はカーネルイメージをいじる事になるらしい。

init.rc内で/system/etc/install-recovery.shを実行している為、起動時の処理を変える…スクリプトを実行するなら、ここを変更するのが理に適っているようだ。
root化されたIS11Tの場合、 install-recovery.shでは/data/root/autoexec.shを実行しているだけである。
つまり、起動時の処理の変更は/data/root/autoexec.shをいじればいいという事になるのかな…。

SDカード上のファイルのパーミッションを変更できるようにしたい

シェルスクリプトをTerminal Emulatorで実行できない。(Permission deniedとなる)参考
sdcard上に*.shを作り権限を変更しようにも、できない。

# mount | grep sdcard
/dev/block/vold/179:1 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)

# ls -l /mnt
drwxr-xr-x   10 root       system           200 Oct 14 03:32 asec
drwxr-xr-x    2 root       system            40 Oct 14 03:30 obb
d---rwxr-x   27 system     sdcard_rw       8192 Oct 14 06:17 sdcard
drwx------    4 root       root               0 Oct 14 03:30 secure

ちなみに、下はそれぞれ右のパーミッションを定義する(ubuntu forumsの該当記事の翻訳)
fmask (ファイルマスク)アプリとファイル
dmask (ディレクトリマスク)ディレクトリ
umask (ユーザーマスク)ファイルとディレクトリの両方

sdcardのマスクが0702の為、パーミッションが0075になっている。
その為にSDカード上のファイルに対してchmod/chownの操作ができないのではないだろうか。
参考
参考ubuntu日本語フォーラム
マウントの際"-o umask=000"オプションを付けるとあるがうまくいかない。
e.g. mount -o umask=0000,remount,rw /mnt/sdcard /mnt/sdcard
かわりに"-o fmask=0000,dmask=0000,..."としてみるがだめだった。
e.g. mount -o fmask=0000,dmask=0000,remount,rw /mnt/sdcard /mnt/sdcard 
参考 Android Enthusiasts 翻訳
参考 is01rebuild @wiki
起動時にマウントするようautoexec.shを加工したが、sdcardのマウントだけでは起動しないアプリ多数。(SDカード上のアプリ)
またtmpfsはいつマウントするのだろう…?



0 件のコメント :

コメントを投稿