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

  1. Download the source from http://developer.htc.com/
  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.
e.g. http://users.livejournal.com/joshua_/41833.html

Update

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 http://developer.htc.com

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