c10c178a92
If the vmlinux binary in memory is larger than 4 MiB than it collides with the initial boot code which is linked at 4 MiB in case of cuBoot. If the the uncompressed image size (on disk size) is less than 4 MiB then it would fit. The difference between those two sizes is the bss section. In cuBoot we have the dtb embedded right after the data section so it is very likely that the reset of the bss section (in kernel's start up code) will overwrite the dtb blob. Therefore we reallocate the dtb. Something similar is allready done to the initrd. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> |
||
---|---|---|
.. | ||
dtc-src | ||
dts | ||
libfdt | ||
.gitignore | ||
4xx.c | ||
4xx.h | ||
44x.h | ||
addnote.c | ||
addRamDisk.c | ||
bamboo.c | ||
cpm-serial.c | ||
crt0.S | ||
crtsavres.S | ||
cuboot-8xx.c | ||
cuboot-52xx.c | ||
cuboot-83xx.c | ||
cuboot-85xx-cpm2.c | ||
cuboot-85xx.c | ||
cuboot-824x.c | ||
cuboot-acadia.c | ||
cuboot-bamboo.c | ||
cuboot-c2k.c | ||
cuboot-ebony.c | ||
cuboot-katmai.c | ||
cuboot-mpc7448hpc2.c | ||
cuboot-pq2.c | ||
cuboot-rainier.c | ||
cuboot-sam440ep.c | ||
cuboot-sequoia.c | ||
cuboot-taishan.c | ||
cuboot-warp.c | ||
cuboot-yosemite.c | ||
cuboot.c | ||
cuboot.h | ||
dcr.h | ||
devtree.c | ||
div64.S | ||
dummy.c | ||
ebony.c | ||
elf_util.c | ||
elf.h | ||
ep88xc.c | ||
ep405.c | ||
ep8248e.c | ||
fixed-head.S | ||
flatdevtree_env.h | ||
fsl-soc.c | ||
fsl-soc.h | ||
gunzip_util.c | ||
gunzip_util.h | ||
hack-coff.c | ||
holly.c | ||
install.sh | ||
io.h | ||
libfdt_env.h | ||
libfdt-wrapper.c | ||
main.c | ||
Makefile | ||
mktree.c | ||
mpc8xx.c | ||
mpc8xx.h | ||
mpc52xx-psc.c | ||
mpsc.c | ||
mv64x60_i2c.c | ||
mv64x60.c | ||
mv64x60.h | ||
ns16550.c | ||
of.c | ||
of.h | ||
ofconsole.c | ||
oflib.c | ||
ops.h | ||
page.h | ||
planetcore.c | ||
planetcore.h | ||
ppc_asm.h | ||
ppcboot.h | ||
pq2.c | ||
pq2.h | ||
prpmc2800.c | ||
ps3-head.S | ||
ps3-hvcall.S | ||
ps3.c | ||
README | ||
redboot-8xx.c | ||
redboot-83xx.c | ||
redboot.h | ||
reg.h | ||
rs6000.h | ||
serial.c | ||
simple_alloc.c | ||
simpleboot.c | ||
stdio.c | ||
stdio.h | ||
stdlib.c | ||
stdlib.h | ||
string.h | ||
string.S | ||
treeboot-bamboo.c | ||
treeboot-ebony.c | ||
treeboot-walnut.c | ||
types.h | ||
uartlite.c | ||
util.S | ||
virtex405-head.S | ||
virtex.c | ||
wrapper | ||
zImage.coff.lds.S | ||
zImage.lds.S | ||
zImage.ps3.lds.S |
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