[PATCH 0/5] Relocatable 64-bit kernel using linker PIE support
Mohan Kumar M
mohan at in.ibm.com
Tue Aug 19 03:19:25 EST 2008
Hi Paul,
I can't boot zImage with your patches. I'm getting the following error
message from prom_init.c
Error: You can't boot a kdump kernel from OF!
This is due to the check:
if (PHYSICAL_START > 0)
prom_panic("Error: You can't boot a kdump kernel from OF!\n");
where PHYSICAL_START is kernstart_addr, and this variable needs to be
referred through RELOC macro
But even after commenting the above check, I am not able to boot zImage.
<snip boot message>
Building dt structure...
Device tree strings 0x0000000002ce4000 -> 0×0000000002ce5034
Device tree struct 0×0000000002ce6000 -> 0×0000000002cf0000
Calling quiesce …
returning from prom_init
<snip>
and the system hangs
It has CONFIG_RELOCATABLE set, (CONFIG_CRASH_DUMP is not set).
I even tried booting zImage through netboot, it also fails at the same
place.
If you need, I can give the .config I use.
Regards,
Mohan.
Paul Mackerras wrote:
> The following series of patches implement support for a relocatable
> kernel by building it as a position-independent executable (PIE).
> When the linker is given the -pie flag, it creates an executable that
> contains dynamic relocations which can be used to relocate the image
> at boot time for any desired base address. This patch series adds a
> CONFIG_RELOCATABLE config option for 64-bit which links the kernel
> with -pie and arranges to process the relocations in early boot.
>
> With the first 4 patches applied, a relocatable kernel will still copy
> itself down to real address 0. The last patch changes things so that
> a relocatable kernel will run wherever it was loaded. This last patch
> is pretty much just a proof of concept since it doesn't do anything to
> ensure appropriate alignment of the base address (the base address
> needs to be 16kB aligned). We probably want to work out whether we
> are a kdump kernel and run in-place if so, or copy down to 0 if not.
>
> Paul.
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
More information about the Linuxppc-dev
mailing list