Kernel patches for 4.12.1 with GPIO & LEDs

Hugo New Member Posts: 7
edited July 2017 in UP Board Linux
I've just built this and it seems to be working without issue. I'm using the official kernel sources from 4.12 with the 4.12.1 patchset.

I do get an error when booting "esrt header is not in the memory map", which seems to be an issue between systemd and the firmware, but it doesn't affect anything other than initial filesystem detection; the Arch forums tell me it's a(nother) systemd issue and it can be safely ignored.

I've tested the three LEDs and a few GPIOs and everything seems to be working fine.

I diff'ed Ubuntu 4.35 kernel with the Up Board 4.35, then diff'ed each of those with Yocto 4.11 and finally diff'ed again with 4.12.1 in order to arrive to the final patchset I'm attaching.

In the archive there's also an Arch Linux PKGBUILD file laying out all the steps to patch/build, from which building procedures can be extrapolated to other distros.

Regarding that, I've also included the config file I'm using, again merged from diff'ing 4.35/4.11/4.12.1 which has all the needed configs to build on Arch Linux, make sure to edit it accordingly if building for other distros as it does have some Arch specific settings.

If anyone takes the leap and builds this let me know any issues so we can further refine it.

I've just realized my bolding might seem a bit pretentious without an explanation. To give one example, the Up Board config CONFIG_USB_HID is set to "y", which panics in Arch Linux because it is expected as a module. Sadly there is no other way to figure this out than to compare the Up config with your distro's original config. To that end, I'm attaching a csv of the options I've used.