[TouchPad General] HP_TOUCHPAD:
How to Recompile The HP TOUCHPAD Android Kernel for DirtyUnicorns 8.1 and Shumash SKZ DirtyUnicorns 8.1 and Evervol 7.1

This is done on a Linux OS (Ubuntu 18.04 x64). If you are using other OS, then install Linux as a virtual machine.

The process is the same for all Kernel, but I have only done it with the last two version of Android and can verify that it works.

You can get the kernel source code from other version and try to compile it.

You many need to install the following packages on your Linux OS:

sudo apt-get update

sudo apt install python-pip

sudo apt-get install libncurses5-dev libncursesw5-dev

To recompile the Kernel you need to download an arm cross compiler, there are two options, google android or Linaro.

Get the Android arm cross compiler here:

https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/+archive/26e93f6af47f7bd3a9beb5c102a5f45e19bfa38a.tar.gz

You can also use Linaro:

https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/armeb-eabi/gcc-linaro-4.9.4-2017.01-x86_64_armeb-eabi.tar.xz

Get the Kernel source for:

DirtyUnicorns:

https://github.com/DirtyUnicorns/android_kernel_htc_msm8960/archive/o8x-caf.zip

Shumash SKZ overclock Kernel for DirtyUnicorns 8.1

https://github.com/shumashv1/android_kernel-3.4_hp_tenderloin/archive/o-8.1.zip

Shumash SKZ overclock Kernel for Evervolv 7.1

https://github.com/shumashv1/android_kernel-3.4_hp_tenderloin/archive/ng-7.1.zip

1. Create a folder on your home directory

arm-eabi

2. Extract (unzip) the Android cross compiler file arm-eabi-4.8-26e93f6af47f7bd3a9beb5c102a5f45e19bfa38a.tar.gz into the arm-eabi direcory:

You should have the following directory structure

(Your ID will be different than ubuntu) but all the directories needs to have the following structure.

/home/ubuntu/arm-eabi/share
/home/ubuntu/arm-eabi/libexec
/home/ubuntu/arm-eabi/lib64
/home/ubuntu/arm-eabi/lib32
/home/ubuntu/arm-eabi/lib
/home/ubuntu/arm-eabi/include
/home/ubuntu/arm-eabi/bin
/home/ubuntu/arm-eabi/arm-eabi

3. Extract (unzip) one of the Kernel file that you will like to recompile into your home directory:

4. Rename the extracted folder ( example : android_kernel_tenderloin_DU_msm8960-o8x-caf )

to: kernel

It should have all folders under kernel directory

(Your ID will be different than ubuntu)

/home/ubuntu/kernel/crypto
/home/ubuntu/kernel/block
/home/ubuntu/kernel/arch
( and many more)

That is all that is need it to recompile, but the folder location and structure is very important for the scripts to work.

The configuration file to make the Kernel for the two versions of the touchpad is located in:

Wifi standard version

/kernel/arch/arm/configs/tenderloin_android_defconfig

4g version

/kernel/arch/arm/configs/tenderloin4g_android_defconfig

5. Open a terminal window in the kernel directory and paste the following commands:

export CROSS_COMPILE=~/arm-eabi/bin/arm-eabi-

## You can make changes directly to the tenderloin_android_defconfig using a text editor if you know what you are doing or use the on screen menu.

## replace the configuration file for your model at the end.

./make_defconfig.sh tenderloin_android_defconfig

Now you have the Linux/arm 3.4.113 Kernel Configuration screen to make all your choices.

If the menu does not comes up is due to packages you need to install on your OS for ncurses to work, first mentioned.

There is too much information to go over and explain, you will have to learn as you go, not all settings apply to the device. There are options and modules for many kernels not only just the TP.

When you are done, or feel that you have done anything after looking at the DNA of an Android kernel for the TP then press:

the esc key twice to exit and save the new changes to the configuration file.

6. Ready to make the configuration active to recompile:

make ARCH=arm tenderloin_android_defconfig

7. Start the recompile process:

make ARCH=arm -j4 CROSS_COMPILE=~/arm-eabi/bin/arm-eabi- kernel.uImage

Once is finish your new kernel uImage will be at:

kernel/arch/arm/boot/kernel.uImage

8. Copy the kernel.uImage file to your desktop or any other place out of the Kernel folder.

9. This command will reset ad clean all your settings from making the Kernel, so that you can start the process again.

make mrproper

Now you have a modified kernel and need to combine it with the ramdisk from the same ROM kernel (boot.img) that is in the ROM zip file.

Extract the boot.img from the ROM and follow the steps on how to unpack the boot.img using this link:

Now that you have access to the ramdisk, you can make system read and write and many more options on every file!

With the Kernel settings and Ramdisk you have completely total control, is the DNA settings of the device.

https://xdaforums.com/hp-touchpad/development/make-root-permanet-read-write-to-t3846567

Once unpack rename kernel.uImage to kernel.uImage_original (or delete it)

Copy the new kernel.uImage to the folder and repack.

You now have your own modified kernel and can place it in the boot directory of your tablet.

If it finished booting to Android, all is good! if not start again.

Your HP Touchpad will not get bricked by any modification you will make to the kernel. It can freeze and you can do a hard reset and boot from the original kernel.

Now if you encounter a problem with your ROM, feel is slow or any other issues you know how to fix it yourself and learn how time consuming and fun is to get this working. Be part of the community and at least try to improve on the great work that others have done.

Many thanks to everyone that made all this work possible all credits go to:

Milaq, Jcsullins, Invisiblek, Flintman, Shumash and the many others! the list is longer than all the settings of the kernel!

All that explanation to run the following commands:

export CROSS_COMPILE=~/arm-eabi/bin/arm-eabi-

./make_defconfig.sh tenderloin_android_defconfig

make ARCH=arm tenderloin_android_defconfig

make ARCH=arm -j4 CROSS_COMPILE=~/arm-eabi/bin/arm-eabi- kernel.uImage

make mrproper