Quote:
Originally Posted by ulno
Just my (small) results. Currently, I am toying around with getting 2.6.32-rc6 compiled. I compile with
make ARCH=arm MACH=PELCO_ILIAD CROSS_COMPILE=arm-none-eabi- zImage
the kernel.
However, in the end I always get
arm-none-eabi-ld: no machine record defined
There is a lot about this in google, but nothing which helps. Maybe I need really the totally customized build environment? Just thought I should be able to take any cross compiler for this.
Any ideas/pointers?
Ulno
|
I think that this message is the answer you're looking for:
http://sourceware.org/ml/binutils/2005-08/msg00357.html
Basically it is that the file defining your architecture doesn't has the MACHINE_START macro and subsequent definitions.
I've looked how nalim did it (in a nutshell: copying the machine configuration for the HTC universal and adapting it with iliad's configuration).
Steps he took:
1. In arch/arm/march-pxa he modified Kconfig adding
Code:
source "arch/arm/mach-pxa/irex_er0100/Kconfig"
2. In arch/arm/mach-pxa he added a subdirectory named "irex_er0100", and inside it a Kconfig file with the following contents:
Code:
menuconfig MACH_PXA_IREX_ER0100
bool "iRex ER0100"
select PXA25x
select BOARD_IRQ_MAP_BIG
help
Say Y here if you intend to run this kernel on a
iRex ER0100 (iLiad). Currently there is only basic support
for this eReader.
config PXA_IREX_ER0100_PCMCIA
tristate "iRex PCMCIA"
depends on MACH_PXA_IREX_ER0100 && PCMCIA_PXA2XX
help
This enables support for using PCMCIA (CompactFlash) cards
on "iRex ER0100". You will also need to enable PXA2xx PCMCIA
support in the PCMCIA/Cardbus support menu.
config PXA_IREX_ER0100_BUTTON
tristate "iRex Button Driver"
depends on MACH_PXA_IREX_ER0100
help
This enables support for buttons on "iRex ER0100".
config PXA_IREX_ER0100_BATTERY
tristate "iRex Battery Driver"
depends on MACH_PXA_IREX_ER0100
help
This enables support for battery on "iRex ER0100".
3. He also added to the "irex_er0100" directory a Makefile with the following contents (note the he forgot to delete the "HTC" word from the "HTC Universal" Makefile he used as template):
Code:
#
# Makefile for HTC iRex ER0100
#
obj-$(CONFIG_MACH_PXA_IREX_ER0100) += irex_er0100.o
obj-$(CONFIG_PXA_IREX_ER0100_PCMCIA) += irex_er0100_pcmcia.o
obj-$(CONFIG_PXA_IREX_ER0100_BUTTON) += irex_er0100_button.o
obj-$(CONFIG_PXA_IREX_ER0100_BATTERY) += irex_er0100_battery.o
4. He added the modules he mentioned in the Makefile. The most interesting of those is irex_er0100.c, which has the missing data that your compiler is complaining about
:
Code:
//...
// Lots of the file has been cut, see nalim's patch for the rest
///...
MACHINE_START(PXA_IREX_ER0100, "iRex Technologies ER0100 eReader")
/* Maintainer MV */
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
// .boot_params = 0xa0000100,
.fixup = fixup_irex_er0100,
.map_io = irex_er0100_map_io,
.init_irq = irex_er0100_init_irq,
.init_machine = irex_er0100_init,
.timer = &pxa_timer,
MACHINE_END
Hope that helps.
About my own work: last week I've been toying with the serial tty drivers, and heavily modified one of them to do some tests; it seems that impersonating a serial with the screen will not be that hard. Hopefully in the next two weeks I'll have some proof of concept code, modifying this time the real serial driver port that is used to receive data from the wacom pen (have some ideas about using it

).