Wednesday, January 28, 2009

Original Z2 kernel support in OpenEmbedded

In my last post I provided a setup system for Zipit2 OpenEmbedded development.
As I mentioned in that post, only my test kernel 2.6.27.10 was supported. I realised that until full kernel support is available, people would probably like to build the old kernel to play with.

So here is a package that will provide 2.6.21.1 kernel support.
The setup package creates a configuration that will leverage OE's package version support to build the latest kernel, so in order to use this kernel you will need to navigate to your packages/linux folder and rename the linux-zipit2-2.6.27.10.bb file to something else e.g. linux-zipit2-2.6.27.10.bb_.

Once you have done that, extract the contents of the archive to the packages/linux folder and:
bitbake linux-zipit2

It is possible to specify a prefered kernel version in your local.conf file to override this behaviour but I do not have the exact syntax available. If anyone would like to comment and leave instructions on how to achieve this override, that would be great.

Have fun! Shortly I will be adding a package for cutting edge 2.6.29 support in the quest to achieve mainline acceptance.

edit:

Like a total fool I forgot to mention that you will need to add the checksums for the kernel into checksums.ini in your openembedded/conf/checksums.ini file, here is the text you need to add:

[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.1.tar.bz2]
md5=a28b78793cd368592f7873bf36cb38b0
sha256=2e92625e887bff35522eed3eecc2b80eb9a588d3c0eac64f35b4d29a557bac15
edit2:

Another missing component. Sigh. In an effort to cleanup the original SVN files I nuked the packages/sysvinit/sysvinit/zipit2/rcS file. Unfortunately this is where the old (crappy) keyboard drivers are loaded. To sort this out you need to patch this file, look for:

#
# For compatibility, run the files in /etc/rc.boot too.
#
[ -d /etc/rc.boot ] && run-parts /etc/rc.boot

and add this text after it:

# for now, the module loader is not working.
/sbin/modprobe pxa27x_keyboard
/sbin/modprobe zipit2_kbd_helper
Which should sort it all out.

-(e)