ジャンル不定の日記です。

/systemがremountできない・・・

ONDS v719 3G 四核 でFMラジオ使ってみようと思ったんだが、聞けない。

で、
/system/etc/fmr/mt6627_fm_cust.cfg
が設定ファイルぽいんで調べたが、
FMR_BAND_FREQ_L = 875
FMR_BAND_FREQ_H = 1080
と設定している外人を見っけた。

875と1080ってのは、恐らく87.5MHzから108.0MHzの設定。
海外じゃFMの範囲はその範囲らしく、FMラジオアプリでもその範囲にしか合わせられない感じ。
FMラジオが聞けないのは、周波数の範囲が日本にあってなくて合わせることができないからじゃないかと思った。

だから、日本に合わせて、
FMR_BAND_FREQ_L = 760
FMR_BAND_FREQ_H = 900
とすれば聞けそうな気が!


なんだが、今修正しようとしたら、
いつも通り /system が読み込み専用で書き換えができなかったんだが、
remountができない・・・

ちょっと前は公式ファームからツール使ってsuとか入れていつの間にか#できるようになった時はremountして修正できたんだが、
たぶん、今の自力でroot権限使えるようにした状況では/systemいじってないな。
どこいじればremountできるようになるんだろうか・・・

わかんなそうだから、またファーム更新かなあ・・・
system.imgだけの更新ってのも試してみようかな。

Google 2段階認証のアプリケーション固有のパスワード

さっきGoogleの2段階認証設定したんだが、
設定したらKmailが接続できなくなったようで再ログインのダイアログが出てきた。

で、2段階認証するとHTTP以外での接続だとGoogleのサービスが使えないわけで、
そういう時のために「アプリケーション固有のパスワード」というものが設定できる。

が、これ凄く危ないだろw
ログイン用のID(メールアドレス)と、アプリケーション固有のパスワードとやらの組み合わせで、
普通にGoogleにフルアクセスできるらしい。
パスワードはランダム生成で16桁と、普通の強度しかない。
これ一個でも設定しちゃったら2段階認証の意味がないどころか、
パスワードが増えちゃって2段階認証使わないよりも危ないだろw

というわけで、KmailでGmail使うのは諦めて無効にした。
んだが、なんか無効にしたのに受信できてるぞwww
いつ無効になるの・・・

無線LANにつながらない・・・

初期設定も終わった感じだし、そろそろPlayStoreに・・・

と思ったら、ルータに無線接続しようとしたら、
「IPアドレスを取得中」
で止まって繋がらない・・・
ルーターの方ではDHCPでリースされてる。

ググったらどうもAndroidで同じようにDHCPで繋がらない人が多いようで、静的アドレスで解決してる人が多かった。
端末側の問題だと、この方法だと外出中に使おうと思ったら困るけど、とりあえず固定IP設定した。
繋がった。

SDカードにリンク張るのダメだった

SDカードにリンク張るのダメだった。
ext4のSD上に /data/app 同じ状態でコピーしてリンク張ってみたが、再起動したらアプリが消えてた。

というわけで、ext4のSDだと破損しているとか言われちゃうし、SDカードを内部ストレージにするのは諦めた。
あと、端末届いた状態ではswapは存在しなかったんだが、公式ファームだと最初から400Mほどswapが有効だった。
/enableswap.sh ってスクリプトがやってるのかな?
ファームの容量変わるとサイズ変動するような気がするから、空き領域がswapになるのかな?
リアルメモリも1GBあるわけだし、swapが400MBあれば問題無さそう。
SDをFATにすれば普通に使えるし、SDをext4で使うのはやめるわ。


後、いつの間にかadbが普通に#になってたんだが、
SDのリンク作業でアプリ消えちゃったから再度ファーム作りなおして更新したが、
その際に、ツールで入ったと思われる、
/system/xbin/su
/system/xbin/sugote
を最初から入れといたんだが、
そうしたらツール使わない状況で最初から#になったわ。

