as I had Hackweek 5 at work, I had a look into Netwalker's kernel a bit. My aim was to port latest Netwalker's coe which can be found in Ubuntu 2.6.28 araneo kernel sources to latest 2.6.31 Freescale kernel. I'm not telling I'm kernel expert but I gave a try. At the end of this week I abandoned this idea
I have never seen such mess. As some of you alrerady know, there is no machine ID dedicated to Netwalker. There is used one for Babbage board which is quite (but not completely) similar. Unfortunately this machine ID is used in RedBoot - the Netwalker's bootloader, so to do things correctly NOR flash where RedBoot is located need to be altered and you can brick your device when this is not done correctly. Great! When this is done, change in current kernel is quite cosmetic.
Unfortuinately - this is the lesser problem. Bigger problem is that board configuration is written in headers statically and #ifdefs are ensuring that right HW is used. This would mean maintaining separate kernel tree for Netwalker and porting to newer versions will be always pain. As the biggest pain I find fact that there are widespread #ifdefs in 46 files in different areas of kernel altering code slightly for Netwalker. That means a LOT of time to do things correctly and maintainable. It seems that these changes were done by Nissin Systems Co.,Ltd. - thanks for hardly maintainable code!
I abandoned porting code to Freescale's kernel but I hope there is way to do it correctly in upstream. That will be my long term focus.
UPDATE: it seems that some files contain some partial backport of newer kernel features and statistic measurement so the count of files which needs to be reworked is a bit smaller. It also seems that hidden cursor in framebuffer console is ugly handled feature, not bug. Authors didn't want to have SHARP logo (which seems to be easily altered) disturbed by blinking cursor.
UPDATE2: Yes! Got blinking cursor - what a relief...