|
カテゴリ:DIGNO
こんなメニューを出すようにする。 準備するもの ・環境 CentOS 6.5 32ビット (VirtualBoxで作成) ・京セラサイトからダウンロードしたカーネルソース ・カーネルソース内のHowToBuildに記載されているandroidソース環境 (Code Aurora Forum (CAF) よりダウンロード) ・xdaからダウンロードしたbootimg_tools.zip ・実機から取り出したrecovery.img リカバリーイメージは、以下のコマンドで解体しておく 【Linux】 # ./split_boot recovery.img ◆リカバリーモードでメニュー表示する 手順) 1) ダウンロードしたソースで、以下を修正する 【linux】 # vi ./bootable/recovery/default_recovery_ui.c
2) コンパイルする 【linux】 # source build/envsetup.sh # choosecombo 1 1 msm7630_surf user # make recovery -j4 ./out/target/product/msm7630_surf/system/bin/にrecoveryが出来上がるので、 bootimg_tools.zip で解凍した ramdisk配下のsbin/recovery に上書きコピーする # cp ./out/target/product/msm7630_surf/system/bin/recovery ~/recovery/ramdisk/sbin/ メニュー操作は、以下の通り ・メニュー呼び出し [HOME] ・選択 [VOL UP][VOL DOWN] ・決定 [MENU] ◆リカバリーモードでSDカードを認識させる。 1)実機からコピーする 【PC】 c:\temp> adb pull /system/bin/linker c:\temp> adb pull /system/bin/rmt_storage c:\temp> adb pull /system/bin/sdgpiocmd c:\temp> adb pull /system/lib/libcutils.so c:\temp> adb pull /system/lib/libstdc++.so c:\temp> adb pull /system/lib/liblog.so c:\temp> adb pull /system/lib/libm.so c:\temp> adb pull /system/lib/libc.so c:\temp> adb pull /system/lib/modules/kc_sdddrv.ko c:\temp> adb pull /system/lib/modules/kc_sdcarddrv.ko 2) 各ファイルをリカバリーモードのramdisk配下のディレクトリに同じようにコピーする ※bin配下のファイルは、chmod 755 しておくこと。 リカバリーモードのadb shellで以下を実行してエラーなくロードできるか確認する。 【adb】 # insmod /system/lib/modules/kc_sdddrv.ko # insmod /system/lib/modules/kc_sdcarddrv.ko ロードできたらデバイスファイルが出来たか確認する 【adb】 # ls -l /dev/block/kc_sd* brw------- root root 252, 0 2015-01-28 15:28 kc_sdcarddrv brw------- root root 252, 1 2015-01-28 15:28 kc_sdcarddrv1 brw------- root root 253, 0 2015-01-28 15:28 kc_sdvd ramdisk配下の/etc/recovery.fstab を修正する 【linux】 # vi ./ramdisk/etc/recovery.fstab
ramdisk配下の/etc/recovery_mmc.fstab を修正する 【linux】 # vi ./ramdisk/etc/recovery_mmc.fstab
3) ramdisk配下のinit.rc、init.qcom.rc を書き換える。 init.qcom.rcがなかったら新規に作る。 【linux】 # vi ./ramdisk/init.rc # chmod +x ./ramdisk/init.rc
【linux】 # vi ./ramdisk/init.qcom.rc # chmod +x ./ramdisk/init.qcom.rc
4) recovery.img を再作成する 【linux】 # cd ~/recovery # ../repack_ramdisk ./ramdisk recovery-new.img-ramdisk.cpio.gz # ../mkbootimg \ --kernel kernel \ --ramdisk recovery-new.img-ramdisk.cpio.gz \ --cmdline 'console=ttyDCC0 androidboot.hardware=qcom' \ --base 0x00200000 \ -o ../recovery_new.img 5) ROM書き込み 【pc】 c:\temp> adb push recovery_new.img /mnt/sdcard c:\temp> adb shell $ au # insmod /data/local/mtd_nandecctest.ko # echo -n "mmcblk0p16" > /sys/kernel/mmc_protect/clear # dd if=/mnt/sdcard/recovery_new.img of=/dev/block/mmcblk0p16 bs=4096 完成 recoveryへリブートして確認する # reboot recovery DIGNOのカーネルでは、MMCのプロテクトが効いているため、このままでは、/systemへの書き込みはできない。記載している中の一部とファイルをごにょごにょする必要がある。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2015年01月29日 12時46分20秒
コメント(0) | コメントを書く
[DIGNO] カテゴリの最新記事
|