Archive for category kernel
In the part 1 I explained how to compile a new kernel, and here’s the explanation how to upload the newly compiled kernel to your device.
- make sure you really have arch/arm/boot/zImage file (about 2MB in case of HTC Desire/Eclair) present after your kernel compilation was over.
- download AnyKernel template by koush and unpack it somewhere
- copy your zImage file to the template /kernel directory, there supposed to be another zImage file there — just replace it
- go back to the template directory, you will see three subdirectories: META-INF, kernel & system
- zip them all (zip -r ../update.zip *)
- sign the update.zip and flash it to your device
- scripts included in the template will unpack your current boot.img, keep ramdisk, but replace the kermel
Big thanks to Bartosz Ponurkiewicz, who gave me nice advices and warned about common problems on the way!
I’ve read about nice utility to extract rom.zip from RUU update and could not believe someone really have spent time to write a program, which might be easily obsoleted with new version of installshield.
Here’s a quick and dirty, but very reliable approach which does not care about installshield version and relies only on expected file name (rom.zip)
- install wine
- open terminal and change directory to .wine (cd ~/.wine)
- in the terminal type (but don’t press <enter> just yet) : cp `find -name rom.zip` ~/
- run RUU update file in another window and change back to the terminal
- as soon as the progress bar reaches about 70-80%, press <enter> in the terminal
- enjoy rom.zip in your home directory (but don’t forget to check zip integrity and checksums just in case)
Worked for me as a charm and did not require any 3rd-party software.
Recently HTC released the kernel source for HTC Desire. Here’s how to compile the kernel source under Ubuntu:
- download and unpack source code
- install android SDK and NDK
- get kernel config from your device (adb pull /proc/config.gz; gunzip config.gz; mv config .config)
- put .config into the root directory where you unpacked kernel source
- run “make oldconfig”
- optionally, if you plan any changes, run “make menuconfig”
- run “make ARCH=arm CROSS_COMPILE=~/android-ndk-r4/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-”, where long and complicated path points to the actual directory where you installed NDK
Wait about 10-20 minutes. You should get the following mesage:
Kernel: arch/arm/boot/zImage is ready