Pages

2012年2月23日木曜日

ICONIA TAB A100

結構前に買ったICONIA TAB A100の

純正ICS ROMがリークしてたので、導入してみました。

http://forum.xda-developers.com/showthread.php?t=1510706 ←この辺からDL

外部SDにupdate.zipにリネームしたあとコピー

電源OFF

Volup + 電源で自動的にアップデートが始まります。

導入してみた感想は3.2.1の時よりサクサク感が増した感じです。

まだそんなに弄ってないですが、これから試してみます。

この端末のカスタムROMとか早く出ないかなぁ~

myboot.img 端末への導入

自作カーネルが出来上がったら、端末への導入です。

GalaxyシリーズではおなじみのODINを今回も使いたいとこだったんですが、

どうしても、自作したカーネルだとFlashできません。

なのでboot.img領域に直接書き込みます。

まずは、CWMrecoveryを導入します。ROM Manegerからgalaxy s2を選んで導入

1.電源を切りリカバリーモードで起動(Volup + Voldown + Home +電源ボタン)

2.usb接続してコマンドプロンプト起動

3.adb push myboot.img /tmp

4.adb shell

5.dd if=/tmp/myboot.img of=/dev/block/mmcblk0p8

6.reboot

で完了です。

完全文鎮になる可能性もあるので自己責任でお願いします。


2012年2月19日日曜日

zImageをboot.imgへ

SC-03Dのboot.imgは
/dev/block/mmcblk0p8にあります。これを端末からバックアップ
dd if=/dev/block/mmcblk0p8 of=/sdcard/external_sd/dd/boot.img bs=4096

このboot.imgをLinux環境へ
bootディレクトリ作成
その中にboot.img mkbootfs mkbootimg split_bootimg.plを一緒に入れます。

まずはboot.imgの展開
bootディレクトリに移動して
./split_bootimg.pl boot.img
これで
boot.img-kernel boot.img-ramdisk.gzができます。
このboot.img-kernelがzImage boot.img-ramdisk.gzがinitramfsな感じ。

boot.img-ramdisk.gzを展開
mkdir ramdisk
cd ramdisk
zcat -dc ../boot.img-ramdisk.gz | cpio -i

これで展開できました。
bootディレクトリに出来上がったzImageを持ってきます。
それと
カーネルディレクトリ/obj/KERNEL_OBJ/drivers/net/wireless/bcm4330/dhd.ko
を展開したramdiskの
lib/modulesにコピーで上書き
ramdiskをもう一度圧縮
./mkbootfs ./ramdisk | gzip > new-boot.img-ramdisk.gz

new-boot.img-ramdisk.gzと新しく作ったzImageをboot.imgにする
./mkbootimg --kernel zImage --ramdisk new-boot.img-ramdisk.gz --cmdline "loglevel=4 usb_id_pin_rework=true" -o myboot.img --base 0x40400000 --pagesize 2048

echo -n -e \\x80 > onebyte.bin
dd if=onebyte.bin of=myboot.img conv=notrunc ibs=1 obs=1 seek=22
rm onebyte.bin
chmod u+x myboot.img

myboot.imgの完成です。

お疲れ様でした。


2012年2月18日土曜日

【訂正】SC-03D カーネルビルド環境

前の記事にarm-2009q3でビルドできると書きましたが、
間違ってました。

SC-03Dのコンパイルで必要なのは、androidのソースを落とすと
その中にある/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3これがコンパイラです。

カーネルソースの中にあるbuild_kernel_N034.shを修正

export CROSS_COMPILE_PATH="~  ←ここに先ほどのコンパイラのPATHを入力

上から4行目付近にあるcd の後ろはカーネルソースを置いてあるPATHを入力しました。
(これであってるかは不明^^;でも正常に起動できるzImageはできました。)

KERNEL_DIR= ←このあとはカーネルソースの中にあるkernelディレクトリを指定しました。

あと
export LOCALVERSION=-SC03DOMKLB2-CL888618
export KBUILD_BUILD_VERSION= ←ここは好きな文字を

この2行を
export CROSS_COMPILE=arm-eabi-
の下あたりに追加。

これで端末から
カーネルソースのディレクトリに移動し、
./build_kernel_N034.sh を実行すると
zImageができあがるはずです。

次はzImageをboot.imgにする方法を書きます。

2012年2月5日日曜日

boot.imgの展開方法

まずboot.img展開に必要なもの
・boot.img(初期ROM等から入手)
・split_bootimg.pl(ググればDLできるはず)
・mkbootfs, mkbootimg →https://gist.github.com/1087757この辺参照してください

まずは適当なディレクトリ(フォルダ)を作って
そこに上のファイルをすべて移動
移動したら初めにboot.imgの展開
./split_bootimg.pl boot.img

これを実行すると
boot.img-kernel boot.img-ramdisk.gz この二つのファイルができると思います。

次にboot.img-ramdisk.gzを展開
まずディレクトリを作成

mkdir ramdisk

作ったディレクトリに移動

cd ramdisk