怪しいツール使わずroot化出来てだいぶ良い感じになったが、
/system/app に入ってるアプリがほぼ消せないぽいんで、/data/app に入れたら消せないかな?
というわけで、再度ファームのカスタマイズ。
なんだが、/system/appには、.apkだけのと.odexが存在するのがあった。
とりあえず、.apkだけのは移動して平気と思ったんで全部移動。
したら、端末起動しなかったw
移動させたのがまずいのか、userdata.imgのりパックに問題があったのかはわからない。

再度ファーム更新が必要になったが、
今度は、/system/app内にある中華アプリと思われるものをrmして作った。
そしたら中華アプリ無しで起動した。
この方法でいいわ。
/data/appの方は端末上で普通に消せるんで、userdata.imgは公式ファームのものに戻した。

だが、この回のファームカスタマイズの際に、
/system/xbin/su
/system/xbin/sugote
を入れずにやったからだと思うんだが、
adbが$になっちゃった・・・
adbってsuで起動するん?

というわけで、再度更新。
まあ、良い感じになってきたんで、手順書いとく。



boot.imgのカスタマイズ。
公式ファームのboot.imgは、unpack-MTK.plというスクリプトでアンパック、repack-MTK.plでリパックができた。
たぶんここが公式。

./unpack-MTK.pl boot.img
でアンパック。
カーネルが boot.img-kernel.img に出力され、
ファイルシステムが boot.img-ramdisk に展開される。

/default.prop の変更は、
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
の3箇所。
変更目的はadbを#にすることだが、この変更意味ないかも・・・

boot.img の変更は以上なのでリパック。
./repack-MTK.pl -boot boot.img-kernel.img boot.img-ramdisk boot.img.new
とすれば、カスタムイメージがboot.img.newに出来上がる。
オリジナルがあった場所に置いて、MTKのFlashToolで書き込める。


system.imgのカスタマイズ。
今度は simg2img でアンパック、 make_ext4fs でリパックできた。
この2つは ext4_utils ってパッケージみたいなんだが、母艦がArchでAURにあったからそれ使った。
だが、AURにあるやつはPKGBUILDがARM専用になってるんで、PKGBUILDを、
arch=("x86_64")
に修正する必要があった。

simg2img system.img system.img.tmp
で、普通にマウントできるext4のイメージが system.img.tmp に出力される。
mount -o loop system.img.tmp mnt
って感じでディレクトリにマウントできる。

マウントポイントが/systemになるわけだが、build.propを、
ro.product.locale.language=ja
ro.product.locale.region=JP
persist.sys.timezone=Asia/Tokyo
の3箇所を修正した。
これで起動時に最初から日本語で日本時間になる。

system.img内のappディレクトリは、ほぼ端末上で消せないアプリなんで、rmで消す。
中華アプリと思われる以下のapkを消した。
ONDA_AnZhi_V5_1_20140124.apk
ONDA_QQ_IME_v42.apk
ONDA_Tudou_v3.1_1223.apk
ONDA_WpsOffice_v59.apk
ONDA_iReader_V2720_20140106.apk
OndaHelp_20140415.apk
UCBrowser_V3.0.0.apk
game.apk
acount.apk
OperaService.apk
userdata.img内にあるapkは端末上で普通に消せるので、それと合わせて不要な中華アプリはほぼ消せたが、まだ若干ありそう・・・
まあ、残りは端末上で無効にするだけにしておく。

system.imgの修正は、他に、
xbinにsuとsugoteを入れた。
adbが#なのか$なのかは、/default.propではなく、suかsugoteの存在な気がする。
いまいち条件がわからないんだが、このバイナリがないと$になっちゃっうぽかった。
この2つのバイナリは怪しいroot化ツール使ったらいつの間にか入ってたんでバックアップしといたやつ。
使ったら入ってたツールは、「SuperOneClick」ってやつじゃないかと思う。

以上でsystem.imgの修正は終わり。
make_ext4fs -l 734003200 system.img.new mnt
って感じで、system.img.new にカスタマイズした system.img が出力される。
-l オプションは出力されるイメージのバイト数だが、小さすぎても大きすぎてもダメだと思う。
simg2imgで出力される生イメージと同じ程度にしとけば良さそう。


ファーム更新ができたら、端末上で普通に消せる中華アプリの駆除。