Topic: Newer kernel for silvermoon
Hey everyone,
I've been playing around a bit with trying to bring my Chumby 8 up to a recent kernel version. I soldered on the console header and went to work testing things.
I found all the stock boot partitions confusing, so I changed my SD card to only have two partitions: the bootloader partition and a main (currently barebones) root filesystem that runs a test Qt program. I've also patched u-boot's boot script to load the kernel from my main root filesystem partition.
I thought getting a newer kernel running would be easy, but it turns out that a bunch of stuff in the mainline kernel for the PXA168 is broken. With the help of a bunch of random patches I found and some time spent debugging, I have many things working on my Chumby 8 on Linux 3.13-rc1:
Kernel actually runs -- it turns out the L2 cache needs to be disabled early in the boot process or newer Linux versions will crash randomly and stuff -- then Linux can turn it back on when it's ready for it
USB works
LCD works. Still need to make the overlay frame buffer work too, but that's not a high priority
The internal boot SD card works and I can read/write it
I think the internal SDIO wifi module is sort of working, but it has issues -- it has a timeout error during the driver load unless libertas debugging output is turned on, not sure if it's a libertas problem or a PXA168 SDIO controller problem
I'm currently booting to an NFS root over a USB ethernet adapter, but it should boot to a root filesystem on the SD card now too
Shutdown and reboot commands work correctly
Still needs to be done:
Port touchscreen driver and other custom Chumby stuff to the new kernel
Get sound output working -- this may be a hefty task, I don't see anything obvious in the mainline kernel for it
Fix small issues I listed in the "working" stuff above
Make the built-in USB SD/CF/etc. reader work? Not tested yet, maybe it already works
There's probably more that I haven't thought of...
Has anyone else done any work on a newer kernel? On a related note, has anyone else actually recompiled u-boot from scratch for this machine? I've downloaded all of the tools from the chumby source code page, but there are so many crazy things to put together to make the PXA168 boot from an SD card partition and I haven't been able to figure out all of the tools needed to create a new bootloader partition from scratch.
I'd definitely be interested in working together with people on getting the rest of the stuff I listed above working...this device is so cool and I think it deserves to get some modern Linux support! I also have some falconwings...maybe that can be the next "new kernel" project?
I'd love to share my work so far if anyone is interested in kernel hacking. I'll put the patches up somewhere soon. If you're interested, I'd definitely recommend saving your stock microSD card and getting a new one to use just for the kernel hacking stuff so you can go back to the known working stuff if needed.