で、次のコマンドを実行
zcat -dc ../boot.img-ramdisk.gz | cpio -i

これでできたramdiskの中身が
SC-02Bの時のinitramfsにあたるのかな?とか思ってます。

カーネルソースはいじらずに
ramdiskにできたinit.rcなどなどをいじるだけでも
カスタムできると思います。
まだ自分は勉強中ですがw

で、これをもう一度boot.imgの形式に戻します。
ramdiskのディレクトリからいったん出ます

cd ../

それからramdiskディレクトリをアーカイブ(この辺の意味はよくわってません^^;)
./mkbootfs ./ramdisk | gzip > new-boot.img-ramdisk.gz

作成した一時ファイルシステムのファイルと、元のカーネルをアーカイブします。
./mkbootimg --cmdline 'loglevel=4 usb_id_pin_rework=true'\
--kernel boot.img-kernel --ramdisk new-boot.img-ramdisk.gz --base ?? -o new_boot.img

これでnew_boot.imgの完成
この時の
--cmdline ' '←この中はsplit_bootimg.plを実行したときに
Command line:~ の部分をそのまま入力
--base の後の数値は今調べ中^^;

tags_addrってのの数値らしいですが、調べ方が。。。
頑張って探しますw

[追記]
hexdump boot.img | head -n1

このコマンドで出てきた数値の一番後ろ4ケタが
--baseの後ろに打ち込む数値なようです。
自分の場合
000000 4e41 5244 494f 2144 49f4 0049 8000 4040
だったので
0x40400000かなと思ってます^^;

./mkbootimg --cmdline 'loglevel=4 usb_id_pin_rework=true'\
--kernel boot.img-kernel --ramdisk new-boot.img-ramdisk.gz --base 0x40400000 -o new_boot.img

になるのかなと思います。
まだ試してないので、これが正解かどうかわかりません^^;
bootをいじるので、失敗すると文鎮になる可能性大なので
自己責任でお願いします




2012年2月3日金曜日

SC-03D カーネルの取得

サムスンのサイトより取得
https://opensource.samsung.com/
検索窓にSC-03Dって入れれば見つかります。

SC-03D_GB_Opensource.zipをDL
このファイルを展開

中にSC-03D_Kernel.tar.gzってのが入ってるので
これも展開
tar zxvf SC-03D_Kernel.tar.gz


ここからSC-02Bの場合
zImageを携帯から取り出すか初期ROMまたはアップデート時のROMから取り出してたんですが、
まだどのファイルをddでバックアップすればいいのかわからず、
しかも初期ROMにはzImageがない。。。
途方にくれていろいろ調べてみると
初期ROMに入ってるboot.imgを展開するとでてくるboot.img-ramdisk.gzってのが
initramfsとイコール?みたいなんで
早速boot.imgの展開方法を検索
次記事で展開方法書いてみようと思います。
今日は眠すぎるのでまた明日w



SC-03D カーネルビルド環境構築

まずは自分の場合主にwindows7を使用してるので、Linux環境の構築から
準備するのは
Virtual Box
Ubuntuのiso
SC-03Dの初期ROM この辺から→http://forum.xda-developers.com/showthread.php?t=1374306
まずはVirtual Boxのインストール
次にVirtual Box にUbuntuインストール
この辺はGoogle先生に聞けばやり方いっぱい出てくるので割愛

ubuntuがインストールでき立ち上がったら、
端末を開き

wget https://sourcery.mentor.com/sgpp/lite/arm/portal/package9728/public/arm-none-linux-gnueabi/arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

wget
http://www.codesourcery.com/sgpp/lite/arm/portal/package5353/public/arm-none-eabi/arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2

でDL開始!
でもまだこのコンパイラであってるか不明^^;
一応makeしてエラーはでなかったですw

次に
tar jxvf arm-2011.09-70-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
tar jxvf arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
で展開

arm-2011.09
arm-2009q3←こんなディレクトリができます

それを
sudo mv arm-2011.09 /opt/
sudo mv arm-2009q3 /opt/
で移動

PATH=/opt/arm-2011.09/bin:$PATH
PATH=/opt/arm-2009q3/bin:$PATH
これでパスを通します。

ここまででクロスコンパイル環境は完了

ただし、これが正しいかどうかは不明ですのであしからずw

[追記]
2012/02/12
コンパイラのバージョン違ってたので、修正しました。





SC-03D

前まえからやりたいと思ってた、PC、smartphone関連のブログ立ち上げてしまったw

先月ついに我慢できず、、、sc-02bからsc-03dに機種変してしまったw

両親がいきなりxiに機種変し、デュアルコアの端末触ってしまったのが原因w

やはりストレスなく動くのはいいねぇ~!って事でSGS3まで待つ予定だったのを

あっさりあきらめて機種変!

でも、まだカスタムが確立されてなく、root取得は簡単だが、カスタムカーネル、ROMなどなど

いまだにない状況!

なので、自分でやってみようって事でとりあえず環境構築してみました。

Google先生とdocomo galaxy sフォーラムを参考に挑戦!

次記事で詳細紹介