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

Robin Getz rgetz at blackfin.uclinux.org
Mon Mar 21 01:41:11 CET 2005


Wolfgang wrote:
>I understand that you are talking about Linux images only, right?

Yes - sorry - I should have been more specific - I was talking
about the uClinux kernel images.

>What you say shall be done: Your kernel  drivers  need  to  put  code
>snippets in SDRAM. This is IMHO not really a task of the boot loader.

The problem is after we make a distribution and fix the load points in SRAM 
- it limits the ability for end users to add or swap out our drivers 
without having to touch the source. It makes kernel config almost 
impossible for specific driver combinations.

If an end user wants to remove a driver - they are wasting space in SRAM. 
(which could be configured as cache - but it must be contiguous)
If an end user wants to add a driver - they need to modify the source so 
that it doesn't conflict with  what is currently there.

If the linker handles it, the user only finds out if there is a problem 
with things if there is too much code allocated for SRAM.

>objcopy should be capable of doing this - even if you probably  don't
>like the result ;-)

It does actually error - with "File size limit exceeded"

> >   - 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.
>
>It should be pretty straightforward to  put  all  this  code  into  a
>separate segment and create a separate image which contains only this
>segment.

Andrew Dyer sent me some pointers on making the linker script handle
distinct load and execution address, so to collect all the sections
which normally go in  the sram, put them in a section which is loaded
into low memory of the elf, and then have the kernel move things on
init.

We will explore this path, and see what this gets us.

>U-Boot already understands how to deal with  ELF  images.  It's  just
>that  we  don't  use  ELF images for the Linux kernel, as there is no
>need to do so, and no advantages (but several disadvantages).

I would be interested in your thoughts of why booting elf images is a 
disadvantage. We do it all the time, and have not run into any problems.

>Just assume that some other boot loader will be used to
>boot your Linux kernel images.

the only boot loader that we support right now - is U-Boot, and the on-chip 
ROM bootloader (which also boots elf images)...

Thanks
-robin






More information about the U-Boot mailing list