Introduction |
The LOOX 600 is an Xscale based PDA. It is delivered with m$ PocketPC.
The goal of the loox-linux projet is to get Linux running on the LOOX.
Boot loader |
To make more easy the developpements Linux will be loaded from a CF card.
4 files are needed to boot Linux:
1 - A bootloader (cyace-arm.exe).
2 - A configuration file for the bootloader (cyacecfg.txt).
3 - A Linux kernel (linux.kernel.kernel).
4 - A initrd file containing a minimum ext2 file system (linux.kernel.initrd).
Booting from the CF card allow to return to PocketPC2002 by pressing the reset button of
the LOOX. Of course all the data of the RAM is lost after booting Linux, do not forget
to backup the LOOX before trying it.
The boot loader is adapted to the LOOX from
hiyace-yach
.
To compile it Microsoft eMbedded Visual C++ 3.0 is needed.
See
msdn downloads
.
The executable is named cyace-arm.exe. To build it download the hiyace-yach
subproject in a windoze box (win98 is ok) and select the cyace.vcw Project
Workspace. Connect the LOOX to the PC using the USB cable.
In the m$ eMbedded Visual C++ click build. cyace-arm.exe should be transfered
in the windows/Start Menu of the LOOX.
Building Kernel |
To build the Kernel a binutils and gcc for Xscale is needed.
See
Chaintool for the Pocket LOOX
if you want to build it.
To prepare the Kernel do the following steps:
1 - Download the kernel sources from
www.kernel.org
.
2 - Download and apply the patches for ARM processors from
ftp.arm.linux.org.uk
.
3 - Download and apply the patches for the Xscale processors from
ftp.arm.linux.org.uk
.
4 - Download and apply the corresponding patches for the LOOX in
loox-linux CVS
.
The versions must be compatible:
LOOX patches |
XScale patches |
ARM patches |
Kernel version |
diff-2.4.19-rmk7-pxa1-loox |
diff-2.4.19-rmk7-pxa1 |
diff-2.4.19-rmk7 |
2.4.19 |
Do something like:
Download the kernel from www.kernel.org and extract it as usual.
[user@host] ~ $
mv linux-2.4.19 linux
[user@host] ~ $
patch -p0 < patch-2.4.19-rmk7
patching file linux/CREDITS
patching file linux/Documentation/Configure.help
patching file linux/Documentation/arm/Booting
...
That should not give any error
[user@host] ~ $
patch -p1 < diff-2.4.19-rmk7-pxa1
patching file linux/Documentation/Configure.help
patching file linux/Documentation/arm/XScale/PXA/USB-client
patching file linux/Makefile
...
That should not give any error
[user@host] ~ $
patch -p1 < diff-2.4.19-rmk7-pxa1-loox
patching file linux/Makefile
...
At that point you have the kernel sources for the LOOX!
|
Configure the Kernel for the LOOX:
In System Type Choose PXA250/210-based
In Intel PXA250/210 Choose FSC Pocket LOOX 600
In System Type Choose Workaround for XScale cache errata.
In General setup Choose NWFPE math emulation
In General setup Fill Default kernel command string with "keepinitrd initrd=0xA2200000,1776638 video=pxa:xres:240,yres:320,bpp:16"
Go to MMC device drivers (under General setup):
Choose Multi Media Card support
Choose PXA250 MMC driver
Choose MMX block driver
Choose MMX partitioning support
In Block device Choose RAM disk support
In Block device Choose Init RAM disk (initrd) support
Go to Console Driver:
In Frame-buffer support Choose Support for frame buffer device
In Frame-buffer support Choose PXA LCD support
Choose 16-Bpp for LCD Bit Depth
In Character devices Choose Standard/generic (8250/16550...)
In Character devices Choose Support for console on serial port
Build the Kernel:
[user@host] ~ $
make dep
...
make[2]: Leaving directory `/home/loox/linux/arch/arm/fastfpe'
make[1]: Leaving directory `/home/loox/linux'
[user@host] ~ $
make Image
...
make[1]: Entering directory `/home/loox/linux/arch/arm/boot'
/usr/local/arm/bin/arm-linux-objcopy -O binary -R .note -R .comment -S /home/loox/linux/vmlinux Image
make[1]: Leaving directory `/home/loox/linux/arch/arm/boot'
[user@host] ~ $
ls -lt arch/arm/boot/Image
-rwxr-xr-x 1 loox users 1147820 2003-06-21 14:47 arch/arm/boot/Image
The file Image has to be copied in the CF card under the name linux.kernel.kernel
|
|