[PATCHv6 3/5] kexec/zboot: Add arch independent zboot support

Simon Horman horms at kernel.org
Wed Aug 2 05:16:33 PDT 2023


On Wed, Aug 02, 2023 at 05:53:59PM +0800, Pingfan Liu wrote:
> Hi Simon,
> 
> Thanks for the try. Please see the comment below.
> 
> On Tue, Aug 1, 2023 at 3:00 PM Simon Horman <horms at kernel.org> wrote:
> >
> > On Mon, Jul 24, 2023 at 10:21:40AM +0800, Pingfan Liu wrote:
> > > From: Jeremy Linton <jeremy.linton at arm.com>
> > >
> > > The linux kernel CONFIG_ZBOOT option creates
> > > self decompressing PE kernel images. So this means
> > > that kexec should have a generic understanding of
> > > the format which may be used by multiple arches.
> > >
> > > So lets add an arch independent validation
> > > and decompression routine.
> > >
> > > Signed-off-by: Jeremy Linton <jeremy.linton at arm.com>
> > > [Modified by Pingfan to export kernel fd]
> > > Signed-off-by: Pingfan Liu <piliu at redhat.com>
> >
> > Hi Pingfan,
> >
> > unfortunately this causes a build failure on hppa.
> >
> > ../../kexec/kexec-pe-zboot.c:31:10: fatal error: kexec-pe-zboot.h: No such file or directory
> >    31 | #include <kexec-pe-zboot.h>
> >       |          ^~~~~~~~~~~~~~~~~~
> >
> > Link: https://github.com/horms/kexec-tools/actions/runs/5723580523/job/15508425790
> >
> 
> It is not related to cross-compiling. Actually, I have tried to
> simplify the test matrix, which limits the compilation only on x86_64.
> And I got the similar error [1]
> 
> The workflow control file is [2], which clips out all arches except
> x86_64.  But I can successfully build it on the Fedora system with the
> following bash script, which is based on the github's build log.  So
> maybe it is a bug with the compiling tools?
> 
> kexec_tools_dir="./"
> 
> mkdir $kexec_tools_dir/_build \
>          $kexec_tools_dir/_build/sub \
>          $kexec_tools_dir/_inst \
>          $kexec_tools_dir/_dest
> chmod a-w $kexec_tools_dir
> test -d $kexec_tools_dir/_build
> INSTALL_BASE=$(cd $kexec_tools_dir/_inst && pwd | sed -e
> 's,^[^:\\/]:[\\/],/,') &&\
>         DESTDIR="$kexec_tools_dir/_dest" && \
>         cd $kexec_tools_dir/_build/sub && \
>                 ../../configure \
>                  \
>                 --srcdir=../.. --prefix="$INSTALL_BASE" && \
>         make  -j8
> 
> 
> [1]: https://github.com/pfliu/kexec-tools/actions/runs/5737254109/job/15548520863
> [2]: https://github.com/pfliu/kexec-tools/blob/zbootV6/.github/workflows/main.yml

Thanks,

I guess that kexec-pe-zboot.h is missing in the build environment for the
GitHub actions, but present in your Fedora environment.

Could you take a look and see where your copy of kexec-pe-zboot.h
came from?



More information about the kexec mailing list