「Android」ZTE V880(Blade)內核編譯過程實錄

 

原文地址http://www.cnblogs.com/scue/archive/2012/11/12/2765813.html

由於之前手機是雙卡的,不好研究,現在弄到一臺中興V880,今天早上來編譯內核一下~

-1. Blade Kernel 2.6.35.7 Download page

Github :https://github.com/TomGiordano/kernel_zte_blade
官方網站:http://support.zte.com.cn/support/news/NewsDetail.aspx?newsId=1001722

0. 前邊的步驟略過一下先,不過也寫有在U8825D內核編譯過程實錄當中有記錄,最主要的是export變量的配置上

1. 查找官方內核中的配置文件

scue@Link:~/Source/kernel/v880$ find ./arch/arm/configs/ | grep blade ./arch/arm/configs/msm7627_blade_defconfig scue@Link:~/Source/kernel/v880$ 

 可以確定爲配置文件爲./arch/arm/configs/msm7627_blade_defconfig

2. 開始make 配置文件 

複製代碼
scue@Link:~/Source/kernel/v880$ make msm7627_blade_defconfig   HOSTCC  scripts/basic/fixdep   HOSTCC  scripts/basic/docproc   HOSTCC  scripts/basic/hash   HOSTCC  scripts/kconfig/conf.o scripts/kconfig/conf.c: 在函數‘conf_sym’中: scripts/kconfig/conf.c:159:6: 警告: 變量‘type’被設定但未被使用 [-Wunused-but-set-variable] scripts/kconfig/conf.c: 在函數‘conf_choice’中: scripts/kconfig/conf.c:231:6: 警告: 變量‘type’被設定但未被使用 [-Wunused-but-set-variable] scripts/kconfig/conf.c:307:9: 警告: 忽略聲明有 warn_unused_result 屬性的‘fgets’的返回值 [-Wunused-result] scripts/kconfig/conf.c: 在函數‘conf_askvalue’中: scripts/kconfig/conf.c:105:8: 警告: 忽略聲明有 warn_unused_result 屬性的‘fgets’的返回值 [-Wunused-result]   HOSTCC  scripts/kconfig/kxgettext.o   SHIPPED scripts/kconfig/zconf.tab.c   SHIPPED scripts/kconfig/lex.zconf.c   SHIPPED scripts/kconfig/zconf.hash.c   HOSTCC  scripts/kconfig/zconf.tab.o   HOSTLD  scripts/kconfig/conf drivers/usb/gadget/Kconfig:849:warning: defaults for choice values not supported drivers/usb/gadget/Kconfig:1053:warning: defaults for choice values not supported arch/arm/configs/msm7627_blade_defconfig:1484:warning: override: reassigning to symbol OV5642 # # configuration written to .config # scue@Link:~/Source/kernel/v880$ 
複製代碼

 make完畢,有一些警告,但不是錯誤,可以不理會它(暫時也沒空去分析、要上課了)

3. 開始編譯V880手機內核

複製代碼
scue@Link:~/Source/kernel/v880$ make -j8     ...        OBJCOPY arch/arm/boot/zImage     Kernel: arch/arm/boot/zImage is ready scue@Link:/media/scue/Source/kernel/zte-kernel-blade$ cp arch/arm/boot/zImage http://www.cnblogs.com/v880-bootimg/zImagescue
複製代碼

4. 解包現有的手機內核

複製代碼
scue@Link:/media/scue/Source/v880-bootimg$ bootimg --unpack-bootimg v880_boot.img arguments: [bootimg file] bootimg file: v880_boot.img output: kernel[.gz] ramdisk[.gz] second[.gz] base=0x2600000 page_size=2048 name="" cmdline="androidboot.hardware=blade console=null" padding_size=2048
複製代碼

5. 打包V880手機內核

 (方法一,mkbootimg打包)

複製代碼
scue@Link:/media/scue/Source/v880-bootimg$ ls -l 總用量 20856
-rw-r--r-- 1 scue scue 3721216 11月 12 17:38 boot2.img -rw-r--r-- 1 scue scue 5242880 11月 12 09:43 v880_boot.img -rw-rw-r-- 1 scue scue 3540992 11月 12 17:49 v880_boot.img-kernel.gz drwxrwxr-x 8 scue scue    4096 11月 12 17:49 v880_boot.img-ramdisk -rw-rw-r-- 1 scue scue 1699840 11月 12 17:49 v880_boot.img-ramdisk.cpio.gz -rwxrwxr-x 1 scue scue 3567788 11月 12 17:11 zImage -rwxrwxr-x 1 scue scue 3567812 11月 12 17:21 zImagescue scue@Link:/media/scue/Source/v880-bootimg$ chmod 755 /media/scue/Source/bootimg-scripts/repack-bootimg-v880.pl scue@Link:/media/scue/Source/v880-bootimg$ repack repack_bootimg       repack-bootimg-v880   scue@Link:/media/scue/Source/v880-bootimg$ repack repack_bootimg       repack-bootimg-v880   scue@Link:/media/scue/Source/v880-bootimg$ repack-bootimg-v880 zImagescue v880_boot.img-ramdisk boot3.img 478 塊  repacked boot image written at v880_boot.img-ramdisk-repack.img scue@Link:/media/scue/Source/v880-bootimg$ adb reboot bootloader scue@Link:/media/scue/Source/v880-bootimg$ fastboot devices ????????????    fastboot scue@Link:/media/scue/Source/v880-bootimg$ fastboot erase boot erasing 'boot'... OKAY [  0.033s] finished. total time: 0.033s scue@Link:/media/scue/Source/v880-bootimg$ fastboot flash boot boot3.img  sending 'boot' (3636 KB)... OKAY [  0.910s] writing 'boot'... OKAY [  0.673s] finished. total time: 1.583s scue@Link:/media/scue/Source/v880-bootimg$ fastboot reboot rebooting...  finished. total time: 0.001s scue@Link:/media/scue/Source/v880-bootimg$ 
複製代碼

 (方法二,bootimg打包) 

複製代碼
scue@Link:/media/scue/Source/v880-bootimg$ bootimg --repack-bootimg 0x2600000 "androidboot.hardware=blade console=null" 2048 2048  arguments: [base] [cmdline] [page_size] [padding_size] kernel: kernel ramdisk: ramdisk.gz second:  base: 0x2600000 cmdline: androidboot.hardware=blade console=null page_size: 2048 padding_size: 2048 output: boot.img scue@Link:/media/scue/Source/v880-bootimg$ ls boot2.img  boot3.img  boot.img  kernel  ramdisk.gz  v880_boot.img  zImage  zImagescue scue@Link:/media/scue/Source/v880-bootimg$ adb reboot bootloader scue@Link:/media/scue/Source/v880-bootimg$ fastboot devices ????????????    fastboot scue@Link:/media/scue/Source/v880-bootimg$ fastboot erase boot erasing 'boot'... OKAY [ 0.033s] finished. total time: 0.033s scue@Link:/media/scue/Source/v880-bootimg$ fastboot flash boot boot.img  sending 'boot' (3634 KB)... OKAY [ 0.910s] writing 'boot'... OKAY [ 0.673s] finished. total time: 1.583s scue@Link:/media/scue/Source/v880-bootimg$ fastboot reboot rebooting...  finished. total time: 0.001s scue@Link:/media/scue/Source/v880-bootimg$
複製代碼

 

注:不過有一點遺憾就是,替換了內核之後,手機沒有能夠識別SIM卡,準備要家教去了,這個事情以後再處理~
  不過現在這個問題已經解決了,解決時間:
2012年 11月 12日 星期一 18:44:42 HKT
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章