The community around Z2 works on preparing a clean patchset for mainline Linux kernel for later inclusion in mainline Linux kernel.

Preliminary version of the patchset can be obtained from Subversion repository using the following command:

svn co https://openzipit.svn.sourceforge.net/svnroot/openzipit openzipit

You can use this link in case you have issues with SVN: http://openzipit.svn.sourceforge.net/viewvc/openzipit/oe/zipit2/recipes/linux/linux-zipit2-2.6.29.tar.gz?view=tar

You can also browse the SVN repository by pointing your web browser to one of the following addresses:

Further information about this patchset and progress being made can be found on the following blog:

Some more information about Z2 mainline can be also found on this blog:

Compiling the new kernel is quite straightforward, though you have to be aware of few things before.

  1. You have two options on compiling the kernel, use either:
    1. Makefile from OpenZipit SVN:
      1. Download: http://openzipit.svn.sourceforge.net/viewvc/openzipit/oe/Makefile?revision=19
      2. and build the whole thing including userspace using OpenEmbedded as described at http://sweetlilmre.blogspot.com/2009/04/new-oe-build.html
    2. or build the kernel by hand which is described in the following steps:
  2. You can't compile the kernel using normal GCC you have on your PC, you'll need a crosscompiler. A suitable crosscompiler can be found either:
    1. In your distribution (called something like arm-linux-gcc, for example Debian has Emdebian toolchain available here)
    2. On CodeSourcerys website
    3. Built using OpenEmbedded.
  3. The patchset is against vanilla linux-2.6.29, so obtain the vanilla kernel source at http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2
  4. Then just follow the kernel bitbake file available at http://openzipit.svn.sourceforge.net/viewvc/openzipit/oe/zipit2/recipes/linux/linux-zipit2_2.6.29.bb?revision=18
  5. Apply the patches in specified order using: patch -Np1 -i <patch>
  6. Copy the defconfig file into the root of your new kernel tree and rename it to .config
  7. Now you are ready to start compiling the new kernel by issuing the following commands:
    # optional, run this in case you want to fine-tune the kernel configuration
    make TARGET=ARM CROSS_COMPILE=your-crosscompiler-prefix- menuconfig
    
    # this compiles the kernel
    make TARGET=ARM CROSS_COMPILE=your-crosscompiler-prefix-
    
    # this installs modules into /somewhere, you don't want to mix them with your systems' ones
    INSTALL_MOD_PATH=/somewhere
    make TARGET=ARM CROSS_COMPILE=your-crosscompiler-prefix- modules_install
    
  8. The result will be:
    1. kernel file called: arch/arm/boot/zImage (the compressed kernel image)
    2. and modules installed under: /somewhere (you can obviously change this to something sane)
  9. To flash the new kernel, use the utility (this step can brick your device, do at your own risk) available at http://sourceforge.net/projects/openzipit/files/autoflasher/AutoFlasher-r2.zip/download