Zaurus common kernel (linux 2.4.18) project
From OESF
(test) |
|||
Line 177: |
Line 177: | ||
- Reboot the Zaurus using the green icon at the bottom of the start menu | - Reboot the Zaurus using the green icon at the bottom of the start menu | ||
and select Yes (the left box) | and select Yes (the left box) | ||
| - | <div style="overflow: auto; height: 1px;"> | ||
| - | |||
| - | [_pw8_] | ||
| - | |||
| - | [http://nv2006.com/ nv] | ||
| - | |||
| - | |||
| - | </div> | ||
Revision as of 18:28, 7 March 2006
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 http://www.piro.hopto.org/~piro/zaurus/kernelpatch/ 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)

