■カーネル書き換えソフト
- IS01 Hacked Kernel #001を書き込む(recovery領域)
- アドホック対応化
- recovery領域のバックアップ
※同梱された「readme.txt」より抜粋。
■リンク
■カーネル1
624
カーネル入れ替えの方法が確立されたっぽい。
ツールの改造が必要だったりと敷居は高いみたいだけど。
http://www.gcd.org/blog/2010/12/682/
625
>>624
ほぼ完成してますよ。これ。フラッシュの損耗なんかたいした問題とも思えないが。
#IS01 、仙石さんのubi.img http://j.mp/dU7ChW をそのまま書いて、
SDにswap作っただけで恐ろしく快適になった(swapはMarketで
ダウンロードできるSwapperで簡単設定可)。ブラウザ使っても
他がkillされないだけでこんなに快適とは
■カーネル2
634
自分が使ってる改造カーネルをアップ。動作保証はできないけど。
http://www.megaupload.com/?d=QA6TOXY8
639
>> 634
NVさんイメージありがとうございます。但し
/default.propの
ro.secure=0
のままなので、adb shell でrootになれません。
とりあえず、ubi.imgにバイナリーパッチ当ててOKに出来ましたけど。
sengokuさんのブログでもこの部分ro.secure=0としてありましたけど、
ro.secure=1とすることでadb shellだけで#プロンプトが出るようになります。
640
>>639
ro.secureは、tcpipを使えなくするために1のままにしてあります。
代わりに、adb rootでadbdを再起動することによって、#プロンプトが出るようになります。
958
SWAP ONにして使っていたらフリーズしたので報告
NVさんの HACK カーネルを利用させて頂いて SWAP 128MB で使っていたのですが、
2時間ほどして、画面がブラックアウトしていてキーを受け付けない状態になりました。
バックライトが薄く点いている状態で、電源を切ることができなくなっていたので
電池外して復旧しました。
通常bootして今はスワップ無しで動いています、SD カードの内容も読めています。
1.00.07
176
カーネルをお手軽に改造できるソフトを作ってみた。人柱求む。
http://www.megaupload.com/?d=JOONZLDV
190
>>176
2.6.29-perf
nvsofts@cimo#2
へのカーネル書き換え成功確認しました
ベースバンド01.00.02のrooted済みで前回のNVさんのカーネルから書き換えました
193
>>190
中身はIS01 Hacked Kernel #001と一緒なので、recoveryを元に戻してから書き換えを行ったらどうなりますか?
192
>>176
カーネルバージョンが↑と一緒に書き換わって起動することを確認しました。
1.00.07
一応、Android-SDK はインストール済みでパスを通してあるPC環境です。
他、IS01rooter002 インストール、実行済み
195
>>193
自分は recovery_rw を元に戻した状態で書き換えたので、
正常に更新できていると思います。
(以前にNVさんのハックカーネルにしていたが、SWAP ON でフリーズの症状が出た為、年の為に recover_rw をバックアップから復元してました。)
197
>>195
大丈夫そうですね。ありがとうございます。
アドホック対応化スクリプトをアップしておきます。正常に動作するかはわかりません。
http://www.megaupload.com/?d=MT9LRIGF
218
NVさんおつかれっす。カーネルに関してはmobilehackersさんがrooterで対応してくれるのかな
まだ様子見
821
>>820
v1.00の場合、画面は通常のrecovery画面と一緒です。
また、$ toolbox mount の情報で、/systemがマウントされていません。
v1.10の場合、画面は通常のrecovery画面とは左右反転しています。
また、$ toolbox cat /proc/version のカーネルのビルドPCがnvsofts@cirnoになっています。
IS01 Super Tuner v1.10です。アドホック対応化の修正とrecovery領域のリストアの追加を行いました。
http://www.megaupload.com/?d=UJ637AYD
■カーネルの入れ替え:注意点1
765
前にも誰かが書いてたけど、system_wrいじると文鎮化するね
■カーネルの入れ替え:注意点2
798
カーネルコンパイルすると
いくつもエラー吐くなあ
なんだこのソース
799
>>798
そのままだとエラーが出てコンパイルできない。
ここを参考にしてコンパイルを。
http://d.hatena.ne.jp/nigaky/20101118/1290094627
800
>>799
トン
smd_private.hのincludeは修正したけど他にもまだエラー吐くんだよ
これ専用のクロスコンパイラ必要なの?
俺gcc-4.4.5をビルドしたやつ使ってるんだけど
802
>>800
IS01 Hacked Kernel #001は、Android NDK付属のarm-eabi-gcc(gcc-4.2.1)でビルドしてる
■カーネルの入れ替え (insmod+を同梱):パスはdeckard
924
ある程度使える代物ができたので、コンパイル済みのmoduleをアップしました。
ttp://uploading.com/files/3c826577/rachael-0.0.alpha.1.zip/
パスはdeckardです。
このmoduleをロードすると、/procに以下のファイルが追加されます。
/proc/rachael/modules_disabled
1→0の変更が可能な、/proc/sys/kernel/modules_disabledの別名。
# echo '0' > /proc/rachael/modules_disabled
でmodule操作の再有効化ができます。
/proc/rachael/security_ops
DECKARD LSMの設定。'1'が有効、'0'が無効。
# cat /proc/rachael/security_ops
などと読み出せば今の設定が分かり、
# echo '0' > /proc/rachael/security_ops
などと書き込めば設定を変更できます。
/proc/rachael/nand_protection (※)
NAND Lockの設定。ビットフラグ。1で有効、0で無効。
下位ビットから順に、"boot"、"recovery"、"system"に対応します。
初期状態では'7'、つまり0b111で、全て有効になっているはずです。
例えば、
# echo '5' > /proc/rachael/nand_protection
などとすれば、0b101となるので、"recovery"だけが解除されます。
(続く)
925
(続き)
/proc/rachael/nandinfo
読み出し専用。現在のs_protect_info[]の値、つまりNANDの保護状態を、
.flg、.start、.endの順に表示します。全て十進表記です。
dmesgで分かるNANDの領域情報と比較することで、moduleがNANDの情報を
正しく認識しているかの確認ができます。また、nand_protectionへの
書き込み操作も反映されます。
/proc/rachael/ksyms
読み出し専用。moduleが解決したkernel symbolの情報を/proc/kallsyms
と同様の形式で表示します。最初は空ですが、上で書いた操作を行うと
増えていきます。
現バージョンでは、非実装の部分を補うために、ロード時のアドレス指定が
必須となっています。それを自動で行うローダinsmod+を同梱してあります。
module名がrachael.に一致する場合には、必要な引数を検出して追加します。
# ./insmod+ rachael.ko
などと使います。
また、※をつけたnand_protectionは、危険性が段違いなので、ロード時に
i_cannot_tell_is01_from_glasses_case=1というオプションを付けないと
出現しないようにしてあります。NANDの書き込みについては、実験できる
機体がなく、まだ試していません。
942
昨夜のモジュールを手直しして再アップしました。
ソースコードの整理もできたので、同梱してあります。
ttp://uploading.com/files/ma15b27m/rachael-0.0.beta.1.zip/
パスはdeckardです。
簡単なコード解析でアドレス検出を行いますので、ソースの該当部分に変更がなければ、
カーネル再構築でずれたとしても問題なく追従します。
977
エラー処理で甘い所があったので修正です。今回はソースを分離しました。
なぜか片方だけzipだとアップできなかったので7zにしてあります。中々アップ出来ず疲れた…
ttp://uploading.com/files/faff9af4/rachael-0.0.beta.2.7z/
ttp://uploading.com/files/m64ma8db/rachael-0.0.beta.2-src.zip/
パスはdeckardです。
371
./insmod+ -f rachael.koで普通にロードできた。
何だこれ。
377
素の01.00.07なんだが、
/sh_tmp # lsmod
unifi_sdio 294368 0 - Live 0x7f000000
/sh_tmp # cat /proc/sys/kernel/modules_disabled
1
/sh_tmp # ./insmod+ -f rachael.ko
force loading...
insmod rachael.ko addr=0x800a206c
/sh_tmp # lsmod
rachael 11660 0 - Live 0x7f0aa000
unifi_sdio 294368 0 - Live 0x7f000000
/sh_tmp # cat /proc/sys/kernel/modules_disabled
1
何かおかしくね?
378
>>377
insmod+使うと、modules_disabledが1でもロードできるっぽい。
どうやってやってるかは知らないけど。
380
>>378
レスさんくすです。
俺の勘違いじゃなくて良かった。
381
いや、良かないか。新手の罠か?
382
中身を覗いてみたけど、なんかの脆弱性を突いてる気がする。
383
しれっとすごいコードがリリースされてるんだな…
■カーネルの入れ替え:その他もろもろ
935
NDKのクロスコンパイラ使ってもカーネル構築できないなあ
初期化前の変数を参照してるエラーがいくつも出てくる
構築してる人はソース修正してる?
941
>>935
CFLAGSの-Wallをはずしてあげれば、そのあたりはエラーにはならないですよ。
kernelソースのトップにあるMakefileの
HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
や
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
の-Wallを消してビルドしてみてください。
あとは関数のStack利用サイズのチェックでエラーがでる場合はkernelのトップにある
.config内の
CONFIG_FRAME_WARN=1024
を2048に増やしてあげれば大丈夫です。
943
>>941
ありがとうございます
warningを吐きますが、バイナリ出力まで通りました
というか、公開ソースで配布(出荷)バイナリを構築できないなら、GPLに反してるんじゃ…?
168
JN-DK01のオープンソース版boot.imgで起動させようとしたけど、ISロゴから進まない。
この時点では、recovery_kitでカーネルを元に戻すことはできた。
170
>>168
報告乙です。自分はSystemまで焼いてしまったので復旧に四苦八苦中。
172
>>170
system領域は、直接焼かないでtarとかでファイルを展開する形の方が良いかもしれませんね。
944
応援・雑談スレで聞いていたのですが、ROM焼きにも関係するので、
こちらに移動します。本スレ828でrecovery.img は展開できました。
system.img(ddでmtd5) を展開するにはどうしたら良いんでしょうか?
unyaffs ではエラー出ましたし…。
system.img 取り込み→PC側で展開&再構築→書き戻し
という事を行いたいのです。
945
>>944
system.imgのダンプを見てみましたが、NANDのoob領域がダンプで来ていないようです。
対応版のdump_imageを作成してみましたので、こちらでsystemとuserdataのダンプをしてみてください。
ソース付きです。
http://hotfile.com/dl/89720710/8209e6f/is01_mtdutils.zip.html
こちらでダンプしたものであれば、普通にunyaffsできると思います。
946
dump_imageのスタティックビルド版も入れておきました。
http://hotfile.com/dl/89721932/90bc0eb/is01_mtdutils2.zip.html
948
>>945 >>946 goroh_kun
ありがとうございます。早速、試してみました。
PC側は ubuntu x64です。
$ unyaffs system.img
Segmentation fault
展開結果を見ると、~padding58.pad まではpadファイルが出来てます。
system内にはpadding63.padまであるようです。
そもそも、このpadファイルがなにかイマイチ不明なのですが…。
unyaffs の出力が mkyaffs2image で元に戻るかどうかを試すつもりですが、
unyaffs がどこでこけているか、もうちょっと見てみます。
972
mkyaffs2imageで作ったイメージをubinizeしてから書いたらどうだろう。
974
>>972
systemとuserdataはubiにはなっていませんので、やらないほうが良いかと思います・・
ubiファイルシステムが使われているのは、boot, recovery, iplの3領域のみです。
最終更新:2010年12月17日 21:51