Some time ago I updated my Efika MX Smartbook to run latest natty (which it was running since [I got it](http://marcin.juszkiewicz.com.pl/2010/10/29/i-got-efika-mx-smartbook-from-genesi/)) and then to newer kernel: 2.6.38 version.
Most of informations how to do it I got from guys sitting on #efika irc channel. There are 3 git repositories involved:
– [rtp’s patchset](http://git.rtp-net.org/?p=efika.git)
Fetch/checkout all three into separate directories.
First we need sdma firmware. Do not ask me what it is — you will need it to build kernel. Cd into directory, call “make” then copy `sdma-imx51-to3.bin` into `firmware` directory of linux kernel sources.
Second step is applying patches to kernel. Cd into linux dir, checkout ` a10aabd5e313ec6481569be20d120191692b4ca6` revision (this is which I used) and call:
> QUILT_PATCHES=../rtp-patches/ quilt push -a
This will apply all required patches. Grab [my kernel configuration](http://marcin.juszkiewicz.com.pl/download/efikamx/hrw-kernel-config-for-2.6.38.txt) and store it under `.config` name. Feel free to make some changes into it. Then build kernel.
How to get kernel to device is left for readers — if you know how to build then you are expected to know that.
Next step (we nearly finished) is to boot kernel. So reboot machine and watch how it gets up and running. With my kernel config you will probably see nothing… Cause I moved lot of things into modules. Edit `/etc/modules` file and add:
– snd-soc-imx-3stack-sgtl5000 — sound driver
– efikasb_rfkill — needed for wifi to work
– mx5fb — framebuffer
Do not expect that 2d/3d stuff which works on official images (with non-free packages) will work. But if you will check modules then you can also look what is in NOR flash (but better do not play with it):
> hrw@efika:~$ cat /proc/mtd
> dev: size erasesize name
> mtd0: 00040000 00001000 “u-boot”
> mtd1: 00010000 00001000 “config”
> mtd2: 00010000 00001000 “test”
Is it worth playing? Yes and no. Good is that kernel is more fresh then 22.214.171.124.20 which was installed, but also it lost some 2d/3d acceleration support. But who knows… Maybe one day 🙂