|
|
|
How to build linux for my own board? | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
|
|
DA: I am studying porting Linux to a self-designed board by following documents in kernel pachage 2.6.25 and other information on internet. Here are my first steps. I am starting at the point of setting up a completely same board at91rm9200ek with a new name "mytest". 1. Setup a testing board type mytest in arch/arm/tools/mach-types. 2. Copy an existing *_defconfig (I chose at91rm9200ek_defconfig)in arch/arm/tools/configs/ to arch/arm/tools/configs/mytest_defconfig, remove CONFIG_MACH_AT91RM9200EK, add "CONFIG_ARCH_MYTEST=y". 3. Add ARCH_MYTEST to all entries have "depend on CONFIG_MACH_AT91RM9200EK" in Kconfig files; Add CONFIG_MYTEST to all condition blocks that test ARCH_AT91 in Kconfig files. 4. Copy include/asm-arm/mach-at91 to include/asm-arm/mach-mytest 5. Copy arch/arm/mach-at91 to arch/arm/mach-mytest and replace CONFIG_MACH_AT91RM9200EK with CONFIG_ARCH_MYTEST in arch/arm/mach-mytest/Makefile 6. Run "make ARCH=arm CROSS_COMPILE=arm-linux- mytest_defconfig", then I get a .config file that is completely the same asthat of "make ARCH=arm CROSS_COMPILE=arm-linux- at91r9200ek_defconfig" except a few lines as below (I disabled CONFIG_USB_OHCI_HCD because I had problem in compiling it with message "#error "missing bus glue for ohci-hcd"). FYI, ".config.lin" the the new config file for my board, while ".config.at91" is that of at91rm9200ek. [linux-2.6.25]# diff .config.lin .config.at91 4c4 < # Fri Nov 28 15:18:11 2008 --- > # Fri Nov 28 14:17:54 2008 132,133c132,133 < # CONFIG_ARCH_AT91 is not set < CONFIG_ARCH_MYTEST01=y --- > CONFIG_ARCH_AT91=y > # CONFIG_ARCH_LINTST01 is not set 838c838,841 < # CONFIG_USB_OHCI_HCD is not set --- > CONFIG_USB_OHCI_HCD=y > # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set > # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set > CONFIG_USB_OHCI_LITTLE_ENDIAN=y 7. Make zImage with this new config, everything goes well until ld .tmp_vmlinux. CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 arm-linux-ld: no machine record definedarm-linux-ld: no machine record defined make: *** [.tmp_vmlinux1] Error 1 Could anybody tell me where the problem is? How should I build it for a new machine type? Your comments are highly appreciated. BTW, building it for at91rm9200ek works w/o error. Thanks. Best Regards. -Lin ------------------------------------------------------------------- List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
[Linux ARM] [Linux ARM MSM] [Linux ARM Kernel] [Fedora ARM] [IETF Annouce] [Security] [Bugtraq] [Linux] [Linux OMAP] [Linux MIPS] [ECOS] [Asterisk Internet PBX] [Linux API]
![]() |
![]() |