First attempt at getting a new kernel for my phone, an HTC Desire HD.

  1. Download the source from
  2. Expand it into a directory
  3. As we’ll be building for ARM, we need the cross compilation toolchain, so install relevant packages.
  4. Get the config from the phone. $ adb pull /proc/config.gz . $ gunzip config.gz && mv config .config
  5. Now try and build the kernel. $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
  6. Answer questions for the config we’re using
  7. Wait…

This all looks good with the usual progression of messages indicating all is well, until

make[3]: *** No rule to make target drivers/input/touchscreen/ntrig.o', needed by drivers/input/touchscreen/built-in.o'. Stop. make[4]: *** No rule to make target drivers/media/video/msm/s5k6aafx.o', needed by drivers/media/video/msm/built-in.o'. Stop.

The appropriate lines from the Makefile are

drivers/input/touchscreen/Makefile obj-$(CONFIG_TOUCHSCREEN_NTRIG) += ntrig.o drivers/media/video/msm/Makefile obj-$(CONFIG_S5K6AAFX) += s5k6aafx.o s5k6aafx_reg.o

Looks like HTC missed some files from their kernel source archive 🙁 I’m going to send them an email asking for the files, but suspect there will be no reply as HTC have a long history of obstruction around their source releases.


HTC have replied to my email. Their initial response was

Thank you for contacting HTC. In regards to your ROM query, I can help you with that. We cannot support you on unofficial development of the ROM in any case. I trust that this resolves your query. Please do not hesitate to contact us again if required.

I replied explaining that all I wanted was 3 additional files that they had omitted from their source release, the following response was received,

My apologies, I misread you original email. I will forward the details for the missing files to our developers. Once they release the required files they will be found at

Hopefully this means they will release the files, but we’ll wait and see.