From bfe7a67acfb397d789918ac2065d01470224cf3b Mon Sep 17 00:00:00 2001 From: fosslinux Date: Thu, 10 Jun 2021 20:27:45 +1000 Subject: [PATCH] Add kexec-tools 2.0.22. --- SHA256SUMS.sources | 1 + parts.rst | 31 +++++++++++++++++++ sysa.py | 4 +++ sysa/kexec-tools-2.0.22/checksums | 2 ++ sysa/kexec-tools-2.0.22/kexec-tools-2.0.22.sh | 16 ++++++++++ .../patches/bad-gcc-arg.patch | 17 ++++++++++ sysa/run.sh | 2 ++ 7 files changed, 73 insertions(+) create mode 100644 sysa/kexec-tools-2.0.22/checksums create mode 100755 sysa/kexec-tools-2.0.22/kexec-tools-2.0.22.sh create mode 100644 sysa/kexec-tools-2.0.22/patches/bad-gcc-arg.patch diff --git a/SHA256SUMS.sources b/SHA256SUMS.sources index 5987a43..5c59794 100644 --- a/SHA256SUMS.sources +++ b/SHA256SUMS.sources @@ -98,3 +98,4 @@ e40b8f018c1da64edd1cc9a6fce5fa63b2e707e404e20cad91fbae337c98a5b7 make-4.2.1.tar 57cc47c735c8300a8ce2fa0643507b44c4ae59012bfdad0121313db639e02309 perl-5.32.1.tar.xz 3ec396d97debb6c1a112c1c6ff58b03a55866b75cd4fe06b74295ac9c5fc5ff2 perl-5f2dc80.tar.bz2 84d2079a20ba32f5e2d5bc79a5dcb1de94d0176c67d75d5a20d533ea6c90d691 linux-headers-5.10.41.tar.gz +af618de7848142f204b57811f703de3ae7aa3f5bc5d52226db35800fa8fc4dff kexec-tools-2.0.22.tar.gz diff --git a/parts.rst b/parts.rst index f4c0cff..76062d4 100644 --- a/parts.rst +++ b/parts.rst @@ -535,6 +535,37 @@ gcc 4.0.4 Rebuild GCC with GCC and also against the latest musl. +util-linux 2.19.1 +================= + +``util-linux`` contains a number of general system administration utilities. +Most pressingly, we need these for being able to mount disks (for non-chroot +mode, but it is built it in chroot mode anyway because it will likely be useful +later). The latest version is not used because of autotools/GCC +incompatibilities. + +kbd-1.15 +======== + +``kbd`` contains ``loadkeys`` which is required for building the Linux kernel. +The 2.x series is not used because it requires particular features of autotools +that we do not have avaliable. + +make 3.82 +========= + +GNU Make is updated by .02. The most notable thing is this is now built properly +using the build system and GCC, which means that it does not randomly segfault +while building the Linux kernel. + +kexec-tools 2.0.22 +================== + +``kexec`` is a utility for the Linux kernel that allows the re-execution of the +Linux kernel without a manual restart from within a running system. It is a +kind of soft-restart. It is only built for non-chroot mode, as we only use it +in non-chroot mode. It is used to go into sysb/sysc. + bash 5.1 ======== diff --git a/sysa.py b/sysa.py index 15fc4b0..c84eae8 100755 --- a/sysa.py +++ b/sysa.py @@ -377,6 +377,10 @@ class SysA: # musl 1.2.2 self.get_file("https://musl.libc.org/releases/musl-1.2.2.tar.gz") + # kexec-tools 2.0.22 + self.get_file("https://github.com/horms/kexec-tools/archive/refs/tags/v2.0.22.tar.gz", + output="kexec-tools-2.0.22.tar.gz") + # bash 5.1 self.get_file("https://mirrors.kernel.org/gnu/bash/bash-5.1.tar.gz") diff --git a/sysa/kexec-tools-2.0.22/checksums b/sysa/kexec-tools-2.0.22/checksums new file mode 100644 index 0000000..5c0bae1 --- /dev/null +++ b/sysa/kexec-tools-2.0.22/checksums @@ -0,0 +1,2 @@ +55636ab04343262e257e2559074e36358b292491a90ff50f2a6ad2f94eb29b28 /after/lib/kexec-tools/kexec_test +a5aa102f82e88b027d6343f1676fd85cf920d7fc541dafb8e9ebc68a8931eaba /after/sbin/kexec diff --git a/sysa/kexec-tools-2.0.22/kexec-tools-2.0.22.sh b/sysa/kexec-tools-2.0.22/kexec-tools-2.0.22.sh new file mode 100755 index 0000000..a52b124 --- /dev/null +++ b/sysa/kexec-tools-2.0.22/kexec-tools-2.0.22.sh @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: 2021 fosslinux +# +# SPDX-License-Identifier: GPL-3.0-or-later + +src_prepare() { + default + + autoreconf -fi +} + +src_configure() { + ./configure --prefix=${PREFIX} \ + --target=i386-unknown-linux-gnu \ + --host=i386-unknown-linux-gnu \ + --build=i386-unknown-linux-gnu +} diff --git a/sysa/kexec-tools-2.0.22/patches/bad-gcc-arg.patch b/sysa/kexec-tools-2.0.22/patches/bad-gcc-arg.patch new file mode 100644 index 0000000..a0cab66 --- /dev/null +++ b/sysa/kexec-tools-2.0.22/patches/bad-gcc-arg.patch @@ -0,0 +1,17 @@ +SPDX-FileCopyrightText: 2021 fosslinux + +SPDX-License-Identifier: GPL-2.0-only + +GCC 4 does not recognise -fno-stack-protector. + +--- purgatory/Makefile 2021-06-03 17:03:41.534638295 +1000 ++++ purgatory/Makefile 2021-06-03 17:03:50.489716136 +1000 +@@ -49,7 +49,7 @@ + $($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ + -Os -fno-builtin -ffreestanding \ + -fno-zero-initialized-in-bss \ +- -fno-PIC -fno-PIE -fno-stack-protector ++ -fno-PIC -fno-PIE + + $(PURGATORY): CPPFLAGS=$($(ARCH)_PURGATORY_EXTRA_CFLAGS) \ + -I$(srcdir)/purgatory/include \ diff --git a/sysa/run.sh b/sysa/run.sh index a40f5ca..52b9ff8 100755 --- a/sysa/run.sh +++ b/sysa/run.sh @@ -149,6 +149,8 @@ build musl-1.2.2 build gcc-4.0.4 pass2.sh checksums/pass2 +build kexec-tools-2.0.22 + build bash-5.1 exec env -i PATH=${PREFIX}/bin PREFIX=${PREFIX} SOURCES=${SOURCES} bash run2.sh