現在時刻 - 2017年12月14日(木) 15:27


【質問トピ】 質問はこちらへ

カーネルやカスタムROMに関する話題・質問はこちらへ

モデレータ: HTCモデレータ

  • 作成者
  • メッセージ

caplio

  • 記事: 32
  • 登録日時: 2013年5月25日(土) 17:58

【質問トピ】 質問はこちらへ

投稿記事2013年6月05日(水) 14:10

カーネルやROM焼きなどのカスタム関連の質問はこちらでどうぞ。

テンプレをご利用下さい。(この記事の引用返信で簡単に使えます)
-----------------------------------------------------------------------
[質問内容]
タイトル: (簡潔に質問を記入)
内容 : (できるだけ詳しく)

再現性: 有 ・無
再現手順: (不具合関連で再現性がある場合)
ログ: (任意ですがあると修正が容易です)

[発生環境]
機種: HTC J / HTC J Butterfly / HTC J One
カーネルバージョン:
ROMバージョン:
ベースバンドバージョン:
-----------------------------------------------------------------------

#テンプレはSamsungスレから拝借致しました :)

aaa

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月16日(日) 21:29

[質問内容]
タイトル: RUUベースのROMをAndroidKitchenでビルドする際のupdater-scriptについて
内容 :
フォントや配布されているModPackを組み込んだ自分用のRUUベースROMをAndroidKitchenで作ってみようと思ったのですが、実際にリカバリーからインストールしようとするとエラーがでます。
neroyoung氏のチュートリアル([Guide]Complete Android ROM development and essential tutorials ~~ By Nero Young ~~)にあるMETA-INF.rarに含まれるupdater-scriptを使いましたが、xdaのFAQを見る限りエラーの原因はupdater-scriptのようです。
updater-scriptというのは 機種 or ROM ごとに自分で書くものなのでしょうか?
また、そうだとして参考になる サイト or scriptを含むROM はありますか?



[発生環境]
機種: HTC J Butterfly
AndroidKitchen 0.223

----------------------------------

caplio

  • 記事: 32
  • 登録日時: 2013年5月25日(土) 17:58

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月17日(月) 01:21

aaa さんが書きました:updater-scriptというのは 機種 or ROM ごとに自分で書くものなのでしょうか?
また、そうだとして参考になる サイト or scriptを含むROM はありますか?
----------------------------------


updater-scriptは、ROMやインストールしたい内容毎に、
中身は書き換える必要があります。

手で書き換える場合は、Googleで調べて出てきた
Blogなどのページを参考にしてもらうのが早いと思います。

例)
Chimtty's Note 自分専用update.zipの作り方、updater-scriptの書き方
http://chimtty.blogspot.jp/2012/08/upda ... sc04d.html

