kexec build with pre 4.4 kernels

Federico Pellegrin fede at evolware.org
Sun Jan 31 22:51:19 EST 2021


Hello,
I've had problems buidling kexec-tools with pretty old (but currently
official in "enterprise" distributions....) kernels, namely a 3.10.x
series in the scope of a buildroot image generation.

It boils down to being due to missing VIDEO_CAPABILITY_64BIT_BASE
define (that appeared from 4.4.x kernels it seems in screen_info.h) in
kexec/arch/i386/x86-linux-setup.c from
a98b4da4fd4f1c7ad9a47ade17f377b833e5c9ae.

The local fix could be trivial, something like:


diff --git a/package/kexec/0003-kexec-tools-video-capability-64bit-define.patch
b/package/kexec/0003-kexec-tools-video-capability-64bit-define.patch
new file mode 100644
index 0000000000..93a66bb1a7
--- /dev/null
+++ b/package/kexec/0003-kexec-tools-video-capability-64bit-define.patch
@@ -0,0 +1,13 @@
+--- a/kexec/arch/i386/x86-linux-setup.c
++++ b/kexec/arch/i386/x86-linux-setup.c
+@@ -37,6 +37,10 @@
+ #include "x86-linux-setup.h"
+ #include "../../kexec/kexec-syscall.h"
+
++#ifndef VIDEO_CAPABILITY_64BIT_BASE
++#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1)  /* Frame buffer base
is 64-bit */
++#endif
++
+ void init_linux_parameters(struct x86_linux_param_header *real_mode)
+ {
+       /* Fill in the values that are usually provided by the kernel. */

But I was wondering if this is something that would get considered or
dropped, and better managed at buildroot or so level, given the very
old version we are talking about.

Many thanks,
Federico



More information about the kexec mailing list