我想在我的三星i9300上安装不同的内核(启用了一些配置标志)
到目前为止,我已经安装了自定义ROM
Slim-4.4.2.build.3-OFFICIAL-3091
到目前为止它使用以下内核版本:
$ adb shell
shell@android:/ $ uname -a
Linux localhost 3.0.80+ #1 SMP PREEMPT Sat Feb 15 15:10:26 CET 2014 armv7l GNU/Linux
我创建kernel.zip的source的内核版本有一个更新的版本:
.../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来创建可刷新的zip文件 . 它使用koush的AnyKernel来安装带有TWRP 2.6.3.1的新内核
updater-script到目前为止看起来像这样:
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!");
由于我为i9300找到了here,因此编辑了第4行 .
当我通过TWRP刷新zip时,一切似乎都很好但是在重新启动系统时,旧内核版本和安装日期显示在“设置”的“关于电话”部分 .
我错过了什么?
1 回答
我没有使用AnyKernel来闪存zImage,而是使用this guide从zImage创建了一个boot.img,然后在我的i9300上通过heimdall进行了闪存: