Hi, A zImage is ppc64 elf executable file containing an elf section ".kernel:vmlinux.strip" in which a vmlinux file is compressed. The support for such files is simply added by detecting the ".kernel:vmlinux.strip" section when a ppc64 executable is loaded. If found, the embedded vmlinux file is uncompressed and loaded in lieu of the original zImage file. Patch 1 adds a simple helper routine to look for a section. Patch 2 adds a proposal to bypass the check on the interp program header which is needed for zImage files on little endian. Patch 3 adds the core funtionnality and the final patches are ppc64 compile cleanups which poluted output. Also available here : https://github.com/legoater/kexec-tools zimage Comments are welcome ! Thanks C. C?dric Le Goater (7): kexec: add a elf_rel_find_section service kexec: bypass check on interp program header for ppc64le zImage ppc64: detect zImage files and load the uncompressed vmlinux ppc64, cleanup: cmdline_len variables are unused ppc64, cleanup: remove dead code in kexec-zImage-ppc64 ppc64, cleanup: fix implicit declaration compile warnings ppc64, cleanup: fix unused variable compile warning kexec/arch/arm/kexec-elf-rel-arm.c | 5 + kexec/arch/cris/kexec-elf-rel-cris.c | 5 + kexec/arch/i386/kexec-elf-rel-x86.c | 5 + kexec/arch/ia64/kexec-elf-rel-ia64.c | 5 + kexec/arch/m68k/kexec-elf-rel-m68k.c | 5 + kexec/arch/mips/kexec-elf-rel-mips.c | 5 + kexec/arch/ppc/kexec-elf-rel-ppc.c | 5 + kexec/arch/ppc64/crashdump-ppc64.c | 3 +- kexec/arch/ppc64/kexec-elf-ppc64.c | 23 +++- kexec/arch/ppc64/kexec-elf-rel-ppc64.c | 35 +++-- kexec/arch/ppc64/kexec-ppc64.c | 1 + kexec/arch/ppc64/kexec-ppc64.h | 2 + kexec/arch/ppc64/kexec-zImage-ppc64.c | 214 ++++++++++++++---------------- kexec/arch/s390/kexec-elf-rel-s390.c | 5 + kexec/arch/sh/kexec-elf-rel-sh.c | 5 + kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 5 + kexec/kexec-elf-exec.c | 4 + kexec/kexec-elf-rel.c | 17 +++ kexec/kexec-elf.h | 3 + 19 files changed, 208 insertions(+), 144 deletions(-) -- 1.7.10.4