Zaurus common kernel (linux 2.4.18) project
From OESF
One of the sites given is no longer providing the files and is trapped by our spam filters.
0. INTRODUCTION
The "Zaurus common kernel" is a project which was started because it was nearly impossible to find the latest up-to-date sources to recompile a custom kernel for a specific Zaurus model.
In my case, the main problem was the existence of two different source trees maintained by Tetsu - one for the C860, and a forked one for the SL-6000.
Fortunately, they where soon reunited : c860-20040610 = sl6000-20040428.
The Zaurus common kernel project was then started, to distribute the files, the patches, and create a Zaurus kernel community.
Various sources and patches for different zaurus models have been integrated into a single source tree. It is in no way officialy recognised by sharp, and may damage your hardware. But if you are careful and know a little bit about the Linux kernel, it should help you.
The Zaurus common kernel project is based on linux-2.4.18-rmk7-pxa3, with backports for security fixes and required feature. This is not the latest 2.4 version, neither the version used by OpenEmbedded - we must stick to linux-2.4.18-rmk7-pxa3 to avoid compatibility problem with Sharp kernels and missing features from proprietary non-free drivers such as the SD/MMC driver. Hopefully, when a free driver will be available, we will start a migration to the most recent linux kernel, with the hope the features will be merged into the official kernel tree.
1. WHAT'S INSIDE
The latest current version is linux-2.4.18-rmk7-pxa3-common-20050521
It has been patched with:
0_linux-c860-20031107-rom1_10.tar.bz2 1_c860-040610.patch.bz2 2_CAN-2004-0003,0010,0109,0177,0178.patch.bz2 3-bluez-2.4.18-mh15.bz2 4-printk.patch.bz2 5-swap.patch.bz2 6-change-cccr-at-resume.patch.bz2 7_CAN-2004-0077,0495.patch.bz2 8_guylhem_tosa_keyboard.patch.bz2 9_guylhem_tosa_nand.patch.bz2 10_guylhem_tosa_battery.patch.bz2 11_nwfpe_backport_from_2.4.30.patch.bz2
Most of the source and patches are from:
http://developer.ezaurus.com/sl_j/source/c860/20031107/linux-c860-20031107-rom1_10.tar.bz2 link is now dead and trapped by our spam filters http://tetsu.homelinux.org/zaurus/kernel/index.html http://digit.que.ne.jp/visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%b3%ab%c8%af%a5%e1%a5%e2%2f%c6%c8%bc%ab%a5%d3%a5%eb%a5%c9%a5%ab%a1%bc%a5%cd%a5%eb http://ramix.jp/~ramsy/LinuxZaurus/SL-C860
2. Compiling your own ROM (OPTIONAL)
A. GET A TOOLCHAIN
-----------------------------------------------------------------------
- Download a toolchain, for example this one (it works fine) :
http://externe.net/zaurus/sdk/Embedix.tgz
- Unpack it in /opt
- Export a new PATH for compilation :
export PATH=/opt/Embedix/tools/bin/:$PATH
B. GET KERNEL SOURCES
-----------------------------------------------------------------------
- Download the "common source tree" from:
http://externe.net/zaurus/flash/kernel/sources/
C. COMPILE THE KERNEL
-----------------------------------------------------------------------
- Uncompress the kernel :
tar zxvf linux-2.4.18-rmk7-pxa3-*.tar.gz
- Prepare kernel configuration file. You will need libncurses5-dev for this:
make menuconfig
- Select "Load an alternate configuration file" at the bottom of the menu
- If you have a SL-6000, write arch/arm/def-configs/tosa-guylhem and
press Enter key
- Alternatively, if you have another model, select its config file form
arch/arm/def-configs/
- That's all for configuration. Exit and save the configuration.
- Now you can compile - if you did not add the PATH, use ./make.sh ; else run:
make dep ; make clean ; make zImage ; make modules ; make modules_install
- The zImage file will be created in arch/arm/boot and the modules in
/lib/modules/2.4.18-rmk7-pxa3-embedix - attention, you will not have
the non-free SD module and the Wifi module (coming from hostap package)
D. PREPARATION
-----------------------------------------------------------------------
- Download consolescroll and updater.sh.6000
http://developer.ezaurus.com/sl_j/source/6000/consolescroll
http://developer.ezaurus.com/sl_j/source/6000/20040311/updater.sh.6000
- copy these files to the root of the CF card (or SD card) :
scp consolescroll updater.sh root@zaurus_ip:/mnt/cf
scp zImage root@zaurus_ip:/mnt/cf/updater.sh
- To flash a kernel + restore the ROM, put these files instead, and do
the special step below. You will note that zImage must be called zImage.bin
cd kernel-common/modules/
scp ffffffff.bin initfs.bin initrd.bin initrd.gz mainte.bin mversion.bin nanddiag.bin paraminf.bin updater.pro root:/mnt/cf
scp kernel-common/zImage root@zaurus_ip:/mnt/cf/zImage.bin
- If you are not using Guylhem ROM, free some space for the modules. The
useless pdf plugin for opera gives 1 Mb. Remove the old modules. If
you have installed your own modules, they will be lost!
mount -n -o remount,rw /
rm -fr /usr/QtPalmtop.rom/opera/plugins /home/QtPalmtop/opera/plugins
cd /lib
rm -fr modules.rom modules
mkdir modules
cd modules
rm -fr /home/root/modules
- On your PC, copy the new modules to the Zaurus
scp modules.tar.gz root@zaurus_ip:/lib/modules
- On your Zaurus, unpack the new modules. If you are using Guylhem ROM, do :
cd /lib/modules
tar zxvf modules.tar.gz
- Else, do :
cd /lib/modules
tar zxvf modules.tar.gz
cd ..
mv modules modules.rom
cd /home/root/
mkdir modules
cd modules
find /lib/modules.rom/ -type d| sed -e 's/^.*rom\///g'|xargs mkdir -p
for i in `find /lib/modules.rom/ -type f|grep "\.o"| sed -e 's/^.*rom\///g'`; do ln -sf /lib/modules.rom/$i $i ; done
- With this new version which makes it possible to use the internal
keyboard, a USB keyboard and a Bluetooth keyboard at the same time,
you must update Qtopia 1.5 keyboard tables. Type on your Zaurus:
cd /opt/Qtopia/etc
rm *tbl
wget http://externe.net/zaurus/flash/kernel/keyboard/holdkey.tbl
wget http://externe.net/zaurus/flash/kernel/keyboard/keycode.tbl
wget http://externe.net/zaurus/flash/kernel/keyboard/keysyms.tbl
3. ZAURUS IN ENGLISH
It can be very useful because after a full update, the zaurus may be in japanese.
- Get a terminal (qpe-terminal, see http://www.killefiz.de/zaurus/) - Install it - Launch it then type "su" to enter super-user mode - Type "vi /home/root/Settings/locale.conf" in order to edit locale.conf file - Change the line "Language = jp" to "Language = en" : press "i" to start editing the file - Press the cancel button of the keyboard, then ":x", then press enter to save the file - Reboot the Zaurus using the green icon at the bottom of the start menu and select Yes (the left box)

