2014-04-12 68 views
0

我想在我的三星I9300安裝不同的內核(允許一些配置標誌)的Android安裝內核

到目前爲止,我已經安裝了定製ROM

Slim-4.4.2.build.3-OFFICIAL-3091 

它使用以下內核版本至今:

$ adb shell 
[email protected]:/ $ uname -a 
Linux localhost 3.0.80+ #1 SMP PREEMPT Sat Feb 15 15:10:26 CET 2014 armv7l GNU/Linux 

source從中創建我kernel.zip有一個新版本的內核版本:

.../kernel_samsung_smdk4412$ gedit Makefile 
VERSION = 3 
PATCHLEVEL = 0 
SUBLEVEL = 80 
EXTRAVERSION = 
NAME = Sneaky Weasel 
... 

我用下面的工具鏈構建成功內核:

1)

git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7 

2)

sudo gedit .bashrc 

export PATH=${PATH}:~/arm-linux-androideabi-4.7/bin 

3)

cd /kernel_samsung_smdk4412/ 

make clean -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi- 

make ARCH=arm CROSS_COMPILE=arm-linux-androideabi- slim_i9300_defconfig 

make -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi- 

我使用this guide來創建flashable zip文件。 它採用koush的AnyKernel與TWRP安裝新內核2.6.3.1

updater-script樣子,到目前爲止:因爲我已經找到here爲I9300

ui_print("AnyKernel Updater by Koush."); 
ui_print("Extracting System Files..."); 
set_progress(1.000000); 
mount("ext4", "EMMC", "/dev/block/mmcblk0p9", "/system"); 
package_extract_dir("system", "/system"); 
unmount("/system"); 
ui_print("Extracting Kernel files..."); 
package_extract_dir("kernel", "/tmp"); 
ui_print("Installing kernel..."); 
set_perm(0, 0, 0777, "/tmp/dump_image"); 
set_perm(0, 0, 0777, "/tmp/mkbootimg.sh"); 
set_perm(0, 0, 0777, "/tmp/mkbootimg"); 
set_perm(0, 0, 0777, "/tmp/unpackbootimg"); 
run_program("/tmp/dump_image", "boot", "/tmp/boot.img"); 
run_program("/tmp/unpackbootimg", "/tmp/boot.img", "/tmp/"); 
run_program("/tmp/mkbootimg.sh"); 
write_raw_image("/tmp/newboot.img", "boot"); 
ui_print("Done!"); 

第四行被編輯。

當我通過TWRP刷新zip文件時,一切看起來都不錯,但重啓系統時,舊版本的內核版本和安裝日期顯示在設置的「關於手機」部分。

我錯過了什麼?

+0

也許你沒有覆蓋的內核。如果你想確保你可以查看/ proc/version這是一個直接的內核接口,所以應該是明確的。 –

+0

感謝您的回覆。當然,我沒有覆蓋內核,這是我的問題!但我無法弄清楚爲什麼我沒有。通過TWRP安裝並沒有失敗,所以看起來安裝工作。所以我很困惑。 – IHeartAndroid

回答

0

而不是使用AnyKernel閃爍的zImage的,我創建了一個boot.img的出使用this guide的的zImage,然後通過heimdall閃現在我的I9300:

[email protected]:~/bootimg_tools$ perl split_bootimg.pl boot.img 


[email protected]:~/bootimg_tools$ perl unpack_ramdisk boot.img-ramdisk.gz ramdisk 


[email protected]:~/bootimg_tools$ perl repack_ramdisk ramdisk boot.img-ramdisk.cpio.gz 


[email protected]:~/bootimg_tools$ cp /home/user/kernel_samsung_smdk4412/arch/arm/boot/zImage boot.img-kernel 


[email protected]:~/bootimg_tools$ ./mkbootimg --kernel boot.img-kernel --ramdisk boot.img-ramdisk.cpio.gz --cmdline 'console=null androidboot.hardware=qcom user_debug=31 zcache' --base 0x80200000 --pagesize 2048 -o boot.img 


[email protected]:~/bootimg_tools$ adb reboot bootloader 

[email protected]:~/bootimg_tools$ sudo heimdall flash --BOOT boot.img --verbose