grub-devel.gnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] arm-uboot: support for different RAM bases
@ 2013-12-29 18:47 Ian Campbell
  2013-12-29 18:47 ` [PATCH 1/7] mkimage: Refactor IMAGE_EFI checks into a function grub_image_needs_reloc Ian Campbell
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: Ian Campbell @ 2013-12-29 18:47 UTC (permalink / raw)
  To: grub-devel; +Cc: Vladimir Serbinenko, Leif Lindholm, ijc@hellion.org.uk

The current arm-uboot image type is hardcoded to run at address
0x08000000 which means that it cannot be used on ARM systems which do
not have RAM starting from address 0 (which is many of them). This is a
bit of a problem for distros.

The following series attempts to address this by only performing a
partial link of the arm-uboot kernel.img at build time and enhancing
grub-mkimage to finalise the link to a specific address while building
the core.img.

I have test this on a Midway system, which has RAM at address 0, linking
to a variety of addresses (0x{0,1,4}8000000) and on a cubieboard2 which
has RAM at 0x40000000-0x80000000 linked at 0x48000000. (there is an
unrelated issue on cubieboard2 relating to the scan for the uboot API
signature, which I'm still investigating, but I hacked around it here
and things worked fine otherwise).

I have done build only tests of arm64-efi, i386-pc and x86_64-efi. After
running grub-mkimage under faketime the resulting binaries are bit for
bit identical in every case (faketime due to the timestamp in the PE
header).

I haven't yet integrated this into grub-install, I need to think a bit
more about how to automagically determine the correct link address for a
given platform.

If no target address is given then the existing hardcoded address
(0x08000000) is used as the default.

Please CC on any replies since I'm not subscribed.

Ian.



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2013-12-31 16:44 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-29 18:47 [PATCH 0/7] arm-uboot: support for different RAM bases Ian Campbell
2013-12-29 18:47 ` [PATCH 1/7] mkimage: Refactor IMAGE_EFI checks into a function grub_image_needs_reloc Ian Campbell
2013-12-29 18:47 ` [PATCH 2/7] mkimage: Replace hardcoded 0x400 in R_ARM_ABS32 relocation Ian Campbell
2013-12-29 18:47 ` [PATCH 3/7] mkimage: account for space for trampolines earlier Ian Campbell
2013-12-29 18:47 ` [PATCH 4/7] mkimage: make R_ARM_ABS32 debug output more consistent Ian Campbell
2013-12-29 18:47 ` [PATCH 5/7] mkimage: allow linking at address 0 Ian Campbell
2013-12-29 18:47 ` [PATCH 6/7] mkimage: support images which require full relocation at mkimage time Ian Campbell
2013-12-29 22:53   ` Leif Lindholm
2013-12-30  3:49     ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-12-30 10:54     ` Ian Campbell
2013-12-30 15:46   ` Andrey Borzenkov
2013-12-31 14:19   ` Francesco Lavra
2013-12-31 16:44     ` Ian Campbell
2013-12-29 18:47 ` [PATCH 7/7] arm-uboot: support relocation at installation time Ian Campbell
2013-12-29 19:10 ` [PATCH 0/7] arm-uboot: support for different RAM bases Ian Campbell
2013-12-29 23:04 ` Leif Lindholm
2013-12-30  1:55 ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-12-30 10:48   ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).