commit: bfe7a67acfb397d789918ac2065d01470224cf3b
parent c41d2817e896fa5c16712063c9b630dc2f8ba291
Author: fosslinux <fosslinux@aussies.space>
Date: Thu, 10 Jun 2021 20:27:45 +1000
Add kexec-tools 2.0.22.
Diffstat:
7 files changed, 73 insertions(+), 0 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -0,0 +1,16 @@
+# SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
+#
+# 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
@@ -0,0 +1,17 @@
+SPDX-FileCopyrightText: 2021 fosslinux <fosslinux@aussies.space>
+
+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
@@ -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