FS#69663 - [glibc] Restore compatibility with kernel < 4.4

Attached to Project: Arch Linux
Opened by Chih-Hsuan Yen (yan12125) - Tuesday, 16 February 2021, 17:27 GMT
Last edited by Allan McRae (Allan) - Tuesday, 16 February 2021, 20:50 GMT
Task Type Feature Request
Category Packages: Core
Status Closed
Assigned To Allan McRae (Allan)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

Since glibc 2.33-4 [1], kernel >= 4.4 is required, while previous glibc versions works fine with ancient kernels. This issue breaks running Arch Linux containers on old systems like CentOS 7.

$ uname -r
3.10.0-862.14.4.el7.x86_64
$ sudo docker run --security-opt seccomp=unconfined --rm -it archlinux:latest
[root@c0bde8a7e5fe /]# pacman
warning: database file for 'core' does not exist (use '-Sy' to download)
warning: database file for 'extra' does not exist (use '-Sy' to download)
warning: database file for 'community' does not exist (use '-Sy' to download)
error: no operation specified (use -h for help)
[root@c0bde8a7e5fe /]# pacman -Sy
:: Synchronizing package databases...
core 130.9 KiB 291 KiB/s 00:00 [#######################################################] 100%
extra 1653.0 KiB 857 KiB/s 00:02 [#######################################################] 100%
community 5.4 MiB 3.00 MiB/s 00:02 [#######################################################] 100%
[root@c0bde8a7e5fe /]# pacman -Su
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (16) cryptsetup-2.3.4-2 device-mapper-2.03.11-4 e2fsprogs-1.46.1-1 glib2-2.66.7-1 glibc-2.33-4 hwids-20201207-1 iana-etc-20210202-1
libassuan-2.5.4-2 libcap-2.48-1 npth-1.6-3 pacman-5.2.2-2 pacman-mirrorlist-20210214-1 psmisc-23.4-1 tar-1.34-1 util-linux-2.36.2-1
util-linux-libs-2.36.2-1

Total Download Size: 20.44 MiB
Total Installed Size: 98.48 MiB
Net Upgrade Size: 0.85 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
iana-etc-20210202-1-any 391.4 KiB 558 KiB/s 00:01 [#######################################################] 100%
glibc-2.33-4-x86_64 9.8 MiB 2.21 MiB/s 00:04 [#######################################################] 100%
util-linux-libs-2.36.2-1-x86_64 414.8 KiB 21.3 MiB/s 00:00 [#######################################################] 100%
e2fsprogs-1.46.1-1-x86_64 1224.9 KiB 2.61 MiB/s 00:00 [#######################################################] 100%
libcap-2.48-1-x86_64 60.6 KiB 0.00 B/s 00:00 [#######################################################] 100%
device-mapper-2.03.11-4-x86_64 293.5 KiB 0.00 B/s 00:00 [#######################################################] 100%
cryptsetup-2.3.4-2-x86_64 568.2 KiB 2.46 MiB/s 00:00 [#######################################################] 100%
glib2-2.66.7-1-x86_64 2.8 MiB 2.03 MiB/s 00:01 [#######################################################] 100%
hwids-20201207-1-any 458.9 KiB 236 KiB/s 00:02 [#######################################################] 100%
libassuan-2.5.4-2-x86_64 106.1 KiB 51.8 MiB/s 00:00 [#######################################################] 100%
npth-1.6-3-x86_64 24.5 KiB 0.00 B/s 00:00 [#######################################################] 100%
pacman-mirrorlist-20210214-1-any 6.7 KiB 0.00 B/s 00:00 [#######################################################] 100%
pacman-5.2.2-2-x86_64 838.6 KiB 1880 KiB/s 00:00 [#######################################################] 100%
psmisc-23.4-1-x86_64 186.8 KiB 0.00 B/s 00:00 [#######################################################] 100%
tar-1.34-1-x86_64 817.2 KiB 1845 KiB/s 00:00 [#######################################################] 100%
util-linux-2.36.2-1-x86_64 2.5 MiB 1889 KiB/s 00:01 [#######################################################] 100%
(16/16) checking keys in keyring [#######################################################] 100%
(16/16) checking package integrity [#######################################################] 100%
(16/16) loading package files [#######################################################] 100%
(16/16) checking for file conflicts [#######################################################] 100%
:: Processing package changes...
( 1/16) upgrading iana-etc [#######################################################] 100%
( 2/16) upgrading glibc [#######################################################] 100%
FATAL: kernel too old
error: command failed to execute correctly
( 3/16) upgrading util-linux-libs [#######################################################] 100%
( 4/16) upgrading e2fsprogs [#######################################################] 100%
( 5/16) upgrading libcap [#######################################################] 100%
( 6/16) upgrading device-mapper [#######################################################] 100%
( 7/16) upgrading cryptsetup [#######################################################] 100%
( 8/16) upgrading glib2 [#######################################################] 100%
( 9/16) upgrading hwids [#######################################################] 100%
(10/16) upgrading libassuan [#######################################################] 100%
(11/16) upgrading npth [#######################################################] 100%
(12/16) upgrading pacman-mirrorlist [#######################################################] 100%
warning: /etc/pacman.d/mirrorlist installed as /etc/pacman.d/mirrorlist.pacnew
(13/16) upgrading pacman [#######################################################] 100%
(14/16) upgrading psmisc [#######################################################] 100%
(15/16) upgrading tar [#######################################################] 100%
(16/16) upgrading util-linux [#######################################################] 100%
FATAL: kernel too old
error: command terminated by signal 6: Aborted
:: Running post-transaction hooks...
(1/5) Creating system user accounts...
FATAL: kernel too old
error: command failed to execute correctly
(2/5) Reloading system manager configuration...
FATAL: kernel too old
error: command failed to execute correctly
(3/5) Creating temporary files...
FATAL: kernel too old
error: command failed to execute correctly
(4/5) Reloading device manager configuration...
FATAL: kernel too old
error: command failed to execute correctly
(5/5) Arming ConditionNeedsUpdate...
FATAL: kernel too old
error: command failed to execute correctly
[root@c0bde8a7e5fe /]# ls
FATAL: kernel too old

PS. `--security-opt seccomp=unconfined` is used to workaround outdated runc [2].

[1] https://github.com/archlinux/svntogit-packages/commit/893b1c268abc8822332655865e3d4546025a9b4b
[2] https://github.com/moby/moby/pull/42014

Additional info:
core/glibc 2.33-4

Steps to reproduce:
Upgrade to the latest Docker on a CentOS 7 machine and run commands mentioned above
This task depends upon

Closed by  Allan McRae (Allan)
Tuesday, 16 February 2021, 20:50 GMT
Reason for closing:  Won't fix
Comment by Emil (xexaxo) - Tuesday, 16 February 2021, 17:52 GMT
This seems like a duplicate of  FS#69576 

To summarise: 4.4 was chosen as the oldest supported kernel upstream.

You can refer to Greg KH - twitter or various talks, why you want to use actively supported kernels.
Follow the white rabbit https://twitter.com/gregkh
Comment by Eli Schwartz (eschwartz) - Tuesday, 16 February 2021, 17:58 GMT
CentOS 7 went out of general support in August and no longer receives updates except via the security team (but heaven forbid they update to a kernel that still receives security updates).

I don't see a good reason to change policy and support this use case when CentOS 8 exists.

Loading...