I have rebased Jeremy's V2 (which is off-list) onto my new code. The whole series since commit a8de94e: LoongArch: kdump: Set up kernel image segment is available in the Git repository at https://github.com/pfliu/kexec-tools/tree/zboot up to the head I have compiled it on x86_64 and aarch64, and successfully booted the zboot image on aarch64 @Simon, is there any instruction to do the cross-building for kexec-tools, so I can verify the pattern substitution works well on other arches. I think I can post it to the list with a cover-letter after verification. Thanks, Pingfan On Fri, May 5, 2023 at 10:54 AM Pingfan Liu <piliu@xxxxxxxxxx> wrote: > > As more complicated capsule kernel format occurs like zboot, where the > compressed kernel is stored as a payload. The straight forward > decompression can not meet the demand. > > As the first step, on aarch64, reading in the kernel file in a probe > method and decide how to unfold the content by the method itself. > > The new designed probe interface returns two factors: > 1. the parsed kernel_buf should be returned so that it can be used by > the image load method later. > 2. the final fd passed to sys_kexec_file_load, since aarch64 kernel can > only work with Image format, the outer payload should be stripped and a > temporary file of Image should be created. > > > To: kexec@xxxxxxxxxxxxxxxxxxx > Cc: horms@xxxxxxxxxxxx > Cc: ardb@xxxxxxxxxx > Cc: jeremy.linton@xxxxxxx > > Pingfan Liu (5): > kexec: Adding missing free for kernel_buf > arm64/zImage: Remove unnecessary allocation for > kernel_uncompressed_buf > arm64: change the prototype of image probe function > arm64: Scatter the reading of kernel file into each probe > arm64: add support for zboot image > > kexec/arch/arm/kexec-arm.h | 4 +- > kexec/arch/arm/kexec-uImage-arm.c | 2 +- > kexec/arch/arm64/Makefile | 3 +- > kexec/arch/arm64/kexec-arm64.c | 1 + > kexec/arch/arm64/kexec-arm64.h | 13 +- > kexec/arch/arm64/kexec-elf-arm64.c | 7 +- > kexec/arch/arm64/kexec-image-arm64.c | 6 +- > kexec/arch/arm64/kexec-uImage-arm64.c | 17 +- > kexec/arch/arm64/kexec-zImage-arm64.c | 23 +-- > kexec/arch/arm64/kexec-zboot-arm64.c | 261 ++++++++++++++++++++++++++ > kexec/arch/arm64/zboot.h | 26 +++ > kexec/kexec.c | 48 +++-- > kexec/kexec.h | 8 + > 13 files changed, 377 insertions(+), 42 deletions(-) > create mode 100644 kexec/arch/arm64/kexec-zboot-arm64.c > create mode 100644 kexec/arch/arm64/zboot.h > > -- > 2.31.1 > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec