Introduction |
el LOOX 600 es un PDA basado en Xscale. Es entregado con m$ Pocketpc.
El objetivo de este proyecto es tener Linux en el LOOX.
Boot loader |
Para hacer mas fácil el desarrollo Linux se cargará desde la Tarjeta CF.
son necesarios 4 ficheros para ejecutar Linux:
1 - Un bootloader o cargador (cyace-arm.exe).
2 - Un fichero de configuración para el bootloader (cyacecfg.txt).
3 - Un Kernel Linux (linux.kernel.kernel).
4 - Un fichero initrd conteniendo el sistema de ficheros mínimo ext2 (linux.kernel.initrd).
Arrancar desde la tarjeta CF nos permite regresar a PocketPC2002 pulsando el boton de reset del LOOX.
Obviamente todo el contenido de la RAM se pierde después de cargar Linux, no olvide realizar copia
de seguridad del LOOX antes de hacer ninguna prueba.
El boot loader (cargador) se ha adaptado al LOOX de
hiyace-yach
.
Para compilarlo es necesario Microsoft eMbedded Visual C++ 3.0.
Vea
msdn downloads
.
El ejecutable se llama cyace-arm.exe. Para crearlo descargue el subproyecto hiyace-yach
En un PC con windows (w98 es suficiente) y seleccione el Project Workspace cyace.vcw.
Conecte el LOOX al PC utilizando el cable USB.
En el m$ eMbedded Visual C++ click build. cyace-arm.exe será transferido
al windows/Start Menu del LOOX.
Building Kernel |
Para crear el Kernel necesita los binutils y el gcc para Xscale.
Vea
Chaintool for the Pocket LOOX
si usted quiere crearlo.
Para preparar el Kernel siga los siguientes pasos:
1 - Descargue los fuentes del Kernel de
www.kernel.org
.
2 - Descargue y aplique los Patches para procesadores ARM de
ftp.arm.linux.org.uk
.
3 - Descargue y aplique los Patches para los procesadores Xscale de
ftp.arm.linux.org.uk
.
4 - Descargue y aplique los correspondientes Patches para LOOX.
Las versiones deben ser compatibles:
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 |
Haga algo parecido a esto:
Descargue el Kernel de www.kernel.org y extraigalo de la forma 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
...
Esto no debe dar ningun 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
...
Esto no debe dar ningun error
[user@host] ~ $
patch -p1 < diff-2.4.19-rmk7-pxa1-loox
patching file linux/Makefile
...
En este punto usted ya tiene los fuentes del Kernel para LOOX!
|
Configure el Kernel para el LOOX:
En System Type escoja PXA250/210-based
En Intel PXA250/210 escoja FSC Pocket LOOX 600
En System Type escoja Workaround for XScale cache errata.
En General setup escoja NWFPE math emulation
En General setup llene Default kernel command string con "keepinitrd initrd=0xA2200000,1776638 video=pxa:xres:240,yres:320,bpp:16"
Vaya a MMC device drivers (bajo General setup):
Escoja Multi Media Card support
Escoja PXA250 MMC driver
Escoja MMX block driver
Escoja MMX partitioning support
En Block device escoja RAM disk support
En Block device escoja Init RAM disk (initrd) support
Vaya a Console Driver:
En Frame-buffer support escoja Support for frame buffer device
En Frame-buffer support escoja PXA LCD support
escoja 16-Bpp for LCD Bit Depth
En Character devices escoja Standard/generic (8250/16550...)
En Character devices escoja Support for console on serial port
Cree (build) el 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
El fichero Image debe ser copiado en la tarjeta CF bajo el nombre linux.kernel.kernel
|
|