First attempt at getting a new kernel for my phone, an HTC Desire HD.
- Download the source from http://developer.htc.com/
- Expand it into a directory
- As we’ll be building for ARM, we need the cross compilation toolchain, so install relevant packages.
- Get the config from the phone. $ adb pull /proc/config.gz . $ gunzip config.gz && mv config .config
- Now try and build the kernel. $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-
- Answer questions for the config we’re using
This all looks good with the usual progression of messages indicating all is well, until
make: *** No rule to make target
drivers/input/touchscreen/ntrig.o', needed by drivers/input/touchscreen/built-in.o'. Stop. make: *** 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 http://developer.htc.com
Hopefully this means they will release the files, but we’ll wait and see.