New: build buildroot with glibc and linux kernel 5.4 will cause error: "FATAL: kernel too old"
https://bugs.busybox.net/show_bug.cgi?id=14916
Bug ID: 14916
Summary: build buildroot with glibc and linux kernel 5.4 will
cause error: "FATAL: kernel too old"
Product: buildroot
Version: 2022.02.3
Hardware: All
OS: Linux
Status: NEW
Severity: major
Priority: P5
Component: Other
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
Refer to this article for details: https://www.jianshu.com/p/55952ae88965
1. qemu start error
[ 3.405278] Run /sbin/init as init process FATAL: kernel too old [ 3.484534] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 [ 3.484974] CPU: 0 PID: 1 Comm: init Not tainted 5.4.195 #1
2. environment
host arch linux kernel buildroot glibc ubuntu 20.04 x86_64 5.4.0-195/5.4.195 2022.02.3 2.34
3. error analysis
- buildroot set BR2_TOOLCHAIN_HEADERS_AT_LEAST to 5.4
- but glibc's --enable-kernel=X.Y.Z
- buildroot missing Z
4. temporary solution
modify buildroot's .config BR2_TOOLCHAIN_HEADERS_AT_LEAST to 5.4.0
5. recompile and start ok
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
https://bugs.busybox.net/show_bug.cgi?id=14916
Fugui Liu <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|build buildroot with glibc |build buildroot with glibc
|and linux kernel 5.4 will |and linux kernel 5.4, start
|cause error: "FATAL: kernel |with qemu will cause error:
|too old" |"FATAL: kernel too old"Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=14916
Fugui Liu <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |2022.02
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=14916
--- Comment #1 from Thomas Petazzoni <[email protected]> --- Thanks for the bug report. I am surprised we never realized this before.
Isn't the solution as simple as:
package/glibc/glibc.mk +0 -1
@@ -99,7 +99,7 @@ GLIBC_MAKE = $(BR2_MAKE) GLIBC_CONF_ENV += ac_cv_prog_MAKE="$(BR2_MAKE)" ifeq ($(BR2_PACKAGE_GLIBC_KERNEL_COMPAT),) -GLIBC_CONF_OPTS += --enable-kernel=$(call
qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST))
+GLIBC_CONF_OPTS += --enable-kernel=$(call
qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)).0
endif
# Even though we use the autotools-package infrastructure, we have to
Indeed, $(BR2_TOOLCHAIN_HEADERS_AT_LEAST) never includes the minor version as far as I can see. Yann, any opinion?
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=14916
Yann E. MORIN <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]
--- Comment #2 from Yann E. MORIN <[email protected]> --- (In reply to Thomas Petazzoni from comment #1)
Review
Quoted 2 lines
(quoted diff) +1
-1-GLIBC_CONF_OPTS += --enable-kernel=$(call strip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)) +GLIBC_CONF_OPTS += --enable-kernel=$(call qstrip,$(BR2_TOOLCHAIN_HEADERS_AT_LEAST)).0
It should not be necessary, because the glibc machinery explicitly already adds a buncha dot-zeroes:
https://github.com/bminor/glibc/blob/master/sysdeps/unix/sysv/linux/configure.ac#L39
(mips has a special case, but uses the same construct).
user_version=$((`echo "$minimum_kernel.0.0.0" | [....]
with minimum_kernel defined there, from --enable-kernel=NNN :
https://github.com/bminor/glibc/blob/master/configure.ac#L273
Note that this is not recent; it's been there since 48d0c5d847a, in 2000...
So yeah, weird...
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=14916
--- Comment #3 from Fugui Liu <[email protected]> --- (In reply to Thomas Petazzoni from comment #1)
The solution I want is to be able to set the minior version when we make xxconfig.
(In reply to Yann E. MORIN from comment #2)
I tested multi combinations.
1. buildroot-2022.02.3 with glibc 2.34 linux kernel 5.4/5.15
2. buildroot-2020.08 with glibc 2.31 linux kernle 5.4/5.7 All throw error: FATAL: kernel too old
If I modify buildroot's .config BR2_TOOLCHAIN_HEADERS_AT_LEAST to 5.4.0, everything is ok.
You can try to build and start.
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=14916
--- Comment #4 from Yann E. MORIN <[email protected]> --- Fugui Liu, All,
Can you provide a defconfig that exhibits the issue, please?
Regards,
Yann E. MORIN.
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
[Buildroot] [Bug 14916] build buildroot with glibc and linux kernel 5.4, start with qemu will cause error: "FATAL: kernel too old"
In reply to [email protected]https://bugs.busybox.net/show_bug.cgi?id=14916
Thomas Petazzoni <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |NEEDINFO
Status|NEW |RESOLVED--- Comment #5 from Thomas Petazzoni <[email protected]> --- No feedback from the contributor, insufficient information to reproduce, so closing the bug.
Signature · 6 lines
You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot