Hi Pingfan, Hi Simon, I know I'm a little bit too late, but I finally had time to take a look. All in all the series looks fine to me. But I have two questions. 1) Is there a reason why you don't enable the UKI for x86 as well? The way I see it patch 1 and 2 cover x86 as well. So you only should need a patch similar to patch 3. Or am I missing something? 2) Would it make sense to "reuse" the mechanism you introduced for the initrd for the command line as well. I.e. if it's a UKI with a .cmdline section and the user didn't provide any of the --command-line, --reuse-cmdline, etc. then use the command line from the UKI. Thanks Philipp On Wed, 16 Oct 2024 19:34:12 +0800 Pingfan Liu <piliu@xxxxxxxxxx> wrote: > As a UEFI PE format kernel image becomes more popular, there is a need > for kexec to reboot those kinds of images. > > After the introduction of the UKI (another PE), at present, there are > three competitive methods to support that goal, but all of them have > pros and cons.[1] It seems that none of them can be accepted in the near > future. Therefore, we are resorting to the user space kexec-tools to > parse the UKI format for the time being. > > By parsing the UKI, systemd-stub is stepped around and PCM will not affect > the boot up of the second system. > > [1]: https://github.com/rhkdump/kexec_uefi/blob/main/overview.md#the-competitive-solutions > > Cc: Simon Horman <horms@xxxxxxxxxx> > Cc: Eric Biederman <ebiederm@xxxxxxxxxxxx> > Cc: Baoquan He <bhe@xxxxxxxxxx> > Cc: Dave Young <dyoung@xxxxxxxxxx> > Cc: Ard Biesheuvel <ardb@xxxxxxxxxx> > Cc: Jan Hendrik Farr <kernel@xxxxxxxx> > Cc: Philipp Rudo <prudo@xxxxxxxxxx> > Cc: Lennart Poettering <mzxreary@xxxxxxxxxxx> > Cc: kexec@xxxxxxxxxxxxxxxxxxx > --- > v1 -> v2: > Add include/pe.h in makefile to fix 'make dist' > Rename default_initrd_fd to implicit_initrd_fd > > > Pingfan Liu (3): > kexec: Introduce implicit_initrd_fd to pass internal initrd > information > kexec: Introduce UKI image parser > arm64: Support UKI image format > > include/Makefile | 1 + > include/pe.h | 104 +++++++++++++++++++++++ > kexec/Makefile | 1 + > kexec/arch/arm64/kexec-arm64.c | 1 + > kexec/arch/arm64/kexec-image-arm64.c | 3 +- > kexec/arch/x86_64/kexec-bzImage64.c | 3 +- > kexec/kexec-uki.c | 122 +++++++++++++++++++++++++++ > kexec/kexec.c | 2 + > kexec/kexec.h | 5 ++ > 9 files changed, 240 insertions(+), 2 deletions(-) > create mode 100644 include/pe.h > create mode 100644 kexec/kexec-uki.c > _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec