Compiling the Kernel

From OESF

Revision as of 02:11, 28 November 2004 by Offroadgeek (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Howto compile and install the Linux kernel for the Zaurus.

Contents

Acquiring the source

First thing of course is to get the kernel source (~22MB). A local copy is kept [here | http://www.oesf.org/howto/downloads/linux-sl5500-20020910.tar.bz2], but the [Sharp Japan's site] (seems to have moved to [here]) should always be checked to see if they have released anything new.

Unpack the archive using your favorite tool/commands.

$ bunzip2 linux-sl5000d-20020318.tar.bz2
$ tar xf linux-sl5000d-20020318.tar

Configuring the source

Go into the newly created linux directory and run make menuconfig.

$ cd linux
$ make menuconfig

The configuration for the 5500 and the 5000D are stored within the kernel source and should be loaded. Choose "Load an Alternate Configuration File" and Input

 "arch/arm/def-configs/sl5500" for the SL-5500 and
 "arch/arm/def-configs/sl5000d" for the SL-5000D.

Select "OK"

Make whatever changes to the kernel config that are desired. (Such as enabling Wireless Extensions.)

When done changing configuration options, Select "Exit"
Answer "Yes" to "Do you wish to save your kernel configuration?"

Compiling the source

Make sure the cross-compiler (arm-linux-gcc) is in the path at this point

 $ export PATH=$PATH:/opt/Embedix/tools/bin

And go ahead and start to compile the new kernel.

 $ make dep && make clean && make zImage

Once done there should be a file called zImage in arch/arm/boot which is the newly compiled kernel. If any modules where added to the new kernel config, compile them:

 $ make modules

You will have to copy the modules into Zaurus's filesystem.

Installing the kernel

To install the kernel simply place the file by itself on a cf card and flash like normal, following the Upgrading the ROM howto, but only with that one file (zImage) on the cf card and nothing else.

Notes

Attempting to install kernels other then the one suplied by Sharp are likely to cause the binary-only modules to fail such as the SD module.

You've only got 1MB of space to store the new kernel, so it had better fit in that size.

Personal tools