On Wed, Aug 02, 2023 at 02:17:57PM +0200, Simon Horman wrote: > On Wed, Aug 02, 2023 at 02:16:33PM +0200, Simon Horman wrote: > > 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@xxxxxxxxxx> wrote: > > > > > > > > On Mon, Jul 24, 2023 at 10:21:40AM +0800, Pingfan Liu wrote: > > > > > From: Jeremy Linton <jeremy.linton@xxxxxxx> > > > > > > > > > > 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@xxxxxxx> > > > > > [Modified by Pingfan to export kernel fd] > > > > > Signed-off-by: Pingfan Liu <piliu@xxxxxxxxxx> > > > > > > > > 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? > > Actually it seems to be added by this patch (sorry for not noticing)! > So I guess it is an include path problem. I think I have found the problem. The kexec-tools build system is a bit unusual, and the new file, kexec-pe-zboot.h, was not included in distribution tarballs. Thus the build failures. I think you can resolve that by squashing the following into this patch. diff --git a/include/Makefile b/include/Makefile --- a/include/Makefile +++ b/include/Makefile @@ -1,6 +1,7 @@ dist += include/Makefile \ include/config.h \ include/config.h.in \ + include/kexec-pe-zboot.h \ include/kexec-uImage.h \ include/x86/x86-linux.h \ include/x86/mb_info.h \ _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec