[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