[PATCH 0/5] arm64: zboot support

Pingfan Liu piliu at redhat.com
Thu May 11 20:10:28 PDT 2023


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 at redhat.com> 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 at lists.infradead.org
> Cc: horms at verge.net.au
> Cc: ardb at kernel.org
> Cc: jeremy.linton at arm.com
>
> 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
>




More information about the kexec mailing list