HT-03A – ドロイド君39号ROM

2ちゃんねるの「【ROM焼き】docomo PRO HT-03A root29」スレッドが面白い流れに。

QEMUのARM環境へAndroidをポーティングしてみようと思ったけれど、Linux KernelのConfigが面倒くさくて結局ほったらかしに。

BeagleBoard-xMもGingerBread 2.3.4-DevKit2.1がうまくビルドできなくてほったらかし。

前者はドキュメントにこうしろという記述があるけれどそれを調べるだけで嫌になるし、後者は後者でビルド済みの物は動くから、ビルド環境だろうとは思うけれど、それを調べるのも嫌。

結局何が言いたいのかと言えば、「Androidのポーティングって面倒なんですよー」って事なのだけれど、それはスキルが無いことの裏返し。

反省せねばと思っているところへ前述のスレッドでHT-03AのカスタムROMビルドをされた方がいらっしゃった。

坂本氏とのやり取りも参考になるのでメモ。

39氏についてはスレッドの流れ的にドロイド君39号氏と記述させて頂きます(笑)。

元々の発端は39でドロイド君39号氏が

39 :SIM無しさん:2011/09/20(火) 01:41:28.49 ID:Cx9N2b2F
坂本7.1ROMをありがたく使わせてもらってます。

cyanogenmod、自分でビルドしてみたいなぁ、と思いつつ、
kernel.orgの件がめんどくさくて放置してたんですけど、
全プロジェクトがgithubになったのを機にビルドを
試してみたいと思っています。

そこで坂本さんにお願いですが、坂本さんが現時点で
kernelに当てているパッチをすべて明示してもらえないでしょうか。

kernel configは、
scripts/extract-ikconfig sakamoto/boot.img > .config
でいけますけど、スレさかのぼっても確認しても
パッチはいまいちどれがあたってるのかわかりませんでした。

とりあえずわかった奴は、下記のパッチくらいでした。
・BFQ I/O Scheduler をv2r1へVersionUp (XDAのfarmatitoスレよりパッチを拝借)
・lowmemorykiller拡張を導入(ezterryのkernelソースより拝借)
・acpuclock-arm11.c をpershootのに入れ替え

一番ありがたいのは、坂本さんが githubかどこかで
kernel sourceを公開してくれることですが、
それが難しいということであれば、
坂本kernelが問題なくリビルドできるよう
使用パッチを明示してもらえると助かります。

勝手なお願いですが、よろしくお願いします。

それに応じて坂本氏が40

40 :坂本:2011/09/20(火) 20:51:49.39 ID:lQ28VdM6
>>39
ほい。
http://www.4shared.com/file/MR1wZkbH/kernel.html
次のコミットからの差分ね。 commit 37556d9a6f5527474cc7ed25e17fb49febcc8db5 bravo: Fix serial number

41氏も書いていたけれど太っ腹ですな、坂本氏。

以下、坂本氏とドロイド君39号氏のやり取りを抜粋。

42 :SIM無しさん:2011/09/20(火) 23:20:42.67 ID:Cx9N2b2F
>>40
うお、日付が変わらないうちに公開してもらえるとは!
本当にありがとうございます。

Yes!Yes! これで念願の自分ROMが作れるんだぜ。
しばらくこれで遊び倒せるぜ。
みんなも自分仕様のROM作ってみたりしようぜ!!

それでえーと、荒れたりしたらイヤだなぁ、と思いながらも聞いてみます。
タイミング逃すと確認不可能になったりしますし。

このパッチの坂本さん変更部分のライセンスは何ですか?
※ kernelだし GPL かなとも思いますが念の為

自分は個人利用以外は考えていませんが、
このスレの人や興味を持った人がこのパッチを利用する際に
ライセンスがはっきりしている方が利用しやすいと思うので、
回答いただければと思います。

お願いばかりで申し訳ありませんが、よろしくお願いします。

44 :坂本:2011/09/20(火) 23:24:00.77 ID:lQ28VdM6
>>42
もちろんGPL。っていうか変更部分は基本的に拾い集めたものだし。

