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:
- SVN repository root: http://openzipit.svn.sourceforge.net/viewvc/openzipit/
- Linux 2.6.29 patches: http://openzipit.svn.sourceforge.net/viewvc/openzipit/oe/zipit2/recipes/linux/linux-zipit2-2.6.29/
Further information about this patchset and progress being made can be found on the following blog:
- Sweetlilmre's 1337 beef blog: http://sweetlilmre.blogspot.com/
Some more information about Z2 mainline can be also found on this blog:
- Marex's Linux on your palm blog: http://marex-hnd.blogspot.com/
Compiling the new kernel is quite straightforward, though you have to be aware of few things before.
- You have two options on compiling the kernel, use either:
- Makefile from OpenZipit SVN:
- Download: http://openzipit.svn.sourceforge.net/viewvc/openzipit/oe/Makefile?revision=19
- and build the whole thing including userspace using OpenEmbedded as described at http://sweetlilmre.blogspot.com/2009/04/new-oe-build.html
- or build the kernel by hand which is described in the following steps:
- Makefile from OpenZipit SVN:
- 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:
- In your distribution (called something like arm-linux-gcc, for example Debian has Emdebian toolchain available here)
- On CodeSourcerys website
- Built using OpenEmbedded.
- 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
- 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
- Apply the patches in specified order using: patch -Np1 -i <patch>
- Copy the defconfig file into the root of your new kernel tree and rename it to .config
- 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
- The result will be:
- kernel file called: arch/arm/boot/zImage (the compressed kernel image)
- and modules installed under: /somewhere (you can obviously change this to something sane)
- 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
