[fedora-arm] F19: uImage load addresses with unified kernel

Brendan Conoboy blc at redhat.com
Tue Mar 26 23:39:46 UTC 2013


Through Fedora 18 GA we've had a one-to-one mapping between the SoC and 
the kernel rpm.  Likewise, we produced a different filesystem image for 
each SoC (EG, a highbank image, a panda image, a trimslice image, etc). 
  Since then the unified kernel in 3.7 and beyond has introduced the 
ability to use a single kernel for multiple SoCs.  This introduces the 
pleasant prospect of having a single filesystem image that boots on 
multiple ARM platforms.  In fact, the standard unified kernel for F19 
(3.9) may support highbank, omap, and versatile express all from the 
same vmlinuz.  Doing this still requires loading the right dbt, but I 
have a plan for that.  Doing this also requires creating a uImage with 
the right load address, IE:

  mkimage -A arm -O linux -T kernel -C none -a $ubootAddress

The trouble is, there is no unified $ubootAddress available.  The 
pandaboard uses 0x80008000, highbank and tegra use 0x00008000, a10 and 
exynos5 use 0x40008000, and so forth.  Not sure about beaglebone.  If we 
want to realize the dream of having a unified F19 release we need a 
solution to this problem.  I see three options:

1. Use the 0x00008000 address for highbank/tegra, demand bootz support 
for everybody else.  Since we control the panda/beagle/beaglebone uboots 
they would be covered.  Not clear on what this means for exynos5, but 
exynos5 will use an LPAE kernel so that's a separate uimage already.

2. Generate multiple uImage files from a single kernel, then load the 
appropriate uImage on boot.

3. Split up images to cope.

All 3 are viable, none are desirable.  Is there a 4th option?  If not, 
what do want to go with?

-- 
Brendan Conoboy / Red Hat, Inc. / blc at redhat.com


More information about the arm mailing list