Zaurus common kernel (linux 2.4.18) project

From OESF

Jump to: navigation, search

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)
Personal tools