あと確か簡単にupdater-script書いてくれるBATスクリプトがあった気がします。
Android Kitchen的なものが確か(誰かフォローお願いします

#エラー内容とかupdater-scriptの中身とかあればまた違うアドバイスが
#貰えるかもしれません。
アバター

puchi0423

  • 記事: 14
  • 登録日時: 2013年5月26日(日) 15:26
  • お住まい: さいたま

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月18日(火) 16:24

タイトル:カーネルビルド時のmakeコマンドでのエラー
内容 :
dlxjのhtcdevからダウンロードしたカーネルソースをビルドしようとして、makeコマンドを実行したところ、以下のエラーが発生しました。

drivers/gpu/msm/adreno.c: In function 'adreno_iommu_setstate':
drivers/gpu/msm/adreno.c:399: warning: the frame size of 1064 bytes is larger than 1024 bytes; see http://go/big_stack_frame
error, forbidden warning: adreno.c:399
make[3]: *** [drivers/gpu/msm/adreno.o] エラー 1
make[2]: *** [drivers/gpu/msm] エラー 2
make[1]: *** [drivers/gpu] エラー 2
make[1]: *** 未完了のジョブを待っています....

少しググって見たのですが、どうもtoolchainにarm-eabi-4.6使用しないとダメらしいとの情報がありました。
dlxjのカーネルソースのreadmeを参考に
git clone https://android.googlesource.com/platform/prebuilt
を実行しましたが、出来上がったplatformはarm-eabi-4.4.3でした。
どうすればarm-eabi-4.6が作れるのでしょうか、情けない初心者に教えていただけますか。

[発生環境]:win8のvirtualboxでubuntu12.04-64bitを稼働
機種: HTC J Butterfly
-----------------------------------------------------------------------

caplioz

管理人

  • 記事: 64
  • 登録日時: 2013年5月25日(土) 11:12

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月18日(火) 19:11

warning: the frame size of 1064 bytes is larger than 1024


これは、configのFRAMEサイズが足りないよって内容なので、
defconfigの CONFIG_FRAME_WARNの値を 1064以上にすればOKです

arch/arm/configs/deluxe_j_defconfig を書き換えてから、
$ make deluxe_j_defconfig
$ make -j4
とかすればOKだと思います。

または、make menuconfig で、
Kernel hacking->Warn for stack frames larger than (needs gcc 4.4).
の値を1064以上にしてみればOKかな。

参考URL:http://astro.temple.edu/~tue68607/project/articles/customized-android-aospsystem-nexus4.html

少しググって見たのですが、どうもtoolchainにarm-eabi-4.6使用しないとダメらしいとの情報がありました。


今使ってるtoolchainは何を使ってるんだろう?
make自体は進んでるみたいだから、そのままでも大丈夫な気もします。
アバター

puchi0423

  • 記事: 14
  • 登録日時: 2013年5月26日(日) 15:26
  • お住まい: さいたま

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月18日(火) 20:05

早速の回答ありがとうございます。
caplioz さんが書きました:warning: the frame size of 1064 bytes is larger than 1024

これは、configのFRAMEサイズが足りないよって内容なので、
defconfigの CONFIG_FRAME_WARNの値を 1064以上にすればOKです

arch/arm/configs/deluxe_j_defconfig を書き換えてから、
$ make deluxe_j_defconfig
$ make -j4
とかすればOKだと思います。


arch/arm/configs/deluxe_j_defconfigのバックアップ取得後、CONFIG_FRAME_WARN=1024をCONFIG_FRAME_WARN=1064に変更してから、
$ make deluxe_j_defconfig
$ make -j8 2>&1 | tee `date +%Y_%m_%d_%s`_make.log
でzimage まで出来上がりました。感謝です。
とりあえず、ログを添付してみます。

今使ってるtoolchainは何を使ってるんだろう?

toolchainはarm-eabi-4.4.3になってます。

今度は、boot.imgの作成法を調べてチャレンジします。
添付ファイル
2013_06_18_1371552017_make.log
(81.29 KiB) ダウンロード数: 157 回

caplio

  • 記事: 32
  • 登録日時: 2013年5月25日(土) 17:58

boot.img作成について

投稿記事2013年6月19日(水) 18:12

zImageまで問題なく進んでますね。<ログ

zImageをそのままfastbootから焼く事も出来ますが、多分そのままだと、
モジュールのloadに失敗してWifiが起動しなかったり問題が結構出ると
思います。

なので、大抵はboot.imgファイルを作成して、それから起動するという
流れになります。

簡単に書くと・・・

 ● 純正のboot.imgをunpack-bootimg.pl でばらしてramdiskを手に入れる
 ● ramdisk に、カーネルビルド時に作成されたモジュールファイル( *.ko )を コピーする。
 ● repack-bootimg.pl で作成した zImage とばらしたramdiskをくっつける。

という流れでしょうか。

ビルドに使うファイルはこちらをどうぞ
https://github.com/caplio/dlxj-kernel/tree/master/build-tools

あと上の流れをそのままshellにしたものはこちら。
boot.img-ramdiskは、unpackして出来たものを置いてます。
https://github.com/caplio/dlxj-kernel/blob/a18f0e0bd5b5cc1c0b771083babf4f26da3484bd/create.sh
(outputディレクトリを作成してあげて下さい・・)

■モジュールファイルについて

HTCDEV付属のreadmeだと、*.koファイルをROMにコピペしてますが、
init.target.rc に以下のtmpfsのトリック入れると、ROM側に毎回コピーを
しなくても、カーネルだけで対応出来るようになります。

#ROM(/system)側に、元々/system/lib/modules/があるものを、
#カーネル側のファイルが優先するように処理している感じになります。

export EXTERNAL_STORAGE5 /storage/usb の下辺りに追記してます。

コード: 全て選択
   mount tmpfs tmpfs /system/lib/modules   
   symlink /lib/modules/eeprom_93cx6.ko /system/lib/modules/eeprom_93cx6.ko
   symlink /lib/modules/test-iosched.ko /system/lib/modules/test-iosched.ko
   symlink /lib/modules/spidev.ko /system/lib/modules/spidev.ko
   symlink /lib/modules/scsi_wait_scan.ko /system/lib/modules/scsi_wait_scan.ko
   symlink /lib/modules/msm-buspm-dev.ko /system/lib/modules/msm-buspm-dev.ko
   symlink /lib/modules/bcmdhd.ko /system/lib/modules/bcmdhd.ko
   symlink /lib/modules/qce40.ko /system/lib/modules/qce40.ko
   symlink /lib/modules/qcedev.ko /system/lib/modules/qcedev.ko
   symlink /lib/modules/lcd.ko /system/lib/modules/lcd.ko
   symlink /lib/modules/ansi_cprng.ko /system/lib/modules/ansi_cprng.ko
   symlink /lib/modules/qcrypto.ko /system/lib/modules/qcrypto.ko
   symlink /lib/modules/reset_modem.ko /system/lib/modules/reset_modem.ko
   symlink /lib/modules/ks8851.ko /system/lib/modules/ks8851.ko
   symlink /lib/modules/bluetooth-power.ko /system/lib/modules/bluetooth-power.ko
   symlink /lib/modules/gspca_main.ko /system/lib/modules/gspca_main.ko
   symlink /lib/modules/evbug.ko /system/lib/modules/evbug.ko
アバター

puchi0423

  • 記事: 14
  • 登録日時: 2013年5月26日(日) 15:26
  • お住まい: さいたま

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月20日(木) 08:40

caplioさん
boot.img作成手順まで丁寧に説明していただき、ありがとうございます。
なかなか作業時間が取れないのですが、近いうちにやってみます。

htcsoku

  • 記事: 48
  • 登録日時: 2013年5月26日(日) 22:40

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月20日(木) 14:14

aaa さんが書きました:[質問内容]
タイトル: RUUベースのROMをAndroidKitchenでビルドする際のupdater-scriptについて
内容 :
フォントや配布されているModPackを組み込んだ自分用のRUUベースROMをAndroidKitchenで作ってみようと思ったのですが、実際にリカバリーからインストールしようとするとエラーがでます。
neroyoung氏のチュートリアル([Guide]Complete Android ROM development and essential tutorials ~~ By Nero Young ~~)にあるMETA-INF.rarに含まれるupdater-scriptを使いましたが、xdaのFAQを見る限りエラーの原因はupdater-scriptのようです。
updater-scriptというのは 機種 or ROM ごとに自分で書くものなのでしょうか?
また、そうだとして参考になる サイト or scriptを含むROM はありますか?



[発生環境]
機種: HTC J Butterfly
AndroidKitchen 0.223

----------------------------------


自分はAndroid Kitchenは展開・deodex等でしか使ってないです。
署名zipとWinRARが有れば後は差し替え入れ替えと言った感じです。

update-scriptはblog等を見るのも良いですが、XDA等の先人の方のROMをダウンロードして参考にするのが一番解りやすくていい感じがします。
自分はそうしました
アバター

puchi0423

  • 記事: 14
  • 登録日時: 2013年5月26日(日) 15:26
  • お住まい: さいたま

Re: 【質問トピ】 質問はこちらへ

投稿記事2013年6月23日(日) 22:44

puchi0423 さんが書きました:caplioさん
boot.img作成手順まで丁寧に説明していただき、ありがとうございます。
なかなか作業時間が取れないのですが、近いうちにやってみます。

本日、オリジナルのカーネルソースですが、boot.imgまで作成でき、起動確認もできました。
いろいろとご指導ありがとうございました。
これから、カスタムに挑戦したいと思います。
次へ

Return to 開発全般

cron