47 :SIM無しさん:2011/09/20(火) 23:40:06.63 ID:Cx9N2b2F
>>44
おお、素早い回答。
これで安心してROMのビルドに没頭できます。
実際に始めるのは週末からですけど。

pershoot/ezterry/sakamoto って比べると
坂本カーネルが自分の環境では一番具合がよかったので、
パッチを公開していただけたのは本当に助かります。
ありがとうございました。

コムギドットネットさんの閉鎖の話題で少し間が空いたけれど、坂本氏のこんな発言

92 :坂本:2011/09/26(月) 21:56:10.16 ID:qUtclulu
いや、実際のところはcyanogenmodなんだよ。俺は単にビルドしただけ。

いやいや、それだけでも大変ですって。

102 :SIM無しさん:2011/09/27(火) 08:15:00.62 ID:SAvsHfCq
>>95
ちらっと呼ばれたようなので出てきた 39です。

坂本さんは「単にビルドしただけ」、とか言ってますけど、
MODROMの大半は cyanogenmodをちょっとカスタマイズしただけ
だったりするじゃないっすか。
kernelをカスタマイズしてあるという事実だけでも、
「坂本ROM」を名乗るのには十分だと思います。
てか、実際のところは、このスレのみんなが感謝してるっていう事実が、
「坂本ROM」っていう呼称を生み出したんだと思いますです、はい。

ついでに進捗報告。
kernelもsystemもビルド自体は問題なく完了。
けど、リビルドした坂本kernelの kernel module関連(nfs.ko, cifs.koとか)を
どうやって make 一発で system に統合するのかがイマイチよくわかんなくて
悩んでるところ。
kernelとwlan.koは単に新しいので置き換えるだけだから簡単なんだけど、うーむ。
あ、助言は大歓迎です、坂本さん、とか言ってみたり。

いやー、単にビルドっつっても、細々したところでつまづいてけっこー大変。
自分の技術力のせいではありますけども。
Build flavorsの engで ProGuardを有効にしようとしただけでも
けっこう *.mkの山の中と、xdaをさまよっちゃいました。
まぁ、楽しみながらのんびりとやって行きますですよ。

103 :坂本:2011/09/27(火) 20:27:11.85 ID:zg53qGXq
>>102
おっ、着々と進んでるみたいだね。では助言をば。

1. froyoブランチからbuild/core/kernel.mkを持ってくる

2. build/core/Makefileの431行目あたりでkernel.mkをインクルードする

endif # standard ANDROID bootimg (not uboot multiimage)
+include $(BUILD_SYSTEM)/kernel.mk
else # TARGET_NO_KERNEL

3. device/htc/dream_sapphire/BoardConfig.mkの最下行をコメントアウト
#LOCAL_KERNEL := device/htc/dream_sapphire/kernel

4. vendor/cyanogenproducts/cyangen_dream_sapphire.mkの
PRODUCT_SPECIFIC_DEFINES
を有効化する。

これでmake baconすればカスタムkernel組み込まれたzipが出来るはず。

104 :39:2011/09/27(火) 22:29:35.47 ID:SAvsHfCq
>>103
うお、坂本さんだ、ありがたや。

つか、フロヨ、froyoブランチっすか。
方法ないはずがない気がしてたんですが、これはきびしいなぁ。
いや聞いといて良かった。
なんか、危機一髪のところを助けてもらった気分です。

今日はもう寝るので、また明日以降に試してみます。
ありがとうございました。

158 :39:2011/10/02(日) 17:50:53.73 ID:OdkxcI8Z
ROMビルド修行中の 39 です。

えーと、坂本さんに質問です。
坂本さんが CM7に対して行なった変更は下記以外にもありますか?

kernel:  sakamoto customized
locale:  en_US ja_JP
font:   meiryo/emoji
im:    OpenWnn
proguard: enabled
media:  windows media enabled

可能な限り機能は取り込みたいので、回答いただければと思います。
あと、何か「これに気をつけろ」的なことでもあれば。

んで、進捗報告。
今、自ビルドのROMを実機で試してるところ。
HT-03Aの一台持ちだったりするので、
ROM焼くときはけっこうハラハラドキドキしました。
思ってたより順調かな。

