3cc747e964
In PPC64 there are number of problems in arch/ppc64/boot/main.c that prevent a kernel from making use of a large (greater than ~16MB) INITRD. This is 64 bit architecture and really large INITRD images should be possible. Simply put the existing code has a fixed reservation (claim) address and once the kernel plus initrd image are large enough to pass this address all sorts of bad things occur. The fix is the dynamically establish the first claim address above the loaded kernel plus initrd (plus some "padding" and rounding). If PROG_START is defined this will be used as the minimum safe address - currently known to be 0x01400000 for the firmwares tested so far. Signed-off-by: Mark Bellon <mbellon@mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org> |
||
---|---|---|
.. | ||
addnote.c | ||
addRamDisk.c | ||
crt0.S | ||
div64.S | ||
elf.h | ||
install.sh | ||
main.c | ||
Makefile | ||
page.h | ||
ppc_asm.h | ||
prom.c | ||
prom.h | ||
README | ||
stdio.h | ||
string.h | ||
string.S | ||
zImage.lds | ||
zlib.c | ||
zlib.h |
To extract the kernel vmlinux, System.map, .config or initrd from the zImage binary: objcopy -j .kernel:vmlinux -O binary zImage vmlinux.gz objcopy -j .kernel:System.map -O binary zImage System.map.gz objcopy -j .kernel:.config -O binary zImage config.gz objcopy -j .kernel:initrd -O binary zImage.initrd initrd.gz Peter