Difference between revisions of "The bootloader U-Boot"
From IGEP - ISEE Wiki
Line 80: | Line 80: | ||
--- That's all folks --- | --- That's all folks --- | ||
− | [[Category:Software]] | + | [[Category:Software|Uboot]] |
Revision as of 00:07, 28 May 2010
Contents
How to cross compile U-Boot
Overview of How-To
This How-To is meant to be a starting point for people to learn build the u-boot software for IGEP v2 devices as quickly and easily as possible.
This How-To works with the Ubuntu 8.04 IGEP v2.0 SDK Virtual Machine but most of the contents are valid also for other GNU/Linux distributions. We do not issue any guarantee that this will work on other distributions.
Requirements
- Ubuntu 8.04 IGEP v2.0 SDK Virtual Machine
Feedback and Contributing
At any point, if you see a mistake you can contribute to this How-To.
U-Boot for IGEP v2
First of all setup the build environment sourcing this script
$ source /usr/local/poky/eabi-glibc/arm/environment-setup
or
$ source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi
if you have updated your SDK environment to latest version (see Ubuntu 8.04 IGEP v2.0 SDK Virtual Machine)
U-Boot v2009.11 (stable)
This version support full OneNAND DDP
Download the IGEP v2 U-Boot sources and follow next steps:
$ wget http://www.igep.es/downloads/01-ISEE_Products/IGEPv2/SW_Releases/sources/u-boot-arm-2009.11-1.tar.gz $ tar xzf u-boot-arm-2009.11-0.tar.gz $ cd u-boot-arm-2009.11-0 $ make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_igep0020_config $ make CROSS_COMPILE=arm-none-linux-gnueabi-
The result will be an u-boot.bin file in arch/arm/boot directory.
U-Boot mainline tree (development)
Clone the GIT repository from git.myigep.com
$ git clone git://git.igep.es/pub/scm/u-boot-arm.git $ cd u-boot-arm $ git checkout origin/u-boot-2009.11.y -b u-boot-2009.11.y
and build with
$ make CROSS_COMPILE=arm-none-linux-gnueabi- omap3_igep0020b_config $ make CROSS_COMPILE=arm-none-linux-gnueabi-
The result will be an u-boot.bin file in arch/arm/boot directory.
Annex: default u-boot environment
setenv distro poky setenv machine igep0020 setenv project poky-image-sato setenv ethaddr ac:de:48:00:02:54 setenv ipaddr 192.168.254.254 setenv netmask 255.255.255.0 setenv gatewayip 192.168.254.10 setenv serverip 192.168.254.10 setenv addip 'setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::eth0:' setenv bootargs-base 'mem=512M console=ttyS2,115200n8 console=tty0 omapfb.mode=dvi:1024x768MR-16@60' setenv mmc-bootargs 'setenv bootargs ${bootargs-base} root=/dev/mmcblk0p2 rw rootwait' setenv mmc-boot 'mmc init 0; if fatload mmc 0 80000000 boot.ini; then source; else if fatload mmc 0 80000000 uImage; then run mmc-bootargs; bootm; fi; fi' setenv onenand-bootargs 'setenv bootargs ${bootargs-base} root=/dev/mtdblock4 rootfstype=jffs2 ; run addip' setenv onenand-boot 'run onenand-bootargs; onenand read 80000000 280000 400000 ; bootm 80000000' setenv nfs-bootargs 'setenv bootargs ${bootargs-base} root=/dev/nfs nfsroot=${serverip}:/srv/nfs/${distro}/${project}/${machine} ; run addip' setenv nfs-boot 'if ping ${serverip}; then run nfs-bootargs; tftp 0x80000000 ${distro}/${project}/${machine}/uImage; bootm; fi;' setenv bootcmd 'run mmc-boot; run nfs-boot; run onenand-boot'
--- That's all folks ---