Re: Using CONFIG_PHYSICAL_START
flat view
From: Scott Wood <hidden>
Date: 2011-02-16 19:39:31
On Wed, 16 Feb 2011 12:00:25 -0600 Meador Inge [off-list ref] wrote:
Hi Kumar, Quick question about the support for booting at a non-zero base address (as committed here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37dd2badcfcec35f5e21a0926968d77a404f03c3). Is booting from a non-zero address as simple as changing "CONFIG_PHYSICAL_START" (assuming it meets the alignment constraints, of course)?
Another option is to turn on CONFIG_RELOCATABLE. Note that you'll still have the same alignment constraints; it doesn't generate a truly relocatable binary (the effective addresses are fixed). But you don't have to specify the physical address at compile-time. This allows you to use the same kernel image for multiple AMP partitions.
For example, I want to boot from a non-zero address on the P1022DS. I should just be able to change "CONFIG_PHYSICAL_START" to, say, 0x08000000, and it should work, right? Any other bits that need to be done (i.e. U-Boot or device tree magic)?
You'll want the memory node adjusted for your restricted address range (I'm assuming that this is why you want to start at non-zero, and that you're not trying to have the kernel be located in the middle of its partition). There are some special u-boot variables (bootm_low/bootm_size) that govern placement of the kernel, fdt, etc. -Scott