Archive for category kernel

How to compile kernel — part 2

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.

  1. 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.
  2. download AnyKernel template by koush and unpack it somewhere
  3. copy your zImage file to the template /kernel directory, there supposed to be another zImage file there — just replace it
  4. go back to the template directory, you will see three subdirectories: META-INF, kernel & system
  5. zip them all (zip -r ../ *)
  6. sign the and flash it to your device
  7. scripts included in the template will unpack your current boot.img, keep ramdisk, but replace the kermel
  8. enjoy!

Big thanks to Bartosz Ponurkiewicz, who gave me nice advices and warned about common problems on the way!

, ,

No Comments

Extracting from RUU update in Linux

I’ve read about nice utility to extract 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 (

  1. install wine
  2. open terminal and change directory to .wine (cd ~/.wine)
  3. in the terminal type (but don’t press <enter> just yet) : cp `find -name` ~/
  4. run RUU update file in another window and change back to the terminal
  5. as soon as the progress bar reaches about 70-80%, press <enter> in the terminal
  6. enjoy 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.



How to compile kernel — part 1

Recently HTC released the kernel source for HTC Desire. Here’s how to compile the kernel source under Ubuntu:

  1. download and unpack source code
  2. install android SDK and NDK
  3. get kernel config from your device (adb pull /proc/config.gz; gunzip config.gz; mv config .config)
  4. put .config into the root directory where you unpacked kernel source
  5. run “make oldconfig”
  6. optionally, if you plan any changes, run “make menuconfig”
  7. 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

, ,