[U-Boot] Help with Glomation GESBC-9G20
Larry Baker
baker at usgs.gov
Sun Jun 23 08:34:55 CEST 2013
I am trying to upgrade U-Boot on a Glomation GESBC-9G20 (a derivative of the Atmel AT91SAM9G20-EK) to a version that supports UBIFS. The latest U-Boot does not work. (See also my report on the Glomation user forum, http://glomation.net/smf/index.php/topic,1389.0.html.)
The GESBC-9G20 comes with a patched U-Boot 1.3.4. I built U-Boot 1.3.4 with Glomation patches using both the Glomation ARM cross development tool chain and the Code Sourcery 2013.05 ARM EABI cross development tool chain. Both work fine. I built the latest U-Boot release (2013.04) and the U-Boot git tree (2013.07 preview) version using the Code Sourcery tool chain (the Glomation tool chain is too old). Neither work. They both hang at:
ˇRomBOOT
Start AT91Bootstrap...
In topic http://glomation.net/smf/index.php/topic,1382.0.html, it says the latest U-Boot supports the AT91SAM9G20. That seems to be true for an Atmel AT91SAM9G20-EK. But, U-Boot built for an AT91SAM9G20-EK does not seem to work on my GESBC-9G20.
Glomation's response about the differences:
The GESBC-9G20 is a slimmed down version of the Atmel AT91SAM9G20-ek (the earlier version with 1 SD card slot). The audio, serial EEPROM, etc were omitted. The binary code (bootstrap, U-Boot, kernel) from Atmel can run directly on the GESBC-9G20.
As far as I can tell from the SAM-BA download log file, U-Boot fits in its flash partition:
<snip>
-I- === Erase all the NAND flash blocs and test the erasing ===
-I- GENERIC::EraseAll
-I- === Load the bootstrap: nandflash_at91sam9-ek in the first sector ===
GENERIC::SendFile nandflash_at91sam9g20ek.bin at address 0x0
-I- File size : 0x1078 byte(s)
-I- Complete 0%
-I- Writing: 0x1078 bytes at 0x0 (buffer addr : 0x20003E38)
-I- 0x1078 bytes written by applet
-I- === Load the u-boot in the next sectors ===
-I- Send File u-boot-2013.07-git.bin at address 0x00020000
GENERIC::SendFile u-boot-2013.07-git.bin at address 0x20000
-I- File size : 0x3E054 byte(s)
-I- Complete 0%
-I- Writing: 0x20000 bytes at 0x20000 (buffer addr : 0x20003E38)
-I- 0x20000 bytes written by applet
-I- Complete 51%
-I- Writing: 0x1E054 bytes at 0x40000 (buffer addr : 0x20003E38)
-I- 0x1E054 bytes written by applet
-I- === Load the u-boot environment variables ===
-I- Send File ubootEnvtFileNandFlash.bin at address 0x00060000
GENERIC::SendFile ubootEnvtFileNandFlash.bin at address 0x60000
-I- File size : 0x20000 byte(s)
-I- Complete 0%
-I- Writing: 0x20000 bytes at 0x60000 (buffer addr : 0x20003E38)
-I- 0x20000 bytes written by applet
-I- === Load the Kernel image ===
-I- Send File uImage-3.2.6 at address 0x00100000
GENERIC::SendFile uImage-3.2.6 at address 0x100000
<snip>
-I- === Load the linux file system ===
-I- Send File 9260rootfs.img at address 0x00400000
GENERIC::SendFile 9260rootfs.img at address 0x400000
<snip>
I could use some guidance to track down the problem.
Larry Baker
US Geological Survey
650-329-5608
baker at usgs.gov
Below are the steps I followed (plus, I ran SAM-BA under Windows 8 to write the bootstrap, u-boot, kernel, and rootfs to flash memory):
• Download and build U-Boot 1.3.4 with Glomation patches using the Glomation ARM cross development tool chain.
$ mkdir -p /opt/gesbc-9g20/u-boot
$ cd /opt/gesbc-9g20/u-boot
$ wget http://ftp.denx.de/pub/u-boot/u-boot-1.3.4.tar.bz2
Download u-boot-1.3.4-exp.5.diff from the Glomation user forum topic, reply #1, at http://glomation.net/smf/index.php/topic,1389.0.html
$ tar -xjf u-boot-1.3.4.tar.bz2
$ cd u-boot-1.3.4
$ patch -p1 < ../u-boot-1.3.4-exp.5.diff
$ make ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnu- at91sam9g20ek_nandflash_config
$ make ARCH=arm CROSS_COMPILE=arm-unknown-linux-gnu-
$ cp u-boot.bin /opt/gesbc-9g20/u-boot-1.3.4.bin
• Repeat the build using the Code Sourcery ARM cross development tool chain.
$ cd /opt/gesbc-9g20/u-boot/u-boot-1.3.4
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- at91sam9g20ek_nandflash_config
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-
$ cp u-boot.bin /opt/gesbc-9g20/u-boot-1.3.4.bin
• Download and build the latest U-Boot stable release using the Code Sourcery ARM cross development tool chain.
$ cd /opt/u-boot
$ wget http://ftp.denx.de/pub/u-boot/u-boot-latest.tar.bz2
$ tar -xjf u-boot-latest.tar.bz2
$ cd u-boot-2013.04
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- at91sam9g20ek_nandflash_config
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-
$ cp u-boot.bin /opt/gesbc-9g20/u-boot-2013.04.bin
• Download and build the latest U-Boot development tree using the Code Sourcery ARM cross development tool chain.
$ cd /opt/u-boot
$ git clone git://git.denx.de/u-boot.git
$ cd u-boot
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- distclean
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- at91sam9g20ek_nandflash_config
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi-
$ cp u-boot.bin /opt/gesbc-9g20/u-boot-2013.07-git.bin
More information about the U-Boot
mailing list