Getting Linux to work on the acer n10

The acer n10 actually runs Linux pretty well; only a few, but somehow annoying things are missing. Working together with Jeroen, we managed to get a 2.6 kernel running, but didn't publish anything, as we felt it was not "ready".

Now I am putting up hopefully complete step-by step instructions to reproduce what we have.

Prerequisites

Hardware:

Software:

From the internet:

Cross Compiler

As the n10 has an ARM-based processor and your workstation probably has not, you'll need a cross compiler and associated toolchain to build programs for it. Dan Kegel maintains an excellent site dedicated to building the GNU compiler and binutils for various cross environments, so I'll not go into details here. Even though I have my own scripts to build my Linux and some cross toolchains as part of it, I rely on his invaluable collection of patches.

To summarise, I have a gcc-3.4.6 living as arm-linux-gcc beneath /cross/bin; YMMV.

Busybox

Use and test the cross toolchain to build a busybox ARM binary.

The resulting program and the list of links will be referenced later on, when an initrd is built as part of the kernel binary.

The Linux Kernel

Unpack linux-2.6.10.tar.bz2, unpack our additions next to it, and let the do_patch.sh script modify the kernel source, giving the script the kernel source dir as the first argument. Optionally specify the directory where you built busybox and busybox.links as the second argument. Just to be safe, set the environment var ARCH to arm, and type "make" in the kernel source dir. E.g.:

tar xvf linux-2.6.10.tar.bz2
tar xvf n10kernel-2.6.10-1.tar.bz2
cd n10kernel
./do_patch.sh ../linux-2.6.10 /tmp/busybox-1.01
cd ../linux-2.6.10
setenv ARCH arm # or "export ARCH=arm" for the other confession
make
    

The desired result will be arch/arm/boot/zImage

Booting the n10

To initially get the kernel running, I now use HaRET. unzip the archive, and put haret.exe, the zimage from above and the following startup.txt onto a FAT-formatted CF card:

SET KERNEL zimage
SET CMDLINE "video=pxa mtdparts=phys_mapped_flash:256k(Legacy),256k(U-boot),2048k(Kernel),-(rootfs)"
SET MTYPE  511
BOOTLINUX
    

Insert the CF card onto your n10, use the file browser to launch HaRET, which will hopefully launch the kernel, and will BTW erase all data stored in your n10's RAM, so usual disclaimers apply here.

Getting it into the built-in flash

WARNING, I did not test this for quite a while, so don't do this unless you have means to recover the flash ROM contents.

The ROM contents besides the emergency boot loader will be erased, even if Linux can not boot afterwards.
In that case you may have turned your n10 into an expensive paperweight. You have been warned.

Here are Jeroen's files to build das U-Boot for the n10. If you throw the resulting U-Boot disguised as 'CE image into mtd1, and the Linux kernel now prepared for das U-Boot into mtd2, the n10 should boot Linux without any memory card. Currently I do not have all the details handy so I'll refer to the appropriate documentation for now.

Coming soon(er or later)


Valid HTML 4.01 Transitional


Last modified: Mon Jan 8 01:38:13 MET 2007