[Skyeye-developer] [How to] Compile Linux-2.6.24 for Skyeye
simulating PXA25x
Yonghao Wang
wyonghao at gmail.com
Sat Jan 26 08:20:47 CST 2008
Hi all,
Just compiled latest linux-2.6.24 for skyeye pxa255 simulation. The
main problem is cpu id. see instruction below:
In addition to wiki page:
http://skyeye.wiki.sourceforge.net/Linux
which modifies "/linux-2.6.24/include/asm-arm/arch-pxa/memory.h"
from
#define PHYS_OFFSET UL(0xa0000000)
to
#define PHYS_OFFSET UL(0xc0000000)
You may also need :
1. modify Makefile (of course for cross compiling)
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?=
ARCH ?= arm
CROSS_COMPILE ?=arm-linux-
2. modify linux-2.6.24/include/asm-arm/arch-pxa/hardware.h
Find the define:
#define __cpu_is_pxa25x(id) \
({ \
unsigned int _id = (id) >> 4 & 0xfff; \
_id == 0x2d0 || _id == 0x290; \
})
modify to:
#define __cpu_is_pxa25x(id) \
({ \
unsigned int _id = (id) >> 4 & 0xfff; \
_id == 0x2d0 || _id == 0x290 || _id == 0x210; \
})
3. change some configurations such as using ramdisk rather than NFS
which is lubbock default config.
make lubbock_defconfig
make xconfig
or simply you can download my config from:
http://skyeye.wiki.sourceforge.net/space/showimage/skyeye_PXA250_2.6.24_config
Then using testsuite initrd_minigui.img for pxa255 and skyeye config
file, it should work. Linux source code has bug on
"__cpu_is_pxa25x(id) " define, I think. The skyeye returns id as
0x69052100 which should be valid according to "Intel PXA255 Processor
Developer's Manual" on page 34, although it means "First version of
the core". so maybe there are rare products using the first version.
Or we can change skyeye simulation to return later version of core id.
Y.W
More information about the Skyeye-developer
mailing list