161 :坂本:2011/10/02(日) 18:43:32.34 ID:thSOf7GE
>>158
USBアクセサリ対応くらいかな。ただし、
対応機器は多分まだ発売されてないので
ADKで遊ぶくらいしか使い道はないけど。

対応方法は、
device/htc/dream_sapphire/full_dream_sapphire.mk
の2項目に

PRODUCT_PACKAGES += \
com.android.future.usb.accessory

PRODUCT_COPY_FILES += \
frameworks/base/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml

を追加すればOK(kernelは対応済み)。
ここにも解説がある。
ttp://blog.sola-dolphin-1.net/archives/3777819.html

163 :39:2011/10/02(日) 22:05:28.46 ID:OdkxcI8Z
>>161
39です、いつもありがとうございます。

むー、もうほぼ外に出せる状態になってるんだけど、どうしようかな。
うし、対応機器がないってことなら、USBアクセサリ対応は次回に回します。

てことで、ビルド中の機能テストも通ってるし大丈夫だろってことで、
ダウンロードできるようにする準備を始めます。

目標、今日中!

おお~。

んで、ドロイド君39号氏の雄叫び(笑)。

165 :/39 ○  ○ ◆Droid/h2va31 :2011/10/02(日) 23:49:26.45 ID:OdkxcI8Z
ぅおー、時は来たぜ、来たんだぜ、03Aちゃん野郎ども!!
俺の渾身のROMを喰らいやがれ!!!!
ぼそっ...(若干勇み足風味だけどな…

言うまでもなく 39 なんだぜ、密かに準備してた trip付き。
こうしてROMビルドできるようになったのも、
坂本さんと、このスレのみんなのおかげだぜ、感謝ァァ!!

…いやまぁ、気分をageてこうってことっすね。
たぶん待ってたのは、>>159くらいだと思うけど、試せる程度にはなったので、
お暇な人は、まぁ、使ってみてやってくださいませ。

あと、坂本さんが気が向いたらでいいので、ROM焼かなくてもわかる部分だけでも
追試してもらえるとありがたいです。

えー、作成時の方針は
・使わないものは削れるだけ削れ
・どうせする設定は最初からしとけ
な感じです。
機能を取捨選択した以外は、坂本ROM/CM7.1とほぼ変わりません。
kernelもちょっと削ったけど、使用上はあまり関係ないはず。

インストール時の条件とかは、坂本ROMと同じ。
gappsもいつもので。
kernelがダメそうだったら、>>5の奴入れるか、
ezterry/pershootとか入れて下さい。

あ、起動したら「ウィジェットが表示できません」みたいなメッセージが
出るけど、Protips削除したせいなんで、該当メッセージを
長押しして出るメニューでメッセージを削除して下さい。

「まぁ、失敗しても元に戻せばいいだけだし」って
思える人以外は入れないほうがいいかも。

http://www.4shared.com/file/7gBtvOz5/update-cm71rc-20111002-NIGHTLY.html
md5: dd087a3c481e6087e321cf58f0079253 長くなっちゃったなぁ。細かい変更点とかは、次レスで。 166 :/39 ○  ○ ◆Droid/h2va31 :2011/10/02(日) 23:50:19.22 ID:OdkxcI8Z で、Changes。 うさんくさい英語風味なのは、あまり気にしないでちょうだいませ。 build: cyanogenmod 2011/09/29 repository kernel: cm-kernel modified by sakamoto disabled modules: ipv6, squashfs wlan.ko: sta_dk_4_0_4_32 (not from cm-kernel included) note: unsquash system/xbin.sqf locale: en_US, ja_JP only packages: system launcher: ADWLauncher removed: CMWallpapers, FileManager, RomManager, Launcher2, Protips, ThemeChooser, ThemeManager replaced: Gallery3D -> Gallery added: DroidSSHd (using internal dropbear ssh daemon shipped with cm7) config: proguard enabled odexed: framework, ADWLauncher font: japanese: motoya-l-cedar (MTLc3m.ttf) emoji: from http://cova.sakura.ne.jp/sb/, rename to DroidSansFallback.ttf removed: DroidSansArabic.ttf, DroidSansHebrew.ttf, DroidSansThai.ttf build.prop: magic 5lines for battery exclude docomo feature dalvik jit: default on system/etc/hosts: some adblock (admob hosts) apns-conf.xml: jp (docomo, softbank) only gps.conf: change north-america.pool.ntp.org -> jp.pool.ntp.org init.d: add modified S97ramscript from http://forum.xda-developers.com/showthread.php?t=1111145 175 :坂本:2011/10/03(月) 19:50:13.51 ID:5FGdYHoY >>165 乙。入れてみた。動作問題なし。引継ぎ完了かな。 それにしても>>166、こんだけ弄ってれば十分mod名乗れるよ。 >>171 うん、github、2.3.7になってるね。 AOSP見れないってのにcyanogenさん、どうやって手にいれたんだろ。 177 :39:2011/10/03(月) 20:31:10.80 ID:zc1vqYhM >>175 あ、坂本さんだ。 >> 動作問題なし。 テストありがとうございます、ほっとしました。 >> 引継ぎ完了かな。 さみしいこと言わないでくださいよ。 つか、ビルドとか kernel configくらいならいいけど、 ハードに近い部分の kernelさわるとか、ちょっと俺には無理です。 >> うん、github、2.3.7になってるね。 さっき、repo syncしました。 2.3.7、git log 見ると、omapzoom.orgとsyncしてるみたいっすね。 で、whoisしてみると Texas Instruments の管理なのかな。 今ビルドしてるんで、Nightlyってことで未テストのまま出すのも 有りかなぁ、とか考えてます。 178 :/39 ○  ○ ◆Droid/h2va31 :2011/10/03(月) 21:36:12.21 ID:zc1vqYhM ぅおぅおうおう、2.3.7だぜ、2.3.7!!! ふふ、命知らずの03Aちゃん野郎どもにステキなプレゼントだぜ。 試す度胸のあるやつだけが受け取るがいいぜ。 さておき。 いやー、10/29に repo syncしたんだけど、間の悪いことに 自分が syncしたその後くらいに大挙して 2.3.7が流入したみたい。 考えようによっては、2.3.7前で2.3.5の一番安定したところを syncしたとも考えられるから、そういう意味ではついてたのかも。 >>165のやつは、こっちでも 4日くらいテストしてるけど、 今回のは完全に未テスト。単にビルドしただけ。 2.3.7とsyncしたばっかりだから、不安定な可能性あり。 チャレンジャー向け。 健闘を祈る。 んで、ちょっとだけ変更。 font 設定用に system/fonts/fonts.xml を追加。 ソース↓の43行目くらいから記述あり。 frameworks/base/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/FontLoader.java
http://www.4shared.com/file/2WzNI4P8/update-cm71rc-20111003-NIGHTLY.html
md5: f7dd35efa02bcdc33237739146a493a5 181 :39:2011/10/03(月) 22:44:42.17 ID:zc1vqYhM おー、ドロイド君39号的なイメージだったんだけど、 ちゃんと通じててちょっとうれしい。 えと、呼び方は俺に言ってるんだとわかるんならなんでもいいっす。 今日のは 2.3.7記念てことで勢いで上げちゃったから、 わかりづらくなっちゃったかな。 ROMは今ふたつあって、 >>165 たぶん最後の 2.3.5 2011/09/29 sync 2011/10/02 build >>178 未テストの 2.3.7 2011/10/03 sync 2011/10/03 build みたいな感じ。 184 :39:2011/10/04(火) 00:00:34.84 ID:jJoSue3x >>175 ありゃ、webから http://omapzoom.org/ 行っても、 git clone とかしてみても、最終更新 8月だなぁ、何だこりゃ。
404 Not Found
もまだ 2.3.5みたいだし。 坂本さん、もしかしてここまで試して言ってたんですね、さすがだ。 つか、ほんとにどこから入手したんだろ。 もしかして samsung ルートとかあんのかな?

ここまでが今日までの主な流れ。

いや~、凄いですな。おいらも後で試してみよう。

コメント

タイトルとURLをコピーしました