[U-Boot-Users] booting elf images from flash

Robin Getz rgetz at blackfin.uclinux.org
Sun Mar 20 15:57:39 CET 2005

I know that U-boot currently supports booting compressed binary images from 
flash via the instructions in the README

Building a Linux Image:

* build a standard "vmlinux" kernel image (in ELF binary format):
   - this works

* convert the kernel into a raw binary image:
   ${CROSS_COMPILE}-objcopy -O binary \
                            -R .note -R .comment \
                            -S vmlinux linux.bin

In our system architecture (Blackfin) SDRAM (133MHz) is at 0x0 to0x07FFFFFF 
(128Meg), and on chip Instruction SRAM (runs at core speed - up to 600MHz) 
exists at 0xFFA00000 to 0xFFA13FFFF (64k). Some of our kernel drivers need 
to put code snippets in SDRAM at 0xFFA00000.

Today - we did this by modifying the lds, and letting the linker manage 
everything. However, this breaks ${CROSS_COMPILE}-objcopy as it tries to 
dump ~4.0Gig into the bin file...

I can see a few options:
  - revert back to have drivers copy their information into SRAM (which 
makes kernel maintenance a problem - as all kernel modules writers need to 
know where everyone else is doing things, so they won't copy over each other)
  - give more options to objcopy, and make 2 bins (one for SDRAM (kernel), 
one for SRAM (drivers)), load these separately, and execute from kernel. I 
am assuming that this wouldn't be much different than loading a ramdisk 
separately from kernel images.
  - write a patch to accept compressed elf files in U-boot, rather than 
just compressed bins.



More information about the U-Boot mailing list