summaryrefslogtreecommitdiffstats
path: root/testing/source
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2024-07-25 20:22:54 +0000
committer Eric Hameleers <alien@slackware.com>2024-07-25 23:16:46 +0200
commitbca17f28ccefb0ab1fd45bbacc572fa457e1bb68 (patch)
tree1d49aba1a116e97efc6022b10ccd6cad1b586d58 /testing/source
parent3fb0490c728ea33222f51f46b507884af000fac1 (diff)
downloadcurrent-bca17f28ccefb0ab1fd45bbacc572fa457e1bb68.tar.gz
current-bca17f28ccefb0ab1fd45bbacc572fa457e1bb68.tar.xz
Thu Jul 25 20:22:54 UTC 202420240725202254
Enjoy your shiny new vmlinuz-6.9.11-generic! Thanks again to LuckyCyborg for teaching me about the path of least resistance. a/grub-2.12-x86_64-14.txz: Rebuilt. Don't mention 09_slackware_linux in the /etc/default/grub comments. a/kernel-generic-6.9.11-x86_64-1.txz: Upgraded. a/kernel-huge-6.9.11-x86_64-1.txz: Upgraded. a/kernel-modules-6.9.11-x86_64-1.txz: Upgraded. a/mkinitrd-1.4.11-x86_64-35.txz: Rebuilt. d/kernel-headers-6.9.11-x86-1.txz: Upgraded. d/rust-1.80.0-x86_64-1.txz: Upgraded. k/kernel-source-6.9.11-noarch-1.txz: Upgraded. l/xapian-core-1.4.26-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to '')
-rw-r--r--source/a/grub/10_linux.disable_kernel_symlinks.patch (renamed from testing/source/grub/10_linux.disable_kernel_symlinks.patch)0
-rw-r--r--source/a/grub/10_linux.osname.patch (renamed from testing/source/grub/10_linux.osname.patch)0
-rw-r--r--source/a/mkinitrd/doinst.sh (renamed from testing/source/mkinitrd/doinst.sh)0
-rw-r--r--source/a/mkinitrd/geninitrd.default (renamed from testing/source/mkinitrd/geninitrd.default)0
-rw-r--r--testing/source/grub/0001-00_header-add-GRUB_COLOR_-variables.patch41
-rw-r--r--testing/source/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch10
-rw-r--r--testing/source/grub/0003-support-dropins-for-default-configuration.patch28
-rw-r--r--testing/source/grub/0004-add-GRUB_DISABLE_KERNEL_SYMLINKS-variable.patch12
-rw-r--r--testing/source/grub/0198-align-struct-efi_variable-better.patch36
-rw-r--r--testing/source/grub/09_slackware_linux196
-rw-r--r--testing/source/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch34
-rw-r--r--testing/source/grub/doinst.sh29
-rw-r--r--testing/source/grub/etc.default.grub44
-rwxr-xr-xtesting/source/grub/grub.SlackBuild260
-rw-r--r--testing/source/grub/grub.dejavusansmono.gfxterm.font.diff41
-rw-r--r--testing/source/grub/initrd_naming.patch13
-rw-r--r--testing/source/grub/slack-desc19
-rw-r--r--testing/source/grub/update-grub10
-rw-r--r--testing/source/mkinitrd/0001-Fix-LUKSTRIM-with-C-T-and-UUID.patch31
-rw-r--r--testing/source/mkinitrd/0002-bail-if-temp-dir-is-not-created.patch16
-rw-r--r--testing/source/mkinitrd/0003-blacklist.40-usb_modeswitch.rules.patch10
-rw-r--r--testing/source/mkinitrd/0004-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch23
-rw-r--r--testing/source/mkinitrd/0005-support-modules-compressed-with-xz.patch11
-rw-r--r--testing/source/mkinitrd/0006-coreutils-9.1-ensure-target-dir-exists.patch12
-rw-r--r--testing/source/mkinitrd/0007-kmod30.patch14
-rw-r--r--testing/source/mkinitrd/0008-fix-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch23
-rw-r--r--testing/source/mkinitrd/0009-exclude-99-nfs.rules.patch10
-rw-r--r--testing/source/mkinitrd/0010-fix-test-for-jfs-xfs-repair-tools.patch26
-rw-r--r--testing/source/mkinitrd/README.initrd112
-rw-r--r--testing/source/mkinitrd/busybox-dot-config1198
-rw-r--r--testing/source/mkinitrd/geninitrd33
-rw-r--r--testing/source/mkinitrd/init367
-rw-r--r--testing/source/mkinitrd/mkinitrd834
-rw-r--r--testing/source/mkinitrd/mkinitrd.8300
-rwxr-xr-xtesting/source/mkinitrd/mkinitrd.SlackBuild198
-rw-r--r--testing/source/mkinitrd/mkinitrd.conf.5265
-rw-r--r--testing/source/mkinitrd/mkinitrd.conf.sample21
-rw-r--r--testing/source/mkinitrd/mkinitrd.tempfile.to.mktemp.patch19
-rw-r--r--testing/source/mkinitrd/mkinitrd_command_generator.8187
-rw-r--r--testing/source/mkinitrd/mkinitrd_command_generator.sh892
-rw-r--r--testing/source/mkinitrd/setup.01.mkinitrd51
-rw-r--r--testing/source/mkinitrd/slack-desc19
42 files changed, 0 insertions, 5445 deletions
diff --git a/testing/source/grub/10_linux.disable_kernel_symlinks.patch b/source/a/grub/10_linux.disable_kernel_symlinks.patch
index f35e671c6..f35e671c6 100644
--- a/testing/source/grub/10_linux.disable_kernel_symlinks.patch
+++ b/source/a/grub/10_linux.disable_kernel_symlinks.patch
diff --git a/testing/source/grub/10_linux.osname.patch b/source/a/grub/10_linux.osname.patch
index f76adee78..f76adee78 100644
--- a/testing/source/grub/10_linux.osname.patch
+++ b/source/a/grub/10_linux.osname.patch
diff --git a/testing/source/mkinitrd/doinst.sh b/source/a/mkinitrd/doinst.sh
index 9d16b0fd7..9d16b0fd7 100644
--- a/testing/source/mkinitrd/doinst.sh
+++ b/source/a/mkinitrd/doinst.sh
diff --git a/testing/source/mkinitrd/geninitrd.default b/source/a/mkinitrd/geninitrd.default
index 6ceff8d63..6ceff8d63 100644
--- a/testing/source/mkinitrd/geninitrd.default
+++ b/source/a/mkinitrd/geninitrd.default
diff --git a/testing/source/grub/0001-00_header-add-GRUB_COLOR_-variables.patch b/testing/source/grub/0001-00_header-add-GRUB_COLOR_-variables.patch
deleted file mode 100644
index 867e8feeb..000000000
--- a/testing/source/grub/0001-00_header-add-GRUB_COLOR_-variables.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 21e5bcf22ab1a9f08c63e2a0212219d7482f77c1 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail@eworm.de>
-Date: Wed, 10 Mar 2021 18:42:25 +0100
-Subject: [PATCH] 00_header: add GRUB_COLOR_* variables
----
- util/grub-mkconfig.in | 2 ++
- util/grub.d/00_header.in | 8 ++++++++
- 2 files changed, 10 insertions(+)
-
-diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
-index f8cbb8d7a..1189d95f9 100644
---- a/util/grub-mkconfig.in
-+++ b/util/grub-mkconfig.in
-@@ -246,6 +246,8 @@ export GRUB_DEFAULT \
- GRUB_BACKGROUND \
- GRUB_THEME \
- GRUB_GFXPAYLOAD_LINUX \
-+ GRUB_COLOR_NORMAL \
-+ GRUB_COLOR_HIGHLIGHT \
- GRUB_INIT_TUNE \
- GRUB_SAVEDEFAULT \
- GRUB_ENABLE_CRYPTODISK \
-diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
-index 93a90233e..c5955df00 100644
---- a/util/grub.d/00_header.in
-+++ b/util/grub.d/00_header.in
-@@ -125,6 +125,14 @@ cat <<EOF
-
- EOF
-
-+if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
-+ cat << EOF
-+set menu_color_normal=$GRUB_COLOR_NORMAL
-+set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
-+
-+EOF
-+fi
-+
- serial=0;
- gfxterm=0;
- for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/testing/source/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch b/testing/source/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch
deleted file mode 100644
index 601a05b9a..000000000
--- a/testing/source/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./util/grub-mkconfig_lib.in.orig 2023-12-05 08:46:53.000000000 -0600
-+++ ./util/grub-mkconfig_lib.in 2024-01-02 13:44:41.164913702 -0600
-@@ -191,6 +191,7 @@
- case "$1" in
- *.dpkg-*) return 1 ;; # debian dpkg
- *.rpmsave|*.rpmnew) return 1 ;;
-+ *.new|*.orig) return 1 ;; # slackware incoming or backed up config file
- README*|*/README*) return 1 ;; # documentation
- *.sig) return 1 ;; # signatures
- esac
diff --git a/testing/source/grub/0003-support-dropins-for-default-configuration.patch b/testing/source/grub/0003-support-dropins-for-default-configuration.patch
deleted file mode 100644
index 4840487a1..000000000
--- a/testing/source/grub/0003-support-dropins-for-default-configuration.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ac560966d09295663fa9516d8d137e0c0fd04c06 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail@eworm.de>
-Date: Mon, 12 Jun 2023 07:42:01 +0200
-Subject: [PATCH 1/1] support dropins for default configuration
-
----
- util/grub-mkconfig.in | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
-index 1a945085c..4338dceef 100644
---- a/util/grub-mkconfig.in
-+++ b/util/grub-mkconfig.in
-@@ -160,6 +160,11 @@ fi
- if test -f ${sysconfdir}/default/grub ; then
- . ${sysconfdir}/default/grub
- fi
-+for dropin in ${sysconfdir}/default/grub.d/*.cfg ; do
-+ if test -f "${dropin}" ; then
-+ . "${dropin}"
-+ fi
-+done
-
- if [ "x${GRUB_DISABLE_UUID}" = "xtrue" ]; then
- if [ -z "${GRUB_DISABLE_LINUX_UUID}" ]; then
---
-2.41.0
-
diff --git a/testing/source/grub/0004-add-GRUB_DISABLE_KERNEL_SYMLINKS-variable.patch b/testing/source/grub/0004-add-GRUB_DISABLE_KERNEL_SYMLINKS-variable.patch
deleted file mode 100644
index d49925ae1..000000000
--- a/testing/source/grub/0004-add-GRUB_DISABLE_KERNEL_SYMLINKS-variable.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./util/grub-mkconfig.in.orig 2022-11-14 09:52:54.000000000 -0600
-+++ ./util/grub-mkconfig.in 2024-06-26 12:44:00.986119802 -0500
-@@ -255,7 +255,8 @@
- GRUB_ENABLE_CRYPTODISK \
- GRUB_BADRAM \
- GRUB_OS_PROBER_SKIP_LIST \
-- GRUB_DISABLE_SUBMENU
-+ GRUB_DISABLE_SUBMENU \
-+ GRUB_DISABLE_KERNEL_SYMLINKS
-
- if test "x${grub_cfg}" != "x"; then
- rm -f "${grub_cfg}.new"
diff --git a/testing/source/grub/0198-align-struct-efi_variable-better.patch b/testing/source/grub/0198-align-struct-efi_variable-better.patch
deleted file mode 100644
index 8ce8bdc82..000000000
--- a/testing/source/grub/0198-align-struct-efi_variable-better.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 2485633ada06c11c07a34a696a92b14e58f1e846 Mon Sep 17 00:00:00 2001
-From: Peter Jones <pjones@redhat.com>
-Date: Tue, 27 Feb 2018 13:55:35 -0500
-Subject: [PATCH 198/250] align struct efi_variable better...
-
----
- include/grub/efiemu/runtime.h | 2 +-
- include/grub/types.h | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
-index 9b6b729f4cc..856774a7c34 100644
---- a/include/grub/efiemu/runtime.h
-+++ b/include/grub/efiemu/runtime.h
-@@ -33,5 +33,5 @@ struct efi_variable
- grub_uint32_t namelen;
- grub_uint32_t size;
- grub_efi_uint32_t attributes;
--} GRUB_PACKED;
-+} GRUB_PACKED GRUB_ALIGNED(8);
- #endif /* ! GRUB_EFI_EMU_RUNTIME_HEADER */
-diff --git a/include/grub/types.h b/include/grub/types.h
-index b93e4820194..f6a9723971d 100644
---- a/include/grub/types.h
-+++ b/include/grub/types.h
-@@ -29,6 +29,7 @@
- #else
- #define GRUB_PACKED __attribute__ ((packed))
- #endif
-+#define GRUB_ALIGNED(x) __attribute__((aligned (x)))
-
- #ifdef GRUB_BUILD
- # define GRUB_CPU_SIZEOF_VOID_P BUILD_SIZEOF_VOID_P
---
-2.14.3
-
diff --git a/testing/source/grub/09_slackware_linux b/testing/source/grub/09_slackware_linux
deleted file mode 100644
index b3a2499a0..000000000
--- a/testing/source/grub/09_slackware_linux
+++ /dev/null
@@ -1,196 +0,0 @@
-#! /bin/sh
-set -e
-# grub-mkconfig helper script.
-# Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc.
-#
-# GRUB is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# GRUB is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
-#
-# Save this file in /etc/grub.d/09_slackware_linux
-
-prefix="/usr"
-exec_prefix="${prefix}"
-datarootdir="${prefix}/share"
-
-. "${datarootdir}/grub/grub-mkconfig_lib"
-
-export TEXTDOMAIN=grub
-export TEXTDOMAINDIR="${datarootdir}/locale"
-
-CLASS="--class gnu-linux --class gnu --class os"
-
-if [ "${GRUB_DISTRIBUTOR}" = "" ] ; then
- OS=Linux
-else
- OS="${GRUB_DISTRIBUTOR} Linux"
- CLASS="--class $(echo "${GRUB_DISTRIBUTOR}" | tr '[:upper:]' '[:lower:]') ${CLASS}"
-fi
-
-# loop-AES arranges things so that /dev/loop/X can be our root device, but
-# the initrds that Linux uses don't like that.
-case ${GRUB_DEVICE} in
- /dev/loop/*|/dev/loop[0-9])
- GRUB_DEVICE=$(losetup "${GRUB_DEVICE}" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/")
- ;;
-esac
-
-if [ "${GRUB_DEVICE_UUID}" = "" ] || [ "${GRUB_DISABLE_LINUX_UUID}" = "true" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
-
-linux_entry ()
-{
- os="$1"
- tag="$2"
- version="$3"
- recovery="$4"
- args="$5"
- if ${recovery} ; then
- title="$(gettext "%s, with Linux %s [%s] (recovery mode)")"
- else
- title="$(gettext "%s, with Linux %s [%s]")"
- fi
- printf "menuentry \"${title}\" ${CLASS} {\n" "${os}" "${version}" "${tag}"
- save_default_entry | sed -e "s/^/\t/"
-
- # Use ELILO's generic "efifb" when it's known to be available.
- # FIXME: We need an interface to select vesafb in case efifb can't be used.
- if [ "$GRUB_GFXPAYLOAD_LINUX" = "" ]; then
- if grep -qx "CONFIG_FB_EFI=y" /boot/config-"${version}" 2> /dev/null \
- && grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-"${version}" 2> /dev/null; then
- cat << EOF
- set gfxpayload=keep
-EOF
- fi
- else
- cat << EOF
- set gfxpayload=$GRUB_GFXPAYLOAD_LINUX
-EOF
- fi
-
- if [ -z "${prepare_boot_cache}" ]; then
- prepare_boot_cache="$(prepare_grub_to_access_device "${GRUB_DEVICE_BOOT}" | sed -e "s/^/\t/")"
- fi
- printf '%s\n' "${prepare_boot_cache}"
- cat << EOF
- echo $(printf "$(gettext "Loading Linux %s ...")" "${version}")
- linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
-EOF
- if test -n "${initrd}" ; then
- cat << EOF
- echo $(gettext "Loading initial ramdisk ...")
- initrd ${initrd}
-EOF
- fi
- cat << EOF
-}
-EOF
-}
-
-process_list() {
- mylist="$1"
- tag="$2"
- initrd_allowed="$3"
-
- # Version-sort the kernels
- sorted_kernels=$(echo "$mylist" | tr ' ' '\n' | version_sort -r)
-
- # Use portable command substitution
- kernels=$(echo "$sorted_kernels" | tr ' ' '\n')
-
- for kernel in $kernels; do
-
- # Skip symbolic links to kernels if requested:
- if [ -L "$kernel" -a "$GRUB_DISABLE_KERNEL_SYMLINKS" = "true" ]; then
- continue
- fi
-
- printf "Found linux image: %s\n" "$kernel" >&2
- basename=$(basename "$kernel")
- dirname=$(dirname "$kernel")
- rel_dirname=$(make_system_path_relative_to_its_root "$dirname")
- version=$(echo "$basename" | sed -e "s,^[^0-9]*-,,g")
- alt_version=$(echo "$version" | sed -e "s,\.old$,,g")
- linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
- initrd=
- actual_initrd=
-
- if [ "${initrd_allowed}" = "true" ]; then
- for i in ${GRUB_EARLY_INITRD_LINUX_STOCK} \
- ${GRUB_EARLY_INITRD_LINUX_CUSTOM}; do
- if [ -e "${dirname}/${i}" ]; then
- if [ -z "$initrd" ]; then
- initrd="$rel_dirname/$i"
- else
- initrd="$initrd $rel_dirname/$i"
- fi
- fi
- done
- for i in "initrd-${tag}-${version}.gz" "initrd-${tag}.gz" \
- "initrd-${version}.gz" "initrd.gz" \
- "initrd.img-${version}" "initrd-${version}.img" \
- "initrd-${version}" "initrd.img-${alt_version}" \
- "initrd-${alt_version}.img" "initrd-${alt_version}"; do
- if [ -e "${dirname}/${i}" ]; then
- actual_initrd="true"
- if [ -z "$initrd" ]; then
- initrd="$rel_dirname/$i"
- else
- initrd="$initrd $rel_dirname/$i"
- fi
- break
- fi
- done
-
- if [ -n "${initrd}" ]; then
- printf "Found initrd image: %s\n" "${initrd}" >&2
- fi
- if [ -z "$actual_initrd" ]; then
- # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here.
- linux_root_device_thisversion=${GRUB_DEVICE}
- fi
- else
- # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here.
- linux_root_device_thisversion=${GRUB_DEVICE}
- fi
-
- linux_entry "${OS}" "${tag}" "${version}" false \
- "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
-
- if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
- linux_entry "${OS}" "${tag}" "${version}" true \
- "single ${GRUB_CMDLINE_LINUX}"
- fi
- done
-}
-
-prepare_boot_cache=
-
-list=$(for i in /boot/vmlinu[xz]-generic-* /boot/vmlinu[xz]-generic /vmlinu[xz]-generic-* ; do
- if grub_file_is_not_garbage "$i" ; then printf "%s " "$i"; fi
- done)
-
-process_list "${list}" "generic" "true"
-
-list=$(for i in /boot/vmlinu[xz]-custom-* /boot/vmlinu[xz]-custom /vmlinu[xz]-custom-* ; do
- if grub_file_is_not_garbage "$i" ; then printf "%s " "$i"; fi
- done)
-process_list "${list}" "custom" "true"
-
-list=$(for i in /boot/vmlinu[xz]-huge-* /boot/vmlinu[xz]-huge /vmlinu[xz]-huge-* ; do
- if grub_file_is_not_garbage "$i" ; then printf "%s " "$i"; fi
- done)
-process_list "${list}" "huge" "false"
diff --git a/testing/source/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch b/testing/source/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch
deleted file mode 100644
index 6670f7677..000000000
--- a/testing/source/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From b835601c7639ed1890f2d3db91900a8506011a8e Mon Sep 17 00:00:00 2001
-From: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
-Date: Thu, 21 Dec 2023 01:17:35 -0600
-Subject: build: Include grub-core/extra_deps.lst in dist
-
-Fixes build failure due to the extra_deps.lst file not existing in the
-tarball. Found while trying to package GRUB 2.12 for Gentoo.
-
- make[3]: *** No rule to make target '/var/tmp/portage/sys-boot/grub-2.12/work/grub-2.12/grub-core/extra_deps.lst', needed by 'syminfo.lst'. Stop.
-
-Fixes: 89fbe0cac (grub-core/Makefile.am: Make path to extra_deps.lst relative to $(top_srcdir)/grub-core)
-Fixes: 154dcb1ae (build: Allow explicit module dependencies)
-
-Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- conf/Makefile.extra-dist | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
-index 5e7126f..d9e2b8c 100644
---- a/conf/Makefile.extra-dist
-+++ b/conf/Makefile.extra-dist
-@@ -21,6 +21,7 @@ EXTRA_DIST += conf/i386-cygwin-img-ld.sc
- EXTRA_DIST += grub-core/Makefile.core.def
- EXTRA_DIST += grub-core/Makefile.gcry.def
-
-+EXTRA_DIST += grub-core/extra_deps.lst
- EXTRA_DIST += grub-core/genmoddep.awk
- EXTRA_DIST += grub-core/genmod.sh.in
- EXTRA_DIST += grub-core/gensyminfo.sh.in
---
-cgit v1.1
-
diff --git a/testing/source/grub/doinst.sh b/testing/source/grub/doinst.sh
deleted file mode 100644
index fea6117d2..000000000
--- a/testing/source/grub/doinst.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-config() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
- # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
-
-# Process config files in etc/grub.d/:
-for file in etc/grub.d/*.new ; do
- preserve_perms $file
-done
-config etc/default/grub.new
diff --git a/testing/source/grub/etc.default.grub b/testing/source/grub/etc.default.grub
deleted file mode 100644
index 363eda767..000000000
--- a/testing/source/grub/etc.default.grub
+++ /dev/null
@@ -1,44 +0,0 @@
-# If you change this file, run grub-mkconfig -o /boot/grub/grub.cfg
-# afterwards to update /boot/grub/grub.cfg.
-
-GRUB_DEFAULT=0
-#GRUB_HIDDEN_TIMEOUT=0
-GRUB_HIDDEN_TIMEOUT_QUIET=false
-GRUB_TIMEOUT=10
-GRUB_DISTRIBUTOR=$( sed 's/Slackware /Slackware-/' /etc/slackware-version )
-GRUB_CMDLINE_LINUX_DEFAULT=""
-GRUB_CMDLINE_LINUX=""
-
-# Uncomment to disable graphical terminal (grub-pc only):
-#GRUB_TERMINAL=console
-
-# The resolution used on graphical terminal.
-# Note that you can use only modes which your graphic card supports via VBE.
-# You can see them in real GRUB with the command `vbeinfo'.
-#GRUB_GFXMODE=640x480
-#GRUB_GFXMODE=1024x768x32
-
-# Font used on the graphical terminal:
-#GRUB_FONT=/usr/share/grub/dejavusansmono.pf2
-
-# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux:
-#GRUB_DISABLE_LINUX_UUID=true
-
-# Uncomment to disable generation of recovery mode menu entries:
-GRUB_DISABLE_RECOVERY="true"
-
-# Search for other operating systems with os-prober.
-# If you don't want this, you can do any of these things to disable it:
-# - change to "true"
-# - comment it out, since disabled is the default
-# - remove the executable bit from /etc/grub.d/30_os-prober
-GRUB_DISABLE_OS_PROBER="false"
-
-# Disable the submenus:
-GRUB_DISABLE_SUBMENU="true"
-
-# When using 09_slackware_linux, this option skips making menu entries for the
-# symbolic links to kernels. Some folks don't like the extra (redundant) menu
-# entries, while others like having an unversioned menu entry that doesn't
-# require "update-grub" after installing new kernels. Your call.
-#GRUB_DISABLE_KERNEL_SYMLINKS="true"
diff --git a/testing/source/grub/grub.SlackBuild b/testing/source/grub/grub.SlackBuild
deleted file mode 100755
index f93095658..000000000
--- a/testing/source/grub/grub.SlackBuild
+++ /dev/null
@@ -1,260 +0,0 @@
-#!/bin/bash
-
-# Copyright 2013, 2016, 2017, 2018, 2019, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified 2016 by Eric Hameleers <alien@slackware.com> for Slackware Live Edition.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=grub
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-# Better to use _ than ~ in the package filenames version:
-PKGVER=$(echo $VERSION | tr '~' '_')
-BUILD=${BUILD:-13}
-
-# If you use stack-protector, then grub will not work with legacy BIOS:
-STACKPROTECT=${STACKPROTECT:---enable-stack-protector=no}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$(uname -m)" in
- i?86) ARCH=i686 ;;
- arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) ARCH=$(uname -m) ;;
- esac
- export ARCH
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$PKGVER-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
-if [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-mtune=generic"
- EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-mtune=generic"
- EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
- EFI_FLAGS=" --with-platform=efi --target=x86_64 --program-prefix= "
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS=""
- LIBDIRSUFFIX=""
-fi
-
-# Don't use icecream:
-PATH=$(echo $PATH | sed "s|/usr/libexec/icecc/bin||g" | tr -s : | sed "s/^://g" | sed "s/:$//g")
-
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-$PKGNAM
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
-cd $PKGNAM-$VERSION || exit 1
-
-chown -R root:root .
-find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \+
-
-# Accept /boot/initrd.gz as a valid initrd name (obsolete?):
-cat $CWD/initrd_naming.patch | patch -p1 --verbose || exit 1
-
-# Support DejaVuSansMono font (dejavusansmono.pf2) by default:
-cat $CWD/grub.dejavusansmono.gfxterm.font.diff | patch -p1 --verbose || exit 1
-
-# Fix alignment error with gcc8:
-cat $CWD/0198-align-struct-efi_variable-better.patch | patch -p1 --verbose || exit 1
-
-# Skip processing any files in /etc/grub.d/ that end in .new or .orig:
-cat $CWD/0001-skip-new-and-orig-files-in-etc-grub.d.patch | patch -p1 --verbose || exit 1
-
-# From Arch, add a couple more GRUB_COLOR options:
-cat $CWD/0001-00_header-add-GRUB_COLOR_-variables.patch | patch -p1 --verbose || exit 1
-
-# Also from Arch, support drop-in config bits in /etc/default/grub.d/:
-cat $CWD/0003-support-dropins-for-default-configuration.patch | patch -p1 --verbose || exit 1
-
-# Support GRUB_DISABLE_KERNEL_SYMLINKS variable in /etc/default/grub.
-# If this is not defined, it is assumed to be false.
-cat $CWD/0004-add-GRUB_DISABLE_KERNEL_SYMLINKS-variable.patch | patch -p1 --verbose || exit 1
-
-# Fix 2.12 release with upstream commit (won't compile otherwise):
-cat $CWD/b835601c7639ed1890f2d3db91900a8506011a8e.patch | patch -p1 --verbose || exit 1
-
-# For Slackware, opt-out of having our operating system renamed:
-cat $CWD/10_linux.osname.patch | patch -p1 --verbose || exit 1
-
-# Skip symlinks to kernels according to GRUB_DISABLE_KERNEL_SYMLINKS:
-cat $CWD/10_linux.disable_kernel_symlinks.patch | patch -p1 --verbose || exit 1
-
-# Still won't compile. Someday they'll remember how to cut a new release.
-touch grub-core/extra_deps.lst
-
-# Regenerate build system to fix dependency on outdated automake:
-autoreconf -vif
-
-build_grub() {
- EFI_DO="$*"
- # Configure:
- CFLAGS="$SLKCFLAGS" \
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --infodir=/usr/info \
- --mandir=/usr/man \
- --disable-werror \
- --with-dejavufont=/usr/share/fonts/TTF/DejaVuSans.ttf \
- $STACKPROTECT \
- $EFI_DO || exit 1
-
- # Build and install:
- make clean || exit 1
- make $NUMJOBS || make || exit 1
- make install DESTDIR=$PKG || exit 1
-
- # Clear $EFI_DO :
- unset EFI_DO
-}
-
-# Build 32bit and 64bit efi targets if requested:
-if [ -n "$EFI32_FLAGS" ]; then
- build_grub $EFI32_FLAGS || exit 1
-fi
-if [ -n "$EFI_FLAGS" ]; then
- build_grub $EFI_FLAGS || exit 1
-fi
-# Always end with regular build:
-build_grub || exit 1
-
-## NOT USED (but we'll leave the file here for now)
-## Add custom 09_slackware_linux config. Thanks to Richard Cranium for the
-## initial version, and Daedra for making it POSIX compliant:
-#cp -a $CWD/09_slackware_linux $PKG/etc/grub.d/09_slackware_linux
-#chown root:root $PKG/etc/grub.d/09_slackware_linux
-#chmod 755 $PKG/etc/grub.d/09_slackware_linux
-
-# Preserve files in /etc/grub.d/:
-for file in $PKG/etc/grub.d/*_* ; do
- mv ${file} ${file}.new
-done
-
-# Add an update-grub script ala Ubuntu:
-cp -a $CWD/update-grub $PKG/usr/sbin/update-grub
-chown root:root $PKG/usr/sbin/update-grub
-chmod 755 $PKG/usr/sbin/update-grub
-
-# Since every other grub command is of the form "grub-{command}", add a symlink
-# so that "grub-update" also works:
-ln -sf update-grub $PKG/usr/sbin/grub-update
-
-# Strip binaries:
-( cd $PKG
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-)
-
-# Put bash-completion file in system directory:
-mkdir -p $PKG/usr/share/bash-completion/completions/
-mv $PKG/etc/bash_completion.d/grub \
- $PKG/usr/share/bash-completion/completions/grub
-rmdir --parents $PKG/etc/bash_completion.d 2>/dev/null
-
-# Install default options file:
-mkdir -p $PKG/etc/default/grub.d
-cat $CWD/etc.default.grub > $PKG/etc/default/grub.new
-# Add a hint:
-echo "Files in this directory must end in .cfg to be processed." > $PKG/etc/default/grub.d/README
-
-# Create a directory for grub.cfg:
-mkdir -p $PKG/boot/grub
-
-# Add fonts, if found on the system:
-FONT_SIZE=${FONT_SIZE:-19}
-if [ -r /usr/share/fonts/TTF/unifont.ttf ]; then
- $PKG/usr/bin/grub-mkfont -o $PKG/usr/share/grub/unifont.pf2 -abv \
- -s $FONT_SIZE /usr/share/fonts/TTF/unifont.ttf
-fi
-if [ -r /usr/share/fonts/TTF/DejaVuSansMono.ttf ]; then
- $PKG/usr/bin/grub-mkfont -o $PKG/usr/share/grub/dejavusansmono.pf2 -abv \
- -s $FONT_SIZE /usr/share/fonts/TTF/DejaVuSansMono.ttf
-fi
-
-# Add a documentation directory:
-mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
-cp -a \
- AUTHORS BUGS COPYING* INSTALL NEWS README* THANKS TODO \
- $PKG/usr/doc/${PKGNAM}-$VERSION
-
-# Compress and if needed symlink the man pages:
-if [ -d $PKG/usr/man ]; then
- ( cd $PKG/usr/man
- for manpagedir in $(find . -type d -name "man*") ; do
- ( cd $manpagedir
- for eachpage in $( find . -type l -maxdepth 1) ; do
- ln -s $( readlink $eachpage ).gz $eachpage.gz
- rm $eachpage
- done
- gzip -9 *.?
- )
- done
- )
-fi
-
-# Compress info files, if any:
-if [ -d $PKG/usr/info ]; then
- ( cd $PKG/usr/info
- rm -f dir
- gzip -9 *
- )
-fi
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
- cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
- touch -r ChangeLog $DOCSDIR/ChangeLog
-fi
-
-mkdir -p $PKG/install
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$PKGVER-$ARCH-$BUILD.txz
-
diff --git a/testing/source/grub/grub.dejavusansmono.gfxterm.font.diff b/testing/source/grub/grub.dejavusansmono.gfxterm.font.diff
deleted file mode 100644
index 2890f16f9..000000000
--- a/testing/source/grub/grub.dejavusansmono.gfxterm.font.diff
+++ /dev/null
@@ -1,41 +0,0 @@
---- ./util/grub.d/00_header.in.orig 2012-05-03 18:04:39.000000000 -0500
-+++ ./util/grub.d/00_header.in 2013-09-17 01:43:37.870841064 -0500
-@@ -143,7 +143,7 @@
- EOF
- else
- for dir in "${pkgdatadir}" "`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"`" /usr/share/grub ; do
-- for basename in unicode unifont ascii; do
-+ for basename in unicode unifont dejavusansmono ascii; do
- path="${dir}/${basename}.pf2"
- if is_path_readable_by_grub "${path}" > /dev/null ; then
- font_path="${path}"
-@@ -156,7 +156,7 @@
- if [ -n "${font_path}" ] ; then
- cat << EOF
- if [ x\$feature_default_font_path = xy ] ; then
-- font=unicode
-+ font=dejavusansmono
- else
- EOF
- # Make the font accessible
-@@ -169,7 +169,7 @@
- EOF
- else
- cat << EOF
--if loadfont unicode ; then
-+if loadfont dejavusansmono ; then
- EOF
- fi
- fi
-diff -Naur grub-2.02~beta2.orig/util/grub-install.c grub-2.02~beta2/util/grub-install.c
---- grub-2.02~beta2.orig/util/grub-install.c 2013-12-24 08:40:31.000000000 -0800
-+++ grub-2.02~beta2/util/grub-install.c.new 2015-01-27 22:07:56.714000000 -0800
-@@ -827,7 +827,7 @@
- grub_util_host_init (&argc, &argv);
- product_version = xstrdup (PACKAGE_VERSION);
- pkgdatadir = grub_util_get_pkgdatadir ();
-- label_font = grub_util_path_concat (2, pkgdatadir, "unicode.pf2");
-+ label_font = grub_util_path_concat (2, pkgdatadir, "dejavusansmono.pf2");
-
- argp_parse (&argp, argc, argv, 0, 0, 0);
-
diff --git a/testing/source/grub/initrd_naming.patch b/testing/source/grub/initrd_naming.patch
deleted file mode 100644
index 6b62778b0..000000000
--- a/testing/source/grub/initrd_naming.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur grub-2.00.orig/util/grub.d/10_linux.in grub-2.00/util/grub.d/10_linux.in
---- grub-2.00.orig/util/grub.d/10_linux.in 2012-04-18 23:24:38.000000000 +0200
-+++ grub-2.00/util/grub.d/10_linux.in 2012-06-30 07:53:03.765625589 +0200
-@@ -198,7 +198,8 @@
- "initramfs-genkernel-${version}" \
- "initramfs-genkernel-${alt_version}" \
- "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
-- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
-+ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
-+ "initrd.gz"; do
- if test -e "${dirname}/${i}" ; then
- initrd="$i"
- break
diff --git a/testing/source/grub/slack-desc b/testing/source/grub/slack-desc
deleted file mode 100644
index b07c8a3b2..000000000
--- a/testing/source/grub/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-grub: grub (the GRand Unified Bootloader)
-grub:
-grub: GNU GRUB, the GRand Unified Bootloader, is a flexible and powerful
-grub: boot loader program for a wide range of architectures.
-grub:
-grub: Homepage: https://www.gnu.org/software/grub/
-grub:
-grub:
-grub:
-grub:
-grub:
diff --git a/testing/source/grub/update-grub b/testing/source/grub/update-grub
deleted file mode 100644
index fef55d9b8..000000000
--- a/testing/source/grub/update-grub
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-# This is a simple script to update grub from the configuration file.
-# Please note that after upgrading to a new grub version, you should
-# first use "grub-install" to reinstall the bootloader, similar to this:
-# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --recheck
-# or this:
-# grub-install --target=i386-pc --recheck /dev/sdX
-
-set -e
-exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
diff --git a/testing/source/mkinitrd/0001-Fix-LUKSTRIM-with-C-T-and-UUID.patch b/testing/source/mkinitrd/0001-Fix-LUKSTRIM-with-C-T-and-UUID.patch
deleted file mode 100644
index 8166d9ffd..000000000
--- a/testing/source/mkinitrd/0001-Fix-LUKSTRIM-with-C-T-and-UUID.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- ./init.orig 2018-04-18 13:55:09.661574866 -0500
-+++ ./init 2019-12-15 12:09:45.337013433 -0600
-@@ -219,11 +219,15 @@
- fi
-
- LUKSLIST_DEFERRED=""
-- LUKSLIST=$(echo $LUKSDEV | tr -s ':' ' ')
-+ for dev in $(echo $LUKSDEV | tr -s ':' ' ') ; do
-+ LUKSLIST="$LUKSLIST $(findfs $dev)"
-+ done
-+
-+ for dev in $(echo $LUKSTRIM | tr -s ':' ' ') ; do
-+ TRIMLIST="$TRIMLIST $(findfs $dev)"
-+ done
-+
- for LUKSDEV in $LUKSLIST ; do
-- if echo $LUKSDEV | grep -q "LABEL=" || echo $LUKSDEV | grep -q "UUID=" ; then
-- LUKSDEV=$(findfs $LUKSDEV)
-- fi
- if /sbin/cryptsetup isLuks ${LUKSDEV} 1>/dev/null 2>/dev/null ; then
- if echo $ROOTDEV | grep -q "LABEL=" || echo $ROOTDEV | grep -q "UUID=" ; then
- CRYPTDEV="luks$(basename $LUKSDEV)"
-@@ -232,7 +236,7 @@
- else
- CRYPTDEV="luks$(basename $LUKSDEV)"
- fi
-- if echo $LUKSTRIM | grep -wq $LUKSDEV 2>/dev/null ; then
-+ if echo "$TRIMLIST" | grep -wq "$LUKSDEV" 2>/dev/null ; then
- LUKSOPTS="--allow-discards"
- else
- LUKSOPTS=""
diff --git a/testing/source/mkinitrd/0002-bail-if-temp-dir-is-not-created.patch b/testing/source/mkinitrd/0002-bail-if-temp-dir-is-not-created.patch
deleted file mode 100644
index 1c6dcb929..000000000
--- a/testing/source/mkinitrd/0002-bail-if-temp-dir-is-not-created.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- ./mkinitrd.orig 2021-04-27 13:53:00.500036921 -0500
-+++ ./mkinitrd 2021-07-16 13:04:05.246136283 -0500
-@@ -237,6 +237,13 @@
- # Then copy all remaining libs our initrd files link against:
- COUNT=1
- PRFX=$(mktemp --suffix -ldd)
-+
-+ # Make sure a temporary directory was actually created:
-+ if [ -z "${PRFX}" ]; then
-+ echo "ERROR: Could not create a temp directory"
-+ exit 1
-+ fi
-+
- TMPFILE=${PRFX}${COUNT}
-
- find $SOURCE_TREE -type f -exec ldd {} 2>/dev/null \; | unify_libs > $TMPFILE
diff --git a/testing/source/mkinitrd/0003-blacklist.40-usb_modeswitch.rules.patch b/testing/source/mkinitrd/0003-blacklist.40-usb_modeswitch.rules.patch
deleted file mode 100644
index 86f496e8d..000000000
--- a/testing/source/mkinitrd/0003-blacklist.40-usb_modeswitch.rules.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./mkinitrd.orig 2021-10-12 13:50:48.059708275 -0500
-+++ ./mkinitrd 2021-10-12 13:51:36.482705596 -0500
-@@ -69,6 +69,7 @@
- check-mtp-device \
- check-ptp-camera \
- udev-configure-printer \
-+ rules.d/40-usb_modeswitch.rules \
- rules.d/60-openobex.rules \
- rules.d/73-seat-late.rules \
- rules.d/85-regulatory.rules \
diff --git a/testing/source/mkinitrd/0004-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch b/testing/source/mkinitrd/0004-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch
deleted file mode 100644
index e24b7c7c4..000000000
--- a/testing/source/mkinitrd/0004-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- ./mkinitrd_command_generator.sh.orig 2021-03-28 13:22:55.628927615 -0500
-+++ ./mkinitrd_command_generator.sh 2022-01-24 21:29:00.382517371 -0600
-@@ -302,12 +302,19 @@
- fi
-
- # Finally, we should check if base device is
-- # a real block device or a RAID volume:
-+ # a real block device or a RAID volume:
- for MD in $(cat /proc/mdstat | grep -w active | cut -d' ' -f1) ; do
- if [ "$BASEDEV" = "/dev/$MD" ]; then
- USING_RAID=1
- break
- fi
-+ done
-+ # Additional check in case $BASEDEV is a partition of /dev/$MD:
-+ for BLK in $(sfdisk -ld /dev/$MD 2> /dev/null | grep "^/dev" | cut -d " " -f 1); do
-+ if [ "$BASEDEV" = "$BLK" ]; then
-+ USING_RAID=1
-+ break
-+ fi
- done
- }
-
diff --git a/testing/source/mkinitrd/0005-support-modules-compressed-with-xz.patch b/testing/source/mkinitrd/0005-support-modules-compressed-with-xz.patch
deleted file mode 100644
index a746ddf42..000000000
--- a/testing/source/mkinitrd/0005-support-modules-compressed-with-xz.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./mkinitrd.orig 2021-04-27 13:53:00.500036921 -0500
-+++ ./mkinitrd 2022-01-26 14:31:33.134016601 -0600
-@@ -755,7 +755,7 @@
- fi
-
- if ! grep -Eq " $(basename $SRCMOD .ko)(\.| |$)" $SOURCE_TREE/load_kernel_modules 2>/dev/null ; then
-- LINE="$(echo "modprobe -v $(basename ${SRCMOD%%.gz} .ko)" )"
-+ LINE="$(echo "modprobe -v $(basename ${SRCMOD%%.ko*})" )"
-
- # Test to see if arguments should be passed
- # Over-ride the previously defined LINE variable if so
diff --git a/testing/source/mkinitrd/0006-coreutils-9.1-ensure-target-dir-exists.patch b/testing/source/mkinitrd/0006-coreutils-9.1-ensure-target-dir-exists.patch
deleted file mode 100644
index 6eb0b2a44..000000000
--- a/testing/source/mkinitrd/0006-coreutils-9.1-ensure-target-dir-exists.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- ./mkinitrd.orig 2022-01-26 14:33:29.000000000 -0600
-+++ ./mkinitrd 2022-04-26 13:55:17.511004239 -0500
-@@ -778,6 +778,9 @@
- echo "$LINE" >> $SOURCE_TREE/load_kernel_modules
- fi
-
-+ # Ensure that the destination directory for the module exists:
-+ mkdir -p "$(dirname $SOURCE_TREE/$SRCMOD)"
-+
- # Try to add the module to the initrd-tree. This should be done
- # even if it exists there already as we may have changed compilers
- # or otherwise caused the modules in the initrd-tree to need
diff --git a/testing/source/mkinitrd/0007-kmod30.patch b/testing/source/mkinitrd/0007-kmod30.patch
deleted file mode 100644
index 484f8c91e..000000000
--- a/testing/source/mkinitrd/0007-kmod30.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- ./mkinitrd.orig 2022-07-09 12:56:10.493030210 -0500
-+++ ./mkinitrd 2022-07-09 12:57:38.848032187 -0500
-@@ -702,9 +702,9 @@
- cp -a /sbin/$i $SOURCE_TREE/sbin ;
- done
-
--# Make sure modules.builtin and modules.order are there (for kmod):
-+# Make sure modules.builtin, modules.builtin.modinfo, and modules.order are there (for kmod):
- for kver in $(echo ${KERNEL_VERSION} | tr ':' '\n') ; do
-- cp /lib/modules/$kver/modules.{builtin,order} \
-+ cp /lib/modules/$kver/modules.{builtin,builtin.modinfo,order} \
- $SOURCE_TREE/lib/modules/$kver
- done
-
diff --git a/testing/source/mkinitrd/0008-fix-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch b/testing/source/mkinitrd/0008-fix-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch
deleted file mode 100644
index 1f2382895..000000000
--- a/testing/source/mkinitrd/0008-fix-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- ./mkinitrd_command_generator.sh.orig 2023-02-28 15:19:08.085991698 -0600
-+++ ./mkinitrd_command_generator.sh 2023-02-28 15:22:03.264982008 -0600
-@@ -308,11 +308,15 @@
- USING_RAID=1
- break
- fi
-- done
-- # Additional check in case $BASEDEV is a partition of /dev/$MD:
-- for BLK in $(sfdisk -ld /dev/$MD 2> /dev/null | grep "^/dev" | cut -d " " -f 1); do
-- if [ "$BASEDEV" = "$BLK" ]; then
-- USING_RAID=1
-+ # Additional check in case $BASEDEV is a partition of /dev/$MD:
-+ for BLK in $(sfdisk -ld /dev/$MD 2> /dev/null | grep "^/dev" | cut -d " " -f 1); do
-+ if [ "$BASEDEV" = "$BLK" ]; then
-+ USING_RAID=1
-+ break
-+ fi
-+ done
-+ # Break out of outer loop if needed.
-+ if [ "$USING_RAID" = "1" ]; then
- break
- fi
- done
diff --git a/testing/source/mkinitrd/0009-exclude-99-nfs.rules.patch b/testing/source/mkinitrd/0009-exclude-99-nfs.rules.patch
deleted file mode 100644
index bfdbfd5e7..000000000
--- a/testing/source/mkinitrd/0009-exclude-99-nfs.rules.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./mkinitrd.orig 2023-08-09 16:25:06.849157479 -0500
-+++ ./mkinitrd 2023-08-09 16:26:00.890154489 -0500
-@@ -76,6 +76,7 @@
- rules.d/60-openobex.rules \
- rules.d/73-seat-late.rules \
- rules.d/85-regulatory.rules \
-+ rules.d/99-nfs.rules \
- "
-
- print_usage() {
diff --git a/testing/source/mkinitrd/0010-fix-test-for-jfs-xfs-repair-tools.patch b/testing/source/mkinitrd/0010-fix-test-for-jfs-xfs-repair-tools.patch
deleted file mode 100644
index 9d8e2d060..000000000
--- a/testing/source/mkinitrd/0010-fix-test-for-jfs-xfs-repair-tools.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- ./mkinitrd.orig 2023-11-20 12:49:33.502016341 -0600
-+++ ./mkinitrd 2023-11-20 12:50:30.142017608 -0600
-@@ -60,6 +60,8 @@
- # Modified by Piter Punk <piterpunk@slackware.com> 25 April 2022
- # Add support to specify additional filesystems to be mounted by
- # initrd. Useful for those that have a separated '/usr'
-+# Modified by Patrick Volkerding <volkerdi@slackware.com> 20 Movember 2023
-+# Add jfs/xfs repair tools if used for $ROOTFS
-
- MKINITRD_VERSION=1.4.11
-
-@@ -773,10 +775,11 @@
- /sbin/modprobe --set-version $kver --show-depends --ignore-install $MODULE 2>/dev/null \
- | grep "^insmod " | cut -f 2 -d ' ' | while read SRCMOD; do
-
-- # If jfs or xfs filesystems are in use, add the repair tools to the initrd:
-- if [ "$(basename $SRCMOD .ko)" = "jfs" ]; then
-+ # If the root filesystem is jfs, add the repair tools to the initrd:
-+ if [ "$ROOTFS" = "jfs" ]; then
- cp -a /sbin/jfs_fsck $SOURCE_TREE/sbin/
-- elif [ "$(basename $SRCMOD .ko)" = "xfs" ]; then
-+ # If the root filesystem is xfs, add the repair tools to the initrd:
-+ elif [ "$ROOTFS" = "xfs" ]; then
- cp -a /sbin/xfs_repair $SOURCE_TREE/sbin/
- fi
-
diff --git a/testing/source/mkinitrd/README.initrd b/testing/source/mkinitrd/README.initrd
deleted file mode 100644
index c5581b7fe..000000000
--- a/testing/source/mkinitrd/README.initrd
+++ /dev/null
@@ -1,112 +0,0 @@
-
-Slackware initrd mini HOWTO
-by Patrick Volkerding, volkerdi@slackware.com
-@DATE@
-
-This document describes how to create and install an initrd, which may be
-required to use some features of the kernel. Also see "man mkinitrd".
-
-1. What is an initrd?
-2. Why do I need an initrd?
-3. How do I build the initrd?
-4. Now that I've built an initrd, how do I use it?
-
-
-1. What is an initrd?
-
-Initrd stands for "initial ramdisk". An initial ramdisk is a very small
-Linux filesystem that is loaded into RAM and mounted as the kernel boots,
-and before the main root filesystem is mounted.
-
-2. Why do I need an initrd?
-
-The usual reason to use an initrd is because you need to load kernel
-modules before mounting the root partition. Usually these modules are
-required to support the filesystem used by the root partition (ext3,
-reiserfs, xfs), or perhaps the controller that the hard drive is attached
-to (SCSI, RAID, etc). Essentially, there are so many different options
-available in modern Linux kernels that it isn't practical to try to ship
-many different kernels to try to cover everyone's needs. It's a lot more
-flexible to ship a generic kernel and a set of kernel modules for it.
-
-3. How do I build the initrd?
-
-The easiest way to make the initrd is to use the mkinitrd script included
-in Slackware's mkinitrd package. We'll walk through the process of
-upgrading to the generic @KERNEL_VERSION@ Linux kernel using the packages
-found in Slackware's slackware/a/ directory.
-
-First, make sure the kernel, kernel modules, and mkinitrd package are
-installed (the current version numbers might be a little different, so
-this is just an example):
-
- installpkg kernel-generic-@KERNEL_VERSION@-@ARCH@-@BUILD@.tgz
- installpkg kernel-modules-@KERNEL_VERSION@-@ARCH@-@BUILD@.tgz
- installpkg mkinitrd-@MKINITRD_VERSION@-@ARCH@-@BUILD@.tgz
-
-Change into the /boot directory:
-
- cd /boot
-
-Now you'll want to run "mkinitrd". I'm using ext4 for my root
-filesystem, and since mkinitrd should figure out any other modules
-it requires, I shouldn't need to specify any others:
-
- mkinitrd -c -k @KERNEL_VERSION@ -m ext4
-
-This should do two things. First, it will create a directory
-/boot/initrd-tree containing the initrd's filesystem. Then it will
-create an initrd (/boot/initrd.gz) from this tree. If you wanted to,
-you could make some additional changes in /boot/initrd-tree/ and
-then run mkinitrd again without options to rebuild the image. That's
-optional, though, and only advanced users will need to think about that.
-
-Here's another example: Build an initrd image using Linux @KERNEL_VERSION@
-kernel modules for a system with an ext3 root partition on /dev/sdb3:
-
- mkinitrd -c -k @KERNEL_VERSION@ -m ext3 -f ext3 -r /dev/sdb3
-
-
-4. Now that I've built an initrd, how do I use it?
-
-Now that you've got an initrd (/boot/initrd.gz), you'll want to load
-it along with the kernel at boot time. If you use LILO for your boot
-loader you'll need to edit /etc/lilo.conf and add a line to load the
-initrd. Here's an example section of lilo.conf showing how this is
-done:
-
-# Linux bootable partition config begins
-image = /boot/vmlinuz-@KERNEL_VERSION@-generic
- initrd = /boot/initrd.gz
- root = /dev/sda6
- label = @LILO_KERNEL_NAME@
- read-only
-# Linux bootable partition config ends
-
-The initrd is loaded by the "initrd = /boot/initrd.gz" line.
-Just add the line right below the line for the kernel image you use.
-Save the file, and then run LILO again ('lilo' at the command line).
-You'll need to run lilo every time you edit lilo.conf or rebuild the
-initrd.
-
-Other bootloaders such as syslinux also support the use of an initrd.
-See the documentation for those programs for details on using an
-initrd with them.
-
-Some, such as GRUB, require the initrd to be named similarly to the
-kernel. So, for this kernel:
-
-/boot/vmlinuz-@KERNEL_VERSION@-generic
-
-You would want to rename your initrd to this:
-
-/boot/initrd-@KERNEL_VERSION@-generic.img
-
-In fact, if you use the geninitrd script to make your initrd (which it
-will pretty much do automatically for the generic kernel) it will name
-it this way, and will make a compatibilty symlink initrd.gz.
-
-
----------
-
-Have fun!
diff --git a/testing/source/mkinitrd/busybox-dot-config b/testing/source/mkinitrd/busybox-dot-config
deleted file mode 100644
index ad3d6ea47..000000000
--- a/testing/source/mkinitrd/busybox-dot-config
+++ /dev/null
@@ -1,1198 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.32.1
-# Tue May 14 13:21:58 2024
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Settings
-#
-CONFIG_DESKTOP=y
-# CONFIG_EXTRA_COMPAT is not set
-# CONFIG_FEDORA_COMPAT is not set
-CONFIG_INCLUDE_SUSv2=y
-CONFIG_LONG_OPTS=y
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_LFS=y
-# CONFIG_PAM is not set
-CONFIG_FEATURE_DEVPTS=y
-CONFIG_FEATURE_UTMP=y
-CONFIG_FEATURE_WTMP=y
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_PID_FILE_PATH="/var/run"
-CONFIG_BUSYBOX=y
-CONFIG_FEATURE_SHOW_SCRIPT=y
-CONFIG_FEATURE_INSTALLER=y
-CONFIG_INSTALL_NO_USR=y
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SUID_CONFIG=y
-CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_FEATURE_PREFER_APPLETS is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-# CONFIG_SELINUX is not set
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_SYSLOG_INFO=y
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_PLATFORM_LINUX=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_SYSROOT=""
-CONFIG_EXTRA_CFLAGS=""
-CONFIG_EXTRA_LDFLAGS=""
-CONFIG_EXTRA_LDLIBS=""
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_STACK_OPTIMIZATION_386=y
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="./_install"
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_DEBUG_SANITIZE is not set
-# CONFIG_UNIT_TEST is not set
-# CONFIG_WERROR is not set
-# CONFIG_WARN_SIMPLE_MSG is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Library Tuning
-#
-# CONFIG_FEATURE_USE_BSS_TAIL is not set
-CONFIG_FLOAT_DURATION=y
-CONFIG_FEATURE_RTMINMAX=y
-CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SMALL=1
-CONFIG_SHA3_SMALL=1
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-# CONFIG_FEATURE_ETC_SERVICES is not set
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-CONFIG_FEATURE_EDITING_VI=y
-CONFIG_FEATURE_EDITING_HISTORY=64
-# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
-# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
-# CONFIG_FEATURE_REVERSE_SEARCH is not set
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-CONFIG_FEATURE_EDITING_WINCH=y
-# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
-CONFIG_LOCALE_SUPPORT=y
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_FEATURE_NON_POSIX_CP=y
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_USE_SENDFILE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_FEATURE_SKIP_ROOTFS=y
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-CONFIG_FEATURE_SEAMLESS_XZ=y
-CONFIG_FEATURE_SEAMLESS_LZMA=y
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-CONFIG_FEATURE_AR_LONG_FILENAMES=y
-# CONFIG_FEATURE_AR_CREATE is not set
-CONFIG_UNCOMPRESS=y
-CONFIG_GUNZIP=y
-CONFIG_ZCAT=y
-CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y
-CONFIG_BUNZIP2=y
-CONFIG_BZCAT=y
-CONFIG_UNLZMA=y
-CONFIG_LZCAT=y
-CONFIG_LZMA=y
-CONFIG_UNXZ=y
-CONFIG_XZCAT=y
-CONFIG_XZ=y
-CONFIG_BZIP2=y
-CONFIG_BZIP2_SMALL=8
-CONFIG_FEATURE_BZIP2_DECOMPRESS=y
-CONFIG_CPIO=y
-CONFIG_FEATURE_CPIO_O=y
-CONFIG_FEATURE_CPIO_P=y
-# CONFIG_DPKG is not set
-CONFIG_DPKG_DEB=y
-CONFIG_GZIP=y
-CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
-CONFIG_GZIP_FAST=0
-# CONFIG_FEATURE_GZIP_LEVELS is not set
-CONFIG_FEATURE_GZIP_DECOMPRESS=y
-# CONFIG_LZOP is not set
-# CONFIG_UNLZOP is not set
-# CONFIG_LZOPCAT is not set
-# CONFIG_LZOP_COMPR_HIGH is not set
-CONFIG_RPM=y
-CONFIG_RPM2CPIO=y
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_TO_COMMAND=y
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
-# CONFIG_FEATURE_TAR_SELINUX is not set
-CONFIG_UNZIP=y
-CONFIG_FEATURE_UNZIP_CDF=y
-CONFIG_FEATURE_UNZIP_BZIP2=y
-CONFIG_FEATURE_UNZIP_LZMA=y
-CONFIG_FEATURE_UNZIP_XZ=y
-# CONFIG_FEATURE_LZMA_FAST is not set
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_FEATURE_CATN=y
-CONFIG_FEATURE_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_FEATURE_CP_REFLINK=y
-CONFIG_CUT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-CONFIG_FEATURE_DATE_NANO=y
-CONFIG_FEATURE_DATE_COMPAT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_FEATURE_DD_STATUS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_EXPAND=y
-CONFIG_UNEXPAND=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FACTOR=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_GROUPS=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LINK=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_WIDTH=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SHA3SUM=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-CONFIG_MKDIR=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MKTEMP=y
-CONFIG_MV=y
-CONFIG_NICE=y
-CONFIG_NL=y
-CONFIG_NOHUP=y
-CONFIG_NPROC=y
-CONFIG_OD=y
-CONFIG_PASTE=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-CONFIG_SEQ=y
-CONFIG_SHRED=y
-CONFIG_SHUF=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_FEATURE_STAT_FILESYSTEM=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_FEATURE_SYNC_FANCY=y
-CONFIG_FSYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TEST=y
-CONFIG_TEST1=y
-CONFIG_TEST2=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TIMEOUT=y
-CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_NODEREF=y
-CONFIG_FEATURE_TOUCH_SUSV3=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_TRUE=y
-CONFIG_TRUNCATE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNAME_OSNAME="GNU/Linux"
-CONFIG_BB_ARCH=y
-CONFIG_UNIQ=y
-CONFIG_UNLINK=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_BASE64=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHO=y
-CONFIG_W=y
-CONFIG_USERS=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options
-#
-CONFIG_FEATURE_VERBOSE=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_FGCONSOLE=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts"
-
-#
-# Common options for loadfont and setfont
-#
-CONFIG_FEATURE_LOADFONT_PSF2=y
-CONFIG_FEATURE_LOADFONT_RAW=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Debian Utilities
-#
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_WHICH=y
-
-#
-# klibc-utils
-#
-# CONFIG_MINIPS is not set
-# CONFIG_NUKE is not set
-# CONFIG_RESUME is not set
-# CONFIG_RUN_INIT is not set
-
-#
-# Editors
-#
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_PATCH=y
-CONFIG_SED=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=1024
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_REGEX_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_FEATURE_VI_UNDO=y
-CONFIG_FEATURE_VI_UNDO_QUEUE=y
-CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_EXECUTABLE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_EXEC_PLUS=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-CONFIG_FEATURE_FIND_QUIT=y
-CONFIG_FEATURE_FIND_DELETE=y
-CONFIG_FEATURE_FIND_EMPTY=y
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_EGREP=y
-CONFIG_FGREP=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
-CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL=y
-CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-CONFIG_HALT=y
-CONFIG_POWEROFF=y
-CONFIG_REBOOT=y
-CONFIG_FEATURE_WAIT_FOR_INIT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-CONFIG_INIT=y
-CONFIG_LINUXRC=y
-CONFIG_FEATURE_USE_INITTAB=y
-CONFIG_FEATURE_KILL_REMOVED=y
-CONFIG_FEATURE_KILL_DELAY=10
-CONFIG_FEATURE_INIT_SCTTY=y
-CONFIG_FEATURE_INIT_SYSLOG=y
-CONFIG_FEATURE_INIT_QUIET=y
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-CONFIG_INIT_TERMINAL_TYPE="linux"
-CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_FEATURE_SHADOWPASSWDS=y
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-CONFIG_USE_BB_CRYPT=y
-CONFIG_USE_BB_CRYPT_SHA=y
-CONFIG_ADD_SHELL=y
-CONFIG_REMOVE_SHELL=y
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_ADDUSER=y
-CONFIG_FEATURE_CHECK_NAMES=y
-CONFIG_LAST_ID=60000
-CONFIG_FIRST_SYSTEM_ID=100
-CONFIG_LAST_SYSTEM_ID=9999
-CONFIG_CHPASSWD=y
-CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="sha256"
-CONFIG_CRYPTPW=y
-CONFIG_MKPASSWD=y
-CONFIG_DELUSER=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-CONFIG_GETTY=y
-CONFIG_LOGIN=y
-CONFIG_LOGIN_SESSION_AS_CHILD=y
-CONFIG_LOGIN_SCRIPTS=y
-CONFIG_FEATURE_NOLOGIN=y
-CONFIG_FEATURE_SECURETTY=y
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set
-CONFIG_SULOGIN=y
-CONFIG_VLOCK=y
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-CONFIG_LSATTR=y
-CONFIG_TUNE2FS=y
-
-#
-# Linux Module Utilities
-#
-# CONFIG_MODPROBE_SMALL is not set
-CONFIG_DEPMOD=y
-CONFIG_INSMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODINFO=y
-CONFIG_MODPROBE=y
-CONFIG_FEATURE_MODPROBE_BLACKLIST=y
-CONFIG_RMMOD=y
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-CONFIG_FEATURE_MODUTILS_ALIAS=y
-CONFIG_FEATURE_MODUTILS_SYMBOLS=y
-CONFIG_DEFAULT_MODULES_DIR=""
-CONFIG_DEFAULT_DEPMOD_FILE=""
-
-#
-# Linux System Utilities
-#
-CONFIG_ACPID=y
-CONFIG_FEATURE_ACPID_COMPAT=y
-CONFIG_BLKDISCARD=y
-CONFIG_BLKID=y
-CONFIG_FEATURE_BLKID_TYPE=y
-CONFIG_BLOCKDEV=y
-CONFIG_CAL=y
-CONFIG_CHRT=y
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FALLOCATE=y
-CONFIG_FATATTR=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFORMAT=y
-CONFIG_FDISK=y
-# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-# CONFIG_FEATURE_OSF_LABEL is not set
-CONFIG_FEATURE_GPT_LABEL=y
-CONFIG_FEATURE_FDISK_ADVANCED=y
-CONFIG_FINDFS=y
-CONFIG_FLOCK=y
-CONFIG_FDFLUSH=y
-CONFIG_FREERAMDISK=y
-# CONFIG_FSCK_MINIX is not set
-CONFIG_FSFREEZE=y
-CONFIG_FSTRIM=y
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-CONFIG_FEATURE_HEXDUMP_REVERSE=y
-# CONFIG_HD is not set
-CONFIG_XXD=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IONICE=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LAST=y
-CONFIG_FEATURE_LAST_FANCY=y
-CONFIG_LOSETUP=y
-CONFIG_LSPCI=y
-CONFIG_LSUSB=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_FEATURE_MDEV_DAEMON=y
-CONFIG_MESG=y
-CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
-CONFIG_MKE2FS=y
-CONFIG_MKFS_EXT2=y
-# CONFIG_MKFS_MINIX is not set
-# CONFIG_FEATURE_MINIX2 is not set
-CONFIG_MKFS_REISER=y
-CONFIG_MKDOSFS=y
-CONFIG_MKFS_VFAT=y
-CONFIG_MKSWAP=y
-CONFIG_FEATURE_MKSWAP_UUID=y
-CONFIG_MORE=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_FAKE=y
-CONFIG_FEATURE_MOUNT_VERBOSE=y
-CONFIG_FEATURE_MOUNT_HELPERS=y
-CONFIG_FEATURE_MOUNT_LABEL=y
-# CONFIG_FEATURE_MOUNT_NFS is not set
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_FEATURE_MOUNT_OTHERTAB=y
-CONFIG_MOUNTPOINT=y
-CONFIG_NOLOGIN=y
-CONFIG_NOLOGIN_DEPENDENCIES=y
-CONFIG_NSENTER=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-CONFIG_RDEV=y
-# CONFIG_READPROFILE is not set
-CONFIG_RENICE=y
-CONFIG_REV=y
-CONFIG_RTCWAKE=y
-CONFIG_SCRIPT=y
-CONFIG_SCRIPTREPLAY=y
-CONFIG_SETARCH=y
-CONFIG_LINUX32=y
-CONFIG_LINUX64=y
-CONFIG_SETPRIV=y
-CONFIG_FEATURE_SETPRIV_DUMP=y
-CONFIG_FEATURE_SETPRIV_CAPABILITIES=y
-CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y
-CONFIG_SETSID=y
-CONFIG_SWAPON=y
-CONFIG_FEATURE_SWAPON_DISCARD=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWAPOFF=y
-CONFIG_FEATURE_SWAPONOFF_LABEL=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_TASKSET=y
-CONFIG_FEATURE_TASKSET_FANCY=y
-CONFIG_FEATURE_TASKSET_CPULIST=y
-CONFIG_UEVENT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-CONFIG_UNSHARE=y
-CONFIG_WALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
-# CONFIG_FEATURE_MTAB_SUPPORT is not set
-CONFIG_VOLUMEID=y
-
-#
-# Filesystem/Volume identification
-#
-CONFIG_FEATURE_VOLUMEID_BCACHE=y
-CONFIG_FEATURE_VOLUMEID_BTRFS=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
-CONFIG_FEATURE_VOLUMEID_EXFAT=y
-CONFIG_FEATURE_VOLUMEID_EXT=y
-CONFIG_FEATURE_VOLUMEID_F2FS=y
-CONFIG_FEATURE_VOLUMEID_FAT=y
-CONFIG_FEATURE_VOLUMEID_HFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_JFS=y
-CONFIG_FEATURE_VOLUMEID_LFS=y
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_LUKS=y
-CONFIG_FEATURE_VOLUMEID_MINIX=y
-CONFIG_FEATURE_VOLUMEID_NILFS=y
-CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_OCFS2=y
-CONFIG_FEATURE_VOLUMEID_REISERFS=y
-CONFIG_FEATURE_VOLUMEID_ROMFS=y
-CONFIG_FEATURE_VOLUMEID_SQUASHFS=y
-CONFIG_FEATURE_VOLUMEID_SYSV=y
-CONFIG_FEATURE_VOLUMEID_UBIFS=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-CONFIG_FEATURE_VOLUMEID_XFS=y
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_ADJTIMEX is not set
-CONFIG_BBCONFIG=y
-CONFIG_FEATURE_COMPRESS_BBCONFIG=y
-CONFIG_BC=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_BIG=y
-# CONFIG_FEATURE_DC_LIBM is not set
-CONFIG_FEATURE_BC_INTERACTIVE=y
-CONFIG_FEATURE_BC_LONG_OPTIONS=y
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y
-CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
-CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
-CONFIG_FEATURE_CHAT_CLR_ABORT=y
-CONFIG_CONSPY=y
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
-CONFIG_FEATURE_CROND_SPECIAL_TIMES=y
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_CRONTAB=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_FBSPLASH=y
-CONFIG_FLASH_ERASEALL=y
-CONFIG_FLASH_LOCK=y
-CONFIG_FLASH_UNLOCK=y
-CONFIG_FLASHCP=y
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_HEXEDIT=y
-CONFIG_I2CGET=y
-CONFIG_I2CSET=y
-CONFIG_I2CDUMP=y
-CONFIG_I2CDETECT=y
-CONFIG_I2CTRANSFER=y
-CONFIG_INOTIFYD=y
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_TRUNCATE=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-# CONFIG_FEATURE_LESS_WINCH is not set
-# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
-# CONFIG_FEATURE_LESS_DASHCMD is not set
-# CONFIG_FEATURE_LESS_LINENUMS is not set
-# CONFIG_FEATURE_LESS_RAW is not set
-# CONFIG_FEATURE_LESS_ENV is not set
-CONFIG_LSSCSI=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-CONFIG_MAN=y
-CONFIG_MICROCOM=y
-CONFIG_MIM=y
-CONFIG_MT=y
-CONFIG_NANDWRITE=y
-CONFIG_NANDDUMP=y
-CONFIG_PARTPROBE=y
-CONFIG_RAIDAUTORUN=y
-CONFIG_READAHEAD=y
-CONFIG_RFKILL=y
-CONFIG_RUNLEVEL=y
-CONFIG_RX=y
-CONFIG_SETFATTR=y
-CONFIG_SETSERIAL=y
-CONFIG_STRINGS=y
-CONFIG_TIME=y
-CONFIG_TS=y
-CONFIG_TTYSIZE=y
-CONFIG_UBIATTACH=y
-CONFIG_UBIDETACH=y
-CONFIG_UBIMKVOL=y
-CONFIG_UBIRMVOL=y
-CONFIG_UBIRSVOL=y
-CONFIG_UBIUPDATEVOL=y
-CONFIG_UBIRENAME=y
-CONFIG_VOLNAME=y
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_FEATURE_IPV6=y
-# CONFIG_FEATURE_UNIX_LOCAL is not set
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-# CONFIG_FEATURE_TLS_SHA1 is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-# CONFIG_FEATURE_BRCTL_FANCY is not set
-# CONFIG_FEATURE_BRCTL_SHOW is not set
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTPD_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-CONFIG_FEATURE_FTPD_AUTHENTICATION=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-CONFIG_DNSDOMAINNAME=y
-CONFIG_HTTPD=y
-CONFIG_FEATURE_HTTPD_RANGES=y
-CONFIG_FEATURE_HTTPD_SETUID=y
-CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
-CONFIG_FEATURE_HTTPD_AUTH_MD5=y
-CONFIG_FEATURE_HTTPD_CGI=y
-CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
-CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
-CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
-CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
-CONFIG_FEATURE_HTTPD_PROXY=y
-CONFIG_FEATURE_HTTPD_GZIP=y
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUP=y
-CONFIG_IFDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPNEIGH=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_NEIGH=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FAKEIDENTD=y
-CONFIG_NAMEIF=y
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-# CONFIG_NETCAT is not set
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_NETSTAT=y
-CONFIG_FEATURE_NETSTAT_WIDE=y
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-CONFIG_FEATURE_NSLOOKUP_BIG=y
-CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y
-CONFIG_NTPD=y
-CONFIG_FEATURE_NTPD_SERVER=y
-CONFIG_FEATURE_NTPD_CONF=y
-CONFIG_FEATURE_NTP_AUTH=y
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_SSL_CLIENT=y
-# CONFIG_TC is not set
-# CONFIG_FEATURE_TC_INGRESS is not set
-CONFIG_TCPSVD=y
-CONFIG_UDPSVD=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_FEATURE_TELNET_WIDTH=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_FEATURE_TELNETD_INETD_WAIT=y
-CONFIG_TFTP=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-CONFIG_FEATURE_TFTP_HPA_COMPAT=y
-CONFIG_TFTPD=y
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-# CONFIG_TFTP_DEBUG is not set
-CONFIG_TLS=y
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_FEATURE_WGET_HTTPS=y
-CONFIG_FEATURE_WGET_OPENSSL=y
-CONFIG_WHOIS=y
-CONFIG_ZCIP=y
-CONFIG_UDHCPD=y
-# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
-CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
-CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
-CONFIG_DUMPLEASES=y
-CONFIG_DHCPRELAY=y
-CONFIG_UDHCPC=y
-CONFIG_FEATURE_UDHCPC_ARPING=y
-CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC6=y
-CONFIG_FEATURE_UDHCPC6_RFC3646=y
-CONFIG_FEATURE_UDHCPC6_RFC4704=y
-CONFIG_FEATURE_UDHCPC6_RFC4833=y
-CONFIG_FEATURE_UDHCPC6_RFC5970=y
-
-#
-# Common options for DHCP applets
-#
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=9
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
-CONFIG_FEATURE_UDHCP_RFC3397=y
-CONFIG_FEATURE_UDHCP_8021Q=y
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-# CONFIG_LPR is not set
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-# CONFIG_MAKEMIME is not set
-# CONFIG_POPMAILDIR is not set
-# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
-# CONFIG_REFORMIME is not set
-# CONFIG_FEATURE_REFORMIME_COMPAT is not set
-# CONFIG_SENDMAIL is not set
-CONFIG_FEATURE_MIME_CHARSET=""
-
-#
-# Process Utilities
-#
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_IOSTAT=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_LSOF=y
-CONFIG_MPSTAT=y
-CONFIG_NMETER=y
-CONFIG_PGREP=y
-CONFIG_PKILL=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PMAP=y
-CONFIG_POWERTOP=y
-CONFIG_FEATURE_POWERTOP_INTERACTIVE=y
-CONFIG_PS=y
-# CONFIG_FEATURE_PS_WIDE is not set
-# CONFIG_FEATURE_PS_LONG is not set
-CONFIG_FEATURE_PS_TIME=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-CONFIG_PSTREE=y
-CONFIG_PWDX=y
-# CONFIG_SMEMCAP is not set
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_INTERACTIVE=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_UPTIME=y
-CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
-CONFIG_WATCH=y
-CONFIG_FEATURE_SHOW_THREADS=y
-
-#
-# Runit Utilities
-#
-# CONFIG_CHPST is not set
-# CONFIG_SETUIDGID is not set
-# CONFIG_ENVUIDGID is not set
-# CONFIG_ENVDIR is not set
-# CONFIG_SOFTLIMIT is not set
-# CONFIG_RUNSV is not set
-# CONFIG_RUNSVDIR is not set
-# CONFIG_FEATURE_RUNSVDIR_LOG is not set
-# CONFIG_SV is not set
-CONFIG_SV_DEFAULT_SERVICE_DIR=""
-# CONFIG_SVC is not set
-# CONFIG_SVOK is not set
-# CONFIG_SVLOGD is not set
-# CONFIG_CHCON is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SESTATUS is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_SETSEBOOL is not set
-
-#
-# Shells
-#
-CONFIG_SH_IS_ASH=y
-# CONFIG_SH_IS_HUSH is not set
-# CONFIG_SH_IS_NONE is not set
-CONFIG_BASH_IS_ASH=y
-# CONFIG_BASH_IS_HUSH is not set
-# CONFIG_BASH_IS_NONE is not set
-CONFIG_SHELL_ASH=y
-CONFIG_ASH=y
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_INTERNAL_GLOB=y
-CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_BASH_SOURCE_CURDIR is not set
-CONFIG_ASH_BASH_NOT_FOUND_HOOK=y
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-CONFIG_ASH_IDLE_TIMEOUT=y
-CONFIG_ASH_MAIL=y
-CONFIG_ASH_ECHO=y
-CONFIG_ASH_PRINTF=y
-CONFIG_ASH_TEST=y
-CONFIG_ASH_HELP=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_CMDCMD=y
-CONFIG_CTTYHACK=y
-# CONFIG_HUSH is not set
-# CONFIG_SHELL_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_BRACE_EXPANSION is not set
-# CONFIG_HUSH_LINENO_VAR is not set
-# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_SAVEHISTORY is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-# CONFIG_HUSH_MODE_X is not set
-# CONFIG_HUSH_ECHO is not set
-# CONFIG_HUSH_PRINTF is not set
-# CONFIG_HUSH_TEST is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_EXPORT is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_READONLY is not set
-# CONFIG_HUSH_KILL is not set
-# CONFIG_HUSH_WAIT is not set
-# CONFIG_HUSH_COMMAND is not set
-# CONFIG_HUSH_TRAP is not set
-# CONFIG_HUSH_TYPE is not set
-# CONFIG_HUSH_TIMES is not set
-# CONFIG_HUSH_READ is not set
-# CONFIG_HUSH_SET is not set
-# CONFIG_HUSH_UNSET is not set
-# CONFIG_HUSH_ULIMIT is not set
-# CONFIG_HUSH_UMASK is not set
-# CONFIG_HUSH_GETOPTS is not set
-# CONFIG_HUSH_MEMLEAK is not set
-
-#
-# Options common to all shells
-#
-CONFIG_FEATURE_SH_MATH=y
-CONFIG_FEATURE_SH_MATH_64=y
-CONFIG_FEATURE_SH_MATH_BASE=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-# CONFIG_FEATURE_SH_STANDALONE is not set
-# CONFIG_FEATURE_SH_NOFORK is not set
-# CONFIG_FEATURE_SH_READ_FRAC is not set
-CONFIG_FEATURE_SH_HISTFILESIZE=y
-CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y
-
-#
-# System Logging Utilities
-#
-CONFIG_KLOGD=y
-
-#
-# klogd should not be used together with syslog to kernel printk buffer
-#
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-# CONFIG_FEATURE_SYSLOGD_DUP is not set
-CONFIG_FEATURE_SYSLOGD_CFG=y
-# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_FEATURE_KMSG_SYSLOG=y
diff --git a/testing/source/mkinitrd/geninitrd b/testing/source/mkinitrd/geninitrd
deleted file mode 100644
index db7995aba..000000000
--- a/testing/source/mkinitrd/geninitrd
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/bash
-
-# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This is a simple script to regenerate the initial ramdisk when a new
-# kernel is installed. It will generate /boot/initrd.gz which will be
-# suitable for *most* uses for whatever kernel is linked to the
-# /boot/vmlinuz-generic (or /boot/vmlinuz-generic-smp) symlink. The
-# linked kernel must be named properly with the kernel version in the
-# filename (the same naming scheme as the kernels shipped in Slackware).
-#
-# If you use an encrypted root, you'll need to make your initrd manually.
-
-cd $(dirname $0)/../..
-chroot . /var/lib/pkgtools/setup/setup.01.mkinitrd
diff --git a/testing/source/mkinitrd/init b/testing/source/mkinitrd/init
deleted file mode 100644
index 2969c2272..000000000
--- a/testing/source/mkinitrd/init
+++ /dev/null
@@ -1,367 +0,0 @@
-#!/bin/ash
-#
-# /init: init script to load kernel modules from an initramfs
-# This requires that your kernel supports initramfs!!!
-#
-# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
-# Copyright 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-##################################################################################
-# With a generic kernel, you need to load the modules needed to mount the
-# root partition. This might mean a SCSI, RAID, or other drive controller
-# module, as well as the module to support the root filesystem. Once the
-# root partition is mounted all the other modules will be available so you
-# don't need to load them here.
-#
-# Config files used by this script:
-#
-# /rootdev Contains the name of the root device, such as: /dev/hda1
-#
-# /rootfs Contains the root filesystem type, such as: xfs
-#
-# /initrd-name Contains the name of the initrd file.
-#
-# /resumedev Contains the name of the device to resume from hibernation.
-#
-# /luksdev Contains colon separated list of luks encrypted devices to
-# be unlocked.
-#
-# /lukstrim Contains colon separated list of luks encrypted devices to
-# pass '--allow-discards' when unlocking
-#
-# /lukskey Contains the path to a LUKS key-file for automatic unlock
-# Format: LABEL=<partition_label>:/path/to/file
-# UUID=<partition_uuid>:/path/to/file
-#
-# /wait-for-root Contains a number - the init script will wait this amount
-# of seconds before creating device nodes.
-#
-# /keymap Contains the name for a custom keyboard map
-#
-# Optional:
-#
-# /load_kernel_modules
-# A script that uses modprobe to load the desired modules.
-#
-# There's an example in here. To actually use it, you'll
-# need to make it executable:
-#
-# chmod 755 load_kernel_modules
-##################################################################################
-# Changelog
-# 10-Dec-2012 <mozes@slackware.com>
-# * Added support for the official Kernel parameters to select root filesystem
-# type ('rootfstype') and pause before attempting to mount the root filesystem
-# ('rootdelay'). The original parameters may continue to be used.
-##################################################################################
-
-INITRD=$(cat /initrd-name)
-ROOTDEV=$(cat /rootdev)
-ROOTFS=$(cat /rootfs)
-LUKSDEV=$(cat /luksdev)
-LUKSTRIM=$(cat /lukstrim 2>/dev/null)
-LUKSKEY=$(cat /lukskey)
-RESUMEDEV=$(cat /resumedev)
-WAIT=$(cat /wait-for-root)
-KEYMAP=$(cat /keymap)
-INIT=/sbin/init
-
-PATH="/sbin:/bin:/usr/sbin:/usr/bin"
-
-# Mount /proc and /sys:
-mount -n proc /proc -t proc
-mount -n sysfs /sys -t sysfs
-mount -n tmpfs /run -t tmpfs -o mode=0755,size=32M,nodev,nosuid,noexec
-
-if grep devtmpfs /proc/filesystems 1>/dev/null 2>/dev/null ; then
- DEVTMPFS=1
- mount -n devtmpfs /dev -t devtmpfs -o size=8M
-fi
-
-# Parse command line
-for ARG in $(cat /proc/cmdline); do
- case $ARG in
- 0|1|2|3|4|5|6|S|s|single)
- RUNLEVEL=$ARG
- ;;
- init=*)
- INIT=$(echo $ARG | cut -f2 -d=)
- ;;
- luksdev=/dev/*)
- LUKSDEV=$(echo $ARG | cut -f2 -d=)
- ;;
- lukskey=*)
- LUKSKEY=$(echo $ARG | cut -f2- -d=)
- ;;
- rescue)
- RESCUE=1
- ;;
- resume=*)
- RESUMEDEV=$(echo $ARG | cut -f2- -d=)
- ;;
- root=/dev/*)
- ROOTDEV=$(echo $ARG | cut -f2 -d=)
- ;;
- root=LABEL=*)
- ROOTDEV=$(echo $ARG | cut -f2- -d=)
- ;;
- root=UUID=*)
- ROOTDEV=$(echo $ARG | cut -f2- -d=)
- ;;
- rootfs=*|rootfstype=*)
- ROOTFS=$(echo $ARG | cut -f2 -d=)
- ;;
- rootflags=*)
- ROOTFLAGS=$(echo $ARG | cut -f2- -d=)
- ;;
- waitforroot=*|rootdelay=*)
- WAIT=$(echo $ARG | cut -f2 -d=)
- ;;
- esac
-done
-
-# If udevd is available, use it to generate block devices
-# else use mdev to read sysfs and generate the needed devices
-if [ -x /sbin/udevd -a -x /sbin/udevadm ]; then
- /sbin/udevd --daemon --resolve-names=never
- /sbin/udevadm trigger --subsystem-match=block --action=add
- /sbin/udevadm settle --timeout=10
-else
- [ "$DEVTMPFS" != "1" ] && mdev -s
-fi
-
-# Load kernel modules (ideally this was already done by udev):
-if [ ! -d /lib/modules/$(uname -r) ]; then
- echo "No kernel modules found for Linux $(uname -r)."
-elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
- echo "${INITRD}: Loading kernel modules from initrd image:"
- . ./load_kernel_modules
-else # load modules (if any) in order:
- if ls /lib/modules/$(uname -r)/*.*o 1> /dev/null 2> /dev/null ; then
- echo "${INITRD}: Loading kernel modules from initrd image:"
- for module in /lib/modules/$(uname -r)/*.*o ; do
- /sbin/modprobe $module
- done
- unset module
- fi
-fi
-
-# Sometimes the devices need extra time to be available.
-# A root filesystem on USB is a good example of that.
-sleep $WAIT
-
-# Load a custom keyboard mapping:
-if [ -n "$KEYMAP" ]; then
- echo "${INITRD}: Loading '$KEYMAP' keyboard mapping:"
- tar xzOf /etc/keymaps.tar.gz ${KEYMAP}.bmap | loadkmap
-fi
-
-if [ "$RESCUE" = "" ]; then
- # Initialize RAID:
- if [ -x /sbin/mdadm ]; then
- # If /etc/mdadm.conf is present, udev should DTRT on its own;
- # If not, we'll make one and go from there:
- if [ ! -r /etc/mdadm.conf ]; then
- /sbin/mdadm -E -s >/etc/mdadm.conf
- /sbin/mdadm -S -s
- /sbin/mdadm -A -s
- # This seems to make the kernel see partitions more reliably:
- fdisk -l /dev/md* 1> /dev/null 2> /dev/null
- fi
- fi
-
- # Unlock any encrypted partitions necessary to access the
- # root filesystem, such as encrypted LVM Physical volumes, disk
- # partitions or mdadm arrays.
- # Unavailable devices such as LVM Logical Volumes will need to be
- # deferred until they become available after the vgscan.
-
- if [ -x /sbin/cryptsetup ]; then
-
- # Determine if we have to use a LUKS keyfile:
- if [ ! -z "$LUKSKEY" ]; then
- mkdir /mountkey
- KEYPART=$(echo $LUKSKEY |cut -f1 -d:)
- KEYNAME=$(echo $KEYPART |cut -f2 -d=)
- LUKSPATH="/mountkey$(echo $LUKSKEY |cut -f2 -d:)"
- # Catch possible mount failure:
- if blkid |grep "TYPE=\"vfat\"" |grep $KEYNAME 1>/dev/null 2>&1 ; then
- MOUNTOPTS="-t vfat -o shortname=mixed"
- else
- MOUNTOPTS="-t auto"
- fi
- mount $MOUNTOPTS $(findfs $KEYPART) /mountkey 2>/dev/null
- # Check if we can actually use this file:
- if [ ! -f $LUKSPATH ]; then
- LUKSKEY=""
- else
- echo ">>> Using LUKS key file: '$LUKSKEY'"
- LUKSKEY="-d $LUKSPATH"
- fi
- fi
-
- LUKSLIST_DEFERRED=""
- LUKSLIST=$(echo $LUKSDEV | tr -s ':' ' ')
- for LUKSDEV in $LUKSLIST ; do
- if echo $LUKSDEV | grep -q "LABEL=" || echo $LUKSDEV | grep -q "UUID=" ; then
- LUKSDEV=$(findfs $LUKSDEV)
- fi
- if /sbin/cryptsetup isLuks ${LUKSDEV} 1>/dev/null 2>/dev/null ; then
- if echo $ROOTDEV | grep -q "LABEL=" || echo $ROOTDEV | grep -q "UUID=" ; then
- CRYPTDEV="luks$(basename $LUKSDEV)"
- elif [ "x$ROOTDEV" = "x$(basename $ROOTDEV)" ]; then
- CRYPTDEV="$ROOTDEV"
- else
- CRYPTDEV="luks$(basename $LUKSDEV)"
- fi
- if echo $LUKSTRIM | grep -wq $LUKSDEV 2>/dev/null ; then
- LUKSOPTS="--allow-discards"
- else
- LUKSOPTS=""
- fi
- if [ -z "${LUKSOPTS}" ]; then
- echo "Unlocking LUKS encrypted device '${LUKSDEV}' as luks mapped device '$CRYPTDEV':"
- else
- echo "Unlocking LUKS encrypted device '${LUKSDEV}' as luks mapped device '$CRYPTDEV' with '$LUKSOPTS':"
- fi
- /sbin/cryptsetup ${LUKSOPTS} ${LUKSKEY} luksOpen ${LUKSDEV} ${CRYPTDEV} </dev/tty0 >/dev/tty0 2>&1
- if [ "$ROOTDEV" = "$LUKSDEV" -o "$ROOTDEV" = "$CRYPTDEV" ] ; then
- ROOTDEV="/dev/mapper/$CRYPTDEV"
- fi
- else
- LUKSLIST_DEFERRED="${LUKSLIST_DEFERRED} ${LUKSDEV}"
- fi
- done
- fi
-
- # Initialize LVM:
- if [ -x /sbin/vgchange ]; then
- mkdir -p /var/lock/lvm # this avoids useless warnings
- /sbin/vgchange -ay --ignorelockingfailure 2>/dev/null
- /sbin/udevadm settle --timeout=10
- fi
-
- # Unlock any LUKS encrypted devices that were deferred above but have now
- # become available due to the vgscan (i.e. filesystems on LVM Logical Volumes)
-
- if [ -x /sbin/cryptsetup -a -n "${LUKSLIST_DEFERRED}" ]; then
- for LUKSDEV in ${LUKSLIST_DEFERRED} ; do
- if /sbin/cryptsetup isLuks ${LUKSDEV} 1>/dev/null 2>/dev/null ; then
- if echo $ROOTDEV | grep -q "LABEL=" || echo $ROOTDEV | grep -q "UUID=" ; then
- CRYPTDEV="luks$(basename $LUKSDEV)"
- elif [ "x$ROOTDEV" = "x$(basename $ROOTDEV)" ]; then
- CRYPTDEV="$ROOTDEV"
- else
- CRYPTDEV="luks$(basename $LUKSDEV)"
- fi
- echo "Unlocking LUKS encrypted device '${LUKSDEV}' as luks mapped device '$CRYPTDEV':"
- /sbin/cryptsetup ${LUKSKEY} luksOpen ${LUKSDEV} ${CRYPTDEV} </dev/tty0 >/dev/tty0 2>&1
- if [ "$ROOTDEV" = "$LUKSDEV" -o "$ROOTDEV" = "$CRYPTDEV" ] ; then
- ROOTDEV="/dev/mapper/$CRYPTDEV"
- fi
- else
- echo "LUKS device '${LUKSDEV}' unavailable for unlocking!"
- fi
- done
- /sbin/udevadm settle --timeout=10
- fi
-
- # Scan for btrfs multi-device filesystems:
- if [ -x /sbin/btrfs ]; then
- /sbin/btrfs device scan
- fi
-
- # Find root device if a label or UUID was given:
- if echo $ROOTDEV | grep -q "LABEL=" || \
- echo $ROOTDEV | grep -q "UUID=" ; then
- ROOTDEV=$(findfs $ROOTDEV)
- fi
-
- # Clean up after LUKS unlock using a keyfile:
- if grep -q mountkey /proc/mounts 2>/dev/null ; then
- umount -l /mountkey
- rmdir /mountkey 2>/dev/null
- fi
-
- # Resume state from swap
- if [ "$RESUMEDEV" != "" ]; then
- # Find resume device if a label or UUID was given:
- if echo $RESUMEDEV | grep -q "LABEL=" || \
- echo $RESUMEDEV | grep -q "UUID=" ; then
- RESUMEDEV=$(findfs $RESUMEDEV)
- elif ls -l $RESUMEDEV | grep -q "^l" ; then
- RESUMEDEV=$(readlink -f $RESUMEDEV)
- fi
- echo "Trying to resume from $RESUMEDEV"
- RESMAJMIN=$(ls -l $RESUMEDEV | tr , : | awk '{ print $5$6 }')
- echo $RESMAJMIN > /sys/power/resume
- fi
-
- # Switch to real root partition:
- /sbin/udevadm settle --timeout=10
- echo 0x0100 > /proc/sys/kernel/real-root-dev
- mount -o ro${ROOTFLAGS:+,$ROOTFLAGS} -t $ROOTFS $ROOTDEV /mnt
-
- if [ ! -r /mnt/sbin/init ]; then
- echo "ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead."
- echo " You can try to fix it. Type 'exit' when things are done."
- echo
- /bin/sh
- fi
-else
- echo
- echo "RESCUE mode"
- echo
- echo " You can try to fix or rescue your system now. If you want"
- echo " to boot into your fixed system, mount your root filesystem"
- echo " read-only under /mnt:"
- echo
- echo " # mount -o ro -t filesystem root_device /mnt"
- echo
- echo " Type 'exit' when things are done."
- echo
- /bin/sh
-fi
-
-# Mount additional filesystems
-if [ -f /addfstab ]; then
- while read DEV MNTPNT FS OPTS DUMP PASSNO ; do
- if echo $DEV | grep -qE '(LABEL|UUID)=' ; then
- DEV=$(findfs $DEV)
- fi
- echo $DEV "/mnt/"$MNTPNT $FS "ro,"$OPTS $DUMP $PASSNO >> /etc/fstab
- done < /addfstab
- mount -a
-fi
-
-# Need to make sure OPTIONS+="db_persist" exists for all dm devices
-# That should be handled in /sbin/mkinitrd now
-/sbin/udevadm info --cleanup-db
-/sbin/udevadm control --exit
-
-unset ERR
-mount -o move /proc /mnt/proc
-mount -o move /sys /mnt/sys
-mount -o move /run /mnt/run
-
-[ "$DEVTMPFS" = "1" ] && mount -o move /dev /mnt/dev
-echo "${INITRD}: exiting"
-exec switch_root /mnt $INIT $RUNLEVEL
diff --git a/testing/source/mkinitrd/mkinitrd b/testing/source/mkinitrd/mkinitrd
deleted file mode 100644
index 75d7ced66..000000000
--- a/testing/source/mkinitrd/mkinitrd
+++ /dev/null
@@ -1,834 +0,0 @@
-#!/bin/bash
-# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
-# Copyright 2004 Patrick J. Volkerding, Concord, CA, USA
-# Copyright 2007, 2008, 2009, 2010, 2011, 2015, 2016, 2017 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Modified by Robby Workman <rworkman@slackware.com> 26 November 2007
-# to add support for mkinitrd.conf - No additional license terms added
-# Modified by Alan Hicks <alan@slackware.com> 27 November 2007 to enable
-# passing arguments to kernel modules - No additional license terms added
-# volkerdi - feel free to remove these :)
-# Modified by Eric Hameleers <alien@slackware.com> 3 April 2008
-# to add support custom keymaps - No additional license terms added
-# Modified by Patrick Volkerding <volkerdi@slackware.com> 17 Dec 2008
-# Added support to bail out if kernel modules are requested for a kernel
-# version that is not installed (thanks to Eric Hameleers), be more
-# verbose about showing modules added to the initrd (thanks to
-# Ellington Santos), and if "mount" returns /dev/root as the root device,
-# use readlink to resolve the device pointed to by the /dev/root
-# symlink, changed modprobe to use --ignore-install to avoid catching
-# custom "install" lines and causing /sbin/modprobe to be copied to the
-# initrd (thanks to Ken Milmore).
-# Of course, license terms remain unchanged.
-# Modified by Eric Hameleers <alien@slackware.com> 3 March 2010
-# Add lukskey option (-K). Automatically add kernel modules listed in
-# load-kernel-modules if that file is executable.
-# Yada yada yada.
-# Modified by Patrick Volkerding <volkerdi@slackware.com> 21 August 2012
-# Add Btrfs multi-device filesystem support option (-B).
-# Modified by Robby Workman <rworkman@slackware.com> 08 March 2017
-# to add support for TRIM on LUKS root devs
-# Modified by Patrick Volkerding <volkerdi@slackware.com> 29 June 2017
-# Add support for prepending a microcode update archive (-P).
-# Modified by Patrick Volkerding <volkerdi@slackware.com> 12 July 2017
-# Add support for including Slackware and kernel versions in the
-# output filename. Thanks to SeB.
-# Modified by Patrick Volkerding <volkerdi@slackware.com> 04 Feb 2019
-# Allow specifying more than one kernel version.
-# Modified by Robby Workman <rworkman@slackware.com> 05 September 2019
-# to add libargon2 and libgcc_s for cryptsetup LUKS2 support; add
-# jfs and xfs repair tools to initrd if those filesystems are used;
-# fixes and enhancements to docs
-# Modified by Piter Punk <piterpunk@slackware.com> 25 April 2022
-# Add support to specify additional filesystems to be mounted by
-# initrd. Useful for those that have a separated '/usr'
-
-MKINITRD_VERSION=1.4.11
-
-COMMAND_LINE="$0 $*"
-
-# Don't include these things from /lib/udev/ in the initrd image
-LIBUDEV_BLACKLIST="\
- ipod-set-info \
- iphone-set-info \
- check-mtp-device \
- check-ptp-camera \
- udev-configure-printer \
- rules.d/60-openobex.rules \
- rules.d/73-seat-late.rules \
- rules.d/85-regulatory.rules \
- "
-
-print_usage() {
- cat << EOF
-Usage: mkinitrd [OPTION]
-
-mkinitrd creates an initial ramdisk (actually an initramfs cpio+gzip
-archive) used to load kernel modules that are needed to mount the
-root filesystem, or other modules that might be needed before the
-root filesystem is available. Other binaries may be added to the
-initrd, and the script is easy to modify. Be creative. :-)
-
- -F Use the contents of /etc/mkinitrd.conf (optional)
- If this is used in conjunction with any other options passed
- on the command line, the command-line options will override
- the config file options. See mkinitrd.conf(5) for details.
- -c Clear the existing initrd tree first
- -f Filesystem to use for root partition (must be used with -r)
- --help Display this message
- -h Device to resume from hibernation. Needs to be the name of
- the swap partition holding the hibernation image.
- -k Kernel version to use
- -l Custom keymap to load. Like, 'nl' or 'de-latin1-nodeadkeys'
- -m A colon (:) delimited list of kernel modules to load.
- Additional options may be added to use when loading the
- kernel modules (but in this case the entire list must be
- wrapped with double quotes). Any dependencies of requested
- modules will also be added to the initrd.
- -o Output image (default /boot/initrd.gz)
- -r Root partition device (must be used with -f)
- -s Initrd source tree (default /boot/initrd-tree/)
- -u Include udev in the initrd
- -w Time to wait until all disks are detected
- -C A colon (:) delimited list of luks encrypted block devices to be
- unlocked by the initrd using cryptsetup. All devices that must
- be unlocked in order to access the root filesystem must be
- specified. (Use with '-r' parameter).
- -T A colon (:) delimited list of luks encrypted block devices to be
- passed the "--allow-discards" option when unlocked by the initrd
- using cryptsetup. This has the effect of allowing TRIM on SSD drives.
- Be sure your SSD supports this feature (correctly) before enabling
- it. See fstrim(8) for more information.
- -L Add support for LVM partitions
- -K Use a USB key (fat-formatted) to unlock the root LUKS volume
- The parameter value is filename of a keyfile, as well as the label
- (or uuid) of the partition this file is on. This way, you can unlock
- your computer automatically if you have a USB stick with your LUKS
- key inserted at boot. A passphrase will still be asked if the LUKS
- key can not be found.
- For example, if your USB thumb drive has a FAT partition with label
- "TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks",
- then you need to pass: -K LABEL=TRAVELSTICK:/keys/alien.luks
- -B Add /sbin/btrfs to enable scanning for a root filesystem that is
- part of a Btrfs multi-device filesystem.
- -M Add the files in /etc/modprobe.d/ and /lib/modprobe.d/ to the initrd
- -P Prepend the output image with the microcode CPIO archive given in
- arguments.
- -R Add support for RAID partitions
- -MNT Additional filesystems to be mounted by initrd. Multiple mount
- entries can be specified in a list separated by colon (:).
- -V Display version number
-
-A simple example: Build an initrd for a reiserfs root partition:
-
- mkinitrd -c -m reiserfs
-
-Another example: Build an initrd image using Linux 2.6.35.4-smp kernel
-modules for a system with an ext4 root partition on /dev/sdb3:
-
- mkinitrd -c -k 2.6.35.4-smp -m mbcache:jbd:ext4 -f ext4 -r /dev/sdb3
-
-Note that if you are already logged in with /dev/sdb3 as your /
-partition, and it is running ext4, this command works just the same:
-
- mkinitrd -c -m ext4
-
-If run without options, mkinitrd will rebuild an initrd image using
-the contents of the $SOURCE_TREE directory, or, if that directory
-does not exist it will be created and populated, and then mkinitrd
-will exit.
-
-EOF
-}
-
-create_new_source_tree() {
- mkdir -p $SOURCE_TREE
- # Make sure the kernel module directories exist:
- for kver in $(echo ${KERNEL_VERSION} | tr ':' '\n') ; do
- mkdir -p $SOURCE_TREE/lib/modules/${kver}
- done
- # Add the initrd-tree skeleton:
- ( cd $SOURCE_TREE ; tar xzf /usr/share/mkinitrd/initrd-tree.tar.gz )
- # Make sure we have any block devices that might be needed:
-
- SLOPPY_DEV_LIST=$(cat /proc/partitions)
- for device in $SLOPPY_DEV_LIST ; do
- if [ ! -r $SOURCE_TREE/dev/$device ]; then
- if [ -b /dev/$device ]; then
- if [ -L /dev/$device ]; then
- cp -a --parents $(readlink -e /dev/$device) $SOURCE_TREE
- fi
- cp -a --parents /dev/$device $SOURCE_TREE
- fi
- fi
- done
-}
-
-clear_source_tree() {
- if [ -d "$SOURCE_TREE" ]; then
- rm -rf $SOURCE_TREE
- fi
-}
-
-build_initrd_image() {
- # Make sure we have any block devices that might be needed:
- SLOPPY_DEV_LIST=$(cat /proc/partitions)
- for device in $SLOPPY_DEV_LIST ; do
- if [ ! -r $SOURCE_TREE/dev/$device ]; then
- if [ -b /dev/$device ]; then
- if [ -L /dev/$device ]; then
- cp -a --parents $(readlink -e /dev/$device) $SOURCE_TREE
- fi
- cp -a --parents /dev/$device $SOURCE_TREE
- fi
- fi
- done
- # Use the output image name written in the initrd-tree if present:
- if [ ! -z "$(cat $SOURCE_TREE/initrd-name)" ]; then
- OUTPUT_IMAGE=$(cat $SOURCE_TREE/initrd-name)
- if [ "$OUTPUT_IMAGE" = "$(basename $OUTPUT_IMAGE)" ]; then
- OUTPUT_IMAGE=/boot/$OUTPUT_IMAGE
- fi
- mkdir -p $(dirname $OUTPUT_IMAGE)
- fi
- # Wrap the initrd as an initramfs image and move it into place:
- ( cd $SOURCE_TREE
- rm -f $OUTPUT_IMAGE
- find . | cpio -o -H newc | gzip -9c > $OUTPUT_IMAGE
- )
-
- if [ ! -z "${MICROCODE_ARCH}" ] ; then
- cat ${MICROCODE_ARCH} ${OUTPUT_IMAGE} > ${OUTPUT_IMAGE}.2
- mv ${OUTPUT_IMAGE}.2 ${OUTPUT_IMAGE}
- fi
- echo "$OUTPUT_IMAGE created."
- echo "Be sure to run lilo again if you use it."
-}
-
-badconf_file() {
- # This won't really help with what's *wrong* with the file,
- # but it will at least give them a clue that there's a problem
- echo "/etc/mkinitrd.conf is bad or does not exist."
- echo "If the file does not exist, do not pass -F to mkinitrd."
- exit 1
-}
-
-
-unify_libs() {
- awk '/=. \// { print $3 }' | sort -u
-}
-
-copy_libs() {
- # First copy the essential glibc files:
- find /lib /lib64 -name "ld-*so*" -o -name "libnss_files*so*" -o -name "libnss_compat*so*" 2> /dev/null | xargs -I'{}' cp -P --parents '{}' $SOURCE_TREE/
-
- # Then copy all remaining libs our initrd files link against:
- COUNT=1
- PRFX=$(tempfile --prefix ldd-)
- TMPFILE=${PRFX}${COUNT}
-
- find $SOURCE_TREE -type f -exec ldd {} 2>/dev/null \; | unify_libs > $TMPFILE
- while [ "$COUNT" != "0" ]; do
- COUNT=$((COUNT+1))
- for i in $(cat ${TMPFILE}) ; do
- ldd $i 2>/dev/null
- done | unify_libs > ${PRFX}${COUNT}
- if [ $(cat $TMPFILE ${PRFX}${COUNT} | sort |uniq -u | wc -l) -eq 0 ]; then
- COUNT=0
- else
- TMPFILE=${PRFX}${COUNT}
- fi
- # emergency eject lever:
- if [ "$COUNT" = "42" ]; then
- COUNT=0
- fi
- done
-
- for i in $(cat ${PRFX}* | sort -u) ; do
- cp -P --parents ${i}* $SOURCE_TREE
- done
-
- (
- cd $SOURCE_TREE
- for i in $(find -L . -type l -exec readlink -m /{} \; 2>/dev/null ) ; do
- cp -P --parents ${i} $SOURCE_TREE
- done
- )
-
- rm ${PRFX}*
-}
-
-copy_modconf() {
- mkdir -p $SOURCE_TREE/etc $SOURCE_TREE/lib
- cp -a /etc/modprobe.d $SOURCE_TREE/etc
- cp -a /lib/modprobe.d $SOURCE_TREE/lib/
-}
-
-# Normalize the string $1 by replacing occurences of
-# recognized tags by their current values.
-#
-# this version take the following tags into account:
-# %KVER% (kernel version)
-# %SLACKVER% (slackware version)
-#
-function normalize_string() {
- echo "$1" | sed -e "s?%KVER%?${KERNEL_VERSION}?g" \
- -e "s?%SLACKVER%?$(cat /etc/slackware-version|cut -f2 -d" ")?g"
-}
-
-# If --help is given, print_usage and exit:
-if echo $* | grep -wq '\--help' ; then
- print_usage
- exit 0
-fi
-
-# If -V given, print version and exit:
-if echo $* | grep -wq '\-V' ; then
- echo "mkinitrd version $MKINITRD_VERSION"
- exit 0
-fi
-
-# Default values if these aren't previously set.
-# Might be set from config file or by -s and -o options too.
-SOURCE_TREE=${SOURCE_TREE:-/boot/initrd-tree}
-OUTPUT_IMAGE=${OUTPUT_IMAGE:-""}
-KERNEL_VERSION=${KERNEL_VERSION:-"$(uname -r)"}
-# The initrd requires udev to function correctly:
-UDEV=1
-
-# Default actions without options:
-if [ -z "$1" ]; then
- # We need a sensible default for this special case:
- OUTPUT_IMAGE=$(normalize_string ${OUTPUT_IMAGE:-/boot/initrd.gz})
- # If the output tree doesn't exist, create it and then exit:
- if [ ! -d $SOURCE_TREE ]; then
- echo "Nothing found at location $SOURCE_TREE, so we will create an"
- echo -n "initrd directory structure there... "
- create_new_source_tree
- echo "done."
- echo
- echo "Now cd to $SOURCE_TREE and install some modules in your"
- echo "module directory (lib/modules/${KERNEL_VERSION}). Then see init"
- echo "for more information (there are a few other files to edit)."
- echo "Finally, run mkinitrd again once the initrd-tree is ready,"
- echo "and $OUTPUT_IMAGE will be created from it."
- echo
- exit 0
- else
- # If the source tree does exist, the default is to build the initrd
- # image from it and then exit:
- build_initrd_image
- exit 0
- fi
-fi # default no-option actions
-
-# Parse for the use config file option first or else the other command
-# line options can not override /etc/mkinitrd.conf.
-for opt in "$@"; do
- if [ "$opt" = "-F" ]; then
- if [ -e /etc/mkinitrd.conf ]; then
- . /etc/mkinitrd.conf || badconf_file
- else
- badconf_file
- fi
- fi
-done
-
-# Parse options:
-while [ ! -z "$1" ]; do
- case $1 in
- -c)
- CLEAR_TREE=1
- shift
- ;;
- -f)
- ROOTFS="$2"
- shift 2
- ;;
- -h)
- RESUMEDEV="$2"
- shift 2
- ;;
- -k)
- KERNEL_VERSION="$2"
- shift 2
- ;;
- -l)
- KEYMAP="$2"
- shift 2
- ;;
- -m)
- MODULE_LIST="$2"
- shift 2
- ;;
- -o)
- # canonicalize filename:
- OUTPUT_IMAGE="$(readlink -m $2)"
- shift 2
- ;;
- -r)
- ROOTDEV="$2"
- shift 2
- ;;
- -s)
- # canonicalize filename:
- SOURCE_TREE="$(readlink -m $2)"
- shift 2
- ;;
- -u)
- UDEV=1
- shift
- ;;
- -w)
- WAIT="$2"
- shift 2
- ;;
- -C)
- CRYPT=1
- LUKSDEV="$2"
- shift 2
- ;;
- -K)
- LUKSKEY="$2"
- shift 2
- ;;
- -T)
- LUKSTRIM="$2"
- shift 2
- ;;
- -L)
- LVM=1
- shift
- ;;
- -B)
- BTRFS=1
- shift
- ;;
- -M)
- MODCONF=1
- shift
- ;;
- -P)
- # canonicalize filename:
- MICROCODE_ARCH="$(readlink -m $2)"
- if [ ! -e "${MICROCODE_ARCH}" ] ; then
- echo "Error, the microcode cpio archive ${MICROCODE_ARCH} does not exist."
- exit 1
- fi
- shift 2
- ;;
- -MNT)
- MOUNT_LIST="$2"
- shift 2
- ;;
- -R)
- RAID=1
- shift
- ;;
- *) # unknown, prevent infinite loop
- shift
- ;;
- esac
-done
-
-# Resolve TAGS (i.e %KVER%, %SLACKVER%) found in OUTPUT_IMAGE.
-#
-# Note:
-# ----
-# This must be done after all options have been handled and
-# not when handling case '-o' because -k can be passed after
-# -o in which case, the tag %KVER% would be replaced with the
-# current kernel version instead of version passed with -k.
-#
-if echo "$OUTPUT_IMAGE" | grep -qE "%KVER%|%SLACKVER%" ; then
- OUTPUT_IMAGE="$(normalize_string $OUTPUT_IMAGE)"
-fi
-
-# If kernel modules are needed but the kernel version is absent, exit now:
-for kver in $(echo ${KERNEL_VERSION} | tr ':' '\n') ; do
- if [ ! -d /lib/modules/$kver ]; then
- echo "ERROR: No /lib/modules/$kver kernel modules tree found for kernel \"$kver\""
- exit 1
- fi
-done
-
-# If clearing source tree was requested, do that first
-if [ "$CLEAR_TREE" = "1" ]; then
- clear_source_tree
-fi
-
-# If there's no $SOURCE_TREE, make one now:
-if [ ! -d "$SOURCE_TREE" ]; then
- create_new_source_tree
-fi
-
-# If $ROOTDEV and $ROOTFS are not set, assume we want the
-# values for the currently mounted /
-# (unless we find that values are already set in the initrd-tree):
-if [ -z "$ROOTDEV" -a -z "$(cat $SOURCE_TREE/rootdev 2>/dev/null)" ]; then
- ROOTDEV=$(mount | grep ' on / ' | cut -f 1 -d ' ')
- if [ "$ROOTDEV" = "/dev/root" ]; then # find real root device
- ROOTDEV="/dev/$(readlink /dev/root)"
- fi
-fi
-if [ -z "$ROOTFS" -a -z "$(cat $SOURCE_TREE/rootfs 2>/dev/null)" ]; then
- ROOTFS=$(mount | grep ' on / ' | cut -f 5 -d ' ')
-fi
-# If needed, write them in the initrd-tree:
-if [ ! -z "$ROOTDEV" ]; then
- echo $ROOTDEV > $SOURCE_TREE/rootdev
-fi
-if [ ! -z "$ROOTFS" ]; then
- echo $ROOTFS > $SOURCE_TREE/rootfs
-fi
-
-# Put a copy of the command line used to create this initrd in
-# initrd-tree/command_line:
-echo "$COMMAND_LINE" > $SOURCE_TREE/command_line
-
-# If /etc/mkinitrd.conf exists, put a copy of that in there as well.
-# (May or may not have been used according to the -F option, but we'll
-# save a copy anyway just in case):
-if [ -e /etc/mkinitrd.conf ]; then
- cp -a /etc/mkinitrd.conf $SOURCE_TREE/mkinitrd.conf
-fi
-
-# If $WAIT is not set, assume we need only one second
-# to have all devices done
-# (unless we find that value is already set in the initrd-tree):
-if [ -z "$WAIT" -a -z "$(cat $SOURCE_TREE/wait-for-root)" ]; then
- WAIT=1
- # ARM devices need even more time:
- case "$( uname -m )" in
- arm*) WAIT=4;;
- esac
-fi
-if [ ! -z "$WAIT" ]; then
- echo $WAIT > $SOURCE_TREE/wait-for-root
-fi
-
-# If no OUTPUT_IMAGE was specified, read it from the SOURCE_TREE if possible:
-OUTPUT_IMAGE=$(normalize_string ${OUTPUT_IMAGE:-"$(cat $SOURCE_TREE/initrd-name)"})
-# If we still have no value, apply the default:
-OUTPUT_IMAGE=${OUTPUT_IMAGE:-"/boot/initrd.gz"}
-# Finally, write the image name into the SOURCE_TREE:
-echo "$OUTPUT_IMAGE" > $SOURCE_TREE/initrd-name
-
-# Fill /resumedev with the swap partition holding the hibernation image
-if [ ! -z "$RESUMEDEV" ]; then
- echo $RESUMEDEV > $SOURCE_TREE/resumedev
-fi
-
-# Add custom keymap support if one was given
-if [ ! -z "$KEYMAP" ]; then
- echo $KEYMAP > $SOURCE_TREE/keymap
- cp /usr/share/mkinitrd/keymaps.tar.gz $SOURCE_TREE/etc/
-fi
-
-# If LUKSDEV was set in the config file, then we need to set CRYPT=1
-if [ ! -z "$LUKSDEV" ]; then
- CRYPT=1
-fi
-
-# Check for LUKSTRIM
-if [ ! -z "$LUKSTRIM" ]; then
- echo $LUKSTRIM > $SOURCE_TREE/lukstrim
-fi
-
-# If LUKSKEY was set in the config file, then give it a warm welcome:
-if [ ! -z "$LUKSKEY" ]; then
- # $SOURCE_TREE/wait-for-root may have been configured earlier in the script,
- # but we require at least 5 seconds for the USB stick to settle
- # after insertion :
- if [ ! -s $SOURCE_TREE/wait-for-root ] || [ $(cat $SOURCE_TREE/wait-for-root) -lt 5 ]; then
- echo 5 > $SOURCE_TREE/wait-for-root
- fi
-
- # Several extra modules are needed to support a vfat formatted USB stick...
- # assuming here we are using a western codepage.
- # This possibly adds doublures, but we clean up the MODULE_LIST further down!
- MODULE_LIST="${MODULE_LIST}:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:ohci-hcd:ehci-hcd:uhci-hcd:usb-storage:hid:usbhid:fat:nls_cp437:nls_iso8859-1:msdos:vfat"
-
- # Finally, write the lukskey to the initrd-tree:
- echo $LUKSKEY > $SOURCE_TREE/lukskey
-fi
-
-# Include RAID support in initrd
-if [ ! -z "$RAID" ]; then
- if [ -r /sbin/mdadm -a -r /sbin/mdmon ]; then
- mkdir -p $SOURCE_TREE/sbin
- cp /sbin/mdadm $SOURCE_TREE/sbin/mdadm
- cp /sbin/mdmon $SOURCE_TREE/sbin/mdmon
- chmod 0755 $SOURCE_TREE/sbin/mdadm
- chmod 0755 $SOURCE_TREE/sbin/mdmon
- mkdir -p $SOURCE_TREE/lib/udev/rules.d
- echo 'KERNEL=="dm-[0-9]*", OPTIONS+="db_persist"' > \
- $SOURCE_TREE/lib/udev/rules.d/95-dm-initrd.rules
- if [ -r /etc/mdadm.conf ] ; then
- cp /etc/mdadm.conf $SOURCE_TREE/etc
- fi
- else
- echo "ERROR: mdadm and/or mdmon binary is missing, RAID support not installed"
- fi
-fi
-
-# Include Btrfs support in initrd
-if [ ! -z "$BTRFS" ]; then
- if [ -r /sbin/btrfs ]; then
- mkdir -p $SOURCE_TREE/sbin
- cp /sbin/btrfs $SOURCE_TREE/sbin/btrfs
- chmod 0755 $SOURCE_TREE/sbin/btrfs
- else
- echo "ERROR: btrfs binary is missing, Btrfs support not installed"
- fi
-fi
-
-# Include udev in initrd
-if [ ! -z "$UDEV" ]; then
- cp /sbin/udev* $SOURCE_TREE/sbin/
- cp -a /lib/udev $SOURCE_TREE/lib/
- # But we don't want all of /lib/udev
- for file in $(echo $LIBUDEV_BLACKLIST) ; do
- # Replace with a null script (avoids error spew):
- cat << EOF > $SOURCE_TREE/lib/udev/$file
-#!/bin/ash
-# This space is intentionally left blank
-EOF
- done
-fi
-
-# Include LVM support in initrd
-if [ ! -z "$LVM" ]; then
- if [ -f /sbin/lvm ]; then
- mkdir -p $SOURCE_TREE/sbin
- cp /sbin/lvm $SOURCE_TREE/sbin/lvm
- ( cd $SOURCE_TREE/sbin
- ln -s lvm vgchange 2>/dev/null
- ln -s lvm vgscan 2>/dev/null )
- else
- echo "LVM binary is missing, LVM support isn't installed"
- LVM=""
- fi
-fi
-
-# Include cryptsetup (LUKS) support in initrd
-if [ ! -z "$CRYPT" ]; then
- if [ -e /usr/sbin/cryptsetup ]; then
- mkdir -p $SOURCE_TREE/sbin
- cp /usr/sbin/cryptsetup $SOURCE_TREE/sbin/cryptsetup
- find /lib /lib64 /usr/lib /usr/lib64 -name "libargon2*so*" 2> /dev/null | xargs -I'{}' cp -P --parents '{}' $SOURCE_TREE/
- find /lib /lib64 /usr/lib /usr/lib64 -name "libgcc_s*so*" 2> /dev/null | xargs -I'{}' cp -P --parents '{}' $SOURCE_TREE/
- MODULE_LIST="${MODULE_LIST}:algif_skcipher"
- if [ ! -e $SOURCE_TREE/sbin/udevadm ]; then
- cat << EOF > $SOURCE_TREE/sbin/udevadm
-#!/bin/sh
-sleep 3
-EOF
- chmod 0755 $SOURCE_TREE/sbin/udevadm
- fi
-
- # Write the underlying luks device to the initrd-tree:
- echo $LUKSDEV > $SOURCE_TREE/luksdev
- else
- echo "Cryptsetup binary is missing, CRYPT support isn't installed"
- CRYPT=""
- fi
-fi
-
-# Include device mapper in initrd (needed for LUKS and LVM)
-if [ ! -z "$CRYPT" -o ! -z "$LVM" ]; then
- cp /sbin/dmsetup $SOURCE_TREE/sbin/dmsetup
- find /lib /lib64 -name "libdevmapper*so*" 2> /dev/null | xargs -I'{}' cp -P --parents '{}' $SOURCE_TREE/
- if [ -z "${MODULE_LIST}" ] ; then
- MODULE_LIST="dm-mod"
- elif ! echo ${MODULE_LIST} | grep -q dm-mod ; then
- MODULE_LIST="$MODULE_LIST:dm-mod"
- fi
- # Ensure that dm-snapshot is included if LVM is used:
- if [ ! -z "$LVM" ]; then
- if ! echo ${MODULE_LIST} | grep -q dm-snapshot ; then
- MODULE_LIST="$MODULE_LIST:dm-snapshot"
- fi
- fi
- mkdir -p $SOURCE_TREE/lib/udev/rules.d
- echo 'KERNEL=="dm-[0-9]*", OPTIONS+="db_persist"' > \
- $SOURCE_TREE/lib/udev/rules.d/95-dm-initrd.rules
-fi
-
-# If there is additional filesystems to be mounted, copy their configuration
-# from system's /etc/fstab:
-if [ ! -z "$MOUNT_LIST" ]; then
- for MOUNT_POINT in $(echo $MOUNT_LIST | tr : \ ); do
- grep '^[^#[:space:]]\+[[:space:]]\+'$MOUNT_POINT'[[:space:]]' /etc/fstab
- done > $SOURCE_TREE/addfstab
-fi
-
-# Make module directories:
-for kver in $(echo ${KERNEL_VERSION} | tr ':' '\n') ; do
- if [ ! -d $SOURCE_TREE/lib/modules/$kver ]; then
- mkdir -p $SOURCE_TREE/lib/modules/$kver
- fi
-done
-
-# Copy kmod/modprobe stuff to initrd:
-for i in kmod depmod insmod lsmod modinfo modprobe rmmod ; do
- rm -f $SOURCE_TREE/sbin/$i ;
- cp -a /sbin/$i $SOURCE_TREE/sbin ;
-done
-
-# Make sure modules.builtin and modules.order are there (for kmod):
-for kver in $(echo ${KERNEL_VERSION} | tr ':' '\n') ; do
- cp /lib/modules/$kver/modules.{builtin,order} \
- $SOURCE_TREE/lib/modules/$kver
-done
-
-# If an executable $SOURCE_TREE/load_kernel_modules already exists, then
-# we assume you will want to load the kernel modules mentioned in there.
-# This means, you do not have to explicitly add those on the commandline:
-if [ -x $SOURCE_TREE/load_kernel_modules ]; then
- MODULE_LIST="${MODULE_LIST}:$(cat $SOURCE_TREE/load_kernel_modules |grep "^modprobe" |rev |cut -d/ -f1 |rev |cut -d. -f1)"
-fi
-
-# If the module list is not empty, copy the modules into place:
-if [ ! -z "$MODULE_LIST" ]; then
- if grep -q "#modprobe reiserfs" $SOURCE_TREE/load_kernel_modules ; then
- rm -f $SOURCE_TREE/load_kernel_modules
- touch $SOURCE_TREE/load_kernel_modules
- chmod 755 $SOURCE_TREE/load_kernel_modules
- echo "# This is a script used to load the kernel modules." >> $SOURCE_TREE/load_kernel_modules
- echo "# To use it, chmod it 755, and then add the insmod" >> $SOURCE_TREE/load_kernel_modules
- echo "# lines needed to load your modules, like this:" >> $SOURCE_TREE/load_kernel_modules
- echo >> $SOURCE_TREE/load_kernel_modules
- fi
-
- # Sanitize the modules list first, before any further processing.
- # The awk command eliminates doubles without changing the order:
- MODULE_LIST=$(echo $MODULE_LIST |tr -s ':' '\n' |awk '!x[$0]++' |tr '\n' ':')
- MODULE_LIST=$(echo ${MODULE_LIST%:}) # Weed out a trailing ':'
-
- # Count number of modules
- # This INDEX number gives us an easy way to find individual
- # modules and their arguments, as well as tells us how many
- # times to run through the list
- if ! echo $MODULE_LIST | grep ':' > /dev/null ; then # only 1 module specified
- INDEX=1
- else
- # Trim excess ':' which will screw this routine:
- MODULE_LIST=$(echo $MODULE_LIST | tr -s ':')
- INDEX=1
- while [ ! "$(echo "$MODULE_LIST" | cut -f $INDEX -d ':' )" = "" ]; do
- INDEX=$(expr $INDEX + 1)
- done
- INDEX=$(expr $INDEX - 1) # Don't include the null value
- fi
-
- # Repeat these tasks for all kernel versions support has been requested for:
- for kver in $(echo ${KERNEL_VERSION} | tr ':' '\n') ; do
-
- # Wrap everything in a while loop
- i=0
- while [ $i -ne $INDEX ]; do
- i=$(( $i + 1 ))
-
- # FULL_MOD is the module plus any arguments (if any)
- # MODULE is the module name
- # ARGS is any optional arguments to be passed to the kernel
- FULL_MOD="$(echo "$MODULE_LIST" | cut -d ':' -f $i)"
- MODULE="$(echo "$FULL_MOD" | cut -d ' ' -f 1 )"
- # Test for arguments
- if echo "$FULL_MOD" | grep ' ' > /dev/null; then
- ARGS=" $(echo "$FULL_MOD" | cut -d ' ' -f 2- )"
- else
- unset ARGS
- fi
-
- # Get MODULE deps and prepare modprobe lines
- /sbin/modprobe --set-version $kver --show-depends --ignore-install $MODULE 2>/dev/null \
- | grep "^insmod " | cut -f 2 -d ' ' | while read SRCMOD; do
-
- # If jfs or xfs filesystems are in use, add the repair tools to the initrd:
- if [ "$(basename $SRCMOD .ko)" = "jfs" ]; then
- cp -a /sbin/jfs_fsck $SOURCE_TREE/sbin/
- elif [ "$(basename $SRCMOD .ko)" = "xfs" ]; then
- cp -a /sbin/xfs_repair $SOURCE_TREE/sbin/
- fi
-
- if ! grep -Eq " $(basename $SRCMOD .ko)(\.| |$)" $SOURCE_TREE/load_kernel_modules 2>/dev/null ; then
- LINE="$(echo "modprobe -v $(basename ${SRCMOD%%.gz} .ko)" )"
-
- # Test to see if arguments should be passed
- # Over-ride the previously defined LINE variable if so
- if [ "$(basename $SRCMOD .ko)" = "$MODULE" ]; then
- # SRCMOD and MODULE are same, ARGS can be passed
- LINE="$LINE$ARGS"
- fi
-
- fi
-
- if ! grep -qx "$LINE" $SOURCE_TREE/load_kernel_modules ; then
- echo "$LINE" >> $SOURCE_TREE/load_kernel_modules
- fi
-
- # Try to add the module to the initrd-tree. This should be done
- # even if it exists there already as we may have changed compilers
- # or otherwise caused the modules in the initrd-tree to need
- # replacement.
- if cp -a --parents $SRCMOD $SOURCE_TREE 2>/dev/null; then
- echo "OK: $SRCMOD added."
- # If a module needs firmware, copy that too
- /sbin/modinfo -F firmware "$SRCMOD" | sed 's/^/\/lib\/firmware\//' |
- while read SRCFW; do
- if cp -a --parents "$SRCFW" $SOURCE_TREE 2>/dev/null; then
- echo "OK: $SRCFW added."
- else
- echo "WARNING: Could not find firmware \"$SRCFW\""
- fi
- done
- else
- echo "WARNING: Could not find module \"$SRCMOD\""
- fi
-
- done
- done
-
- # Pregenerate the module dependency information
- /sbin/depmod -a -b $SOURCE_TREE $kver
-
- done # repeat for all kernel versions
-
- # Copy /{etc,lib}/modprobe.d/* if desired
- if [ ! -z $MODCONF ]; then
- copy_modconf
- fi
-
-fi
-
-# Copy needed libraries
-copy_libs
-
-# Make sure all libraries have symlinks:
-/sbin/ldconfig $(readlink -f $SOURCE_TREE)/lib/ 2> /dev/null
-/sbin/ldconfig $(readlink -f $SOURCE_TREE)/lib64/ 2> /dev/null
-/sbin/ldconfig
-
-# And finally, build the initrd:
-build_initrd_image
-
diff --git a/testing/source/mkinitrd/mkinitrd.8 b/testing/source/mkinitrd/mkinitrd.8
deleted file mode 100644
index 3436bfc2e..000000000
--- a/testing/source/mkinitrd/mkinitrd.8
+++ /dev/null
@@ -1,300 +0,0 @@
-.\" -*- nroff -*-
-.ds g \" empty
-.ds G \" empty
-.\" Like TP, but if specified indent is more than half
-.\" the current line-length - indent, use the default indent.
-.de Tp
-.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
-.el .TP "\\$1"
-..
-.TH MKINITRD 8 "25 April 2022" "Slackware Version 15.0"
-.SH NAME
-mkinitrd \- create or rebuilt an initrd (initial ramdisk) using initramfs (simple cpio+gzip).
-.SH SYNOPSIS
-.B mkinitrd
-[
-.B \-F
-]
-[
-.B \-c
-]
-[
-.B \-f filesystem
-]
-[
-.B \-h hibernate_partition
-]
-[
-.B \-k kernel_version1:kernel_version2:kernel_version3...
-]
-[
-.B \-m module1:module2:module3...
-]
-[
-.B \-o output_file
-]
-[
-.B \-r root_device
-]
-[
-.B \-s source_tree
-]
-[
-.B \-u
-]
-[
-.B \-w wait_time
-]
-[
-.B \-C device1:device2:device3...
-]
-[
-.B \-K luks_keyfile
-]
-[
-.B \-P microcode_archive
-]
-[
-.B \-B
-]
-[
-.B \-L
-]
-[
-.B \-R
-]
-[
-.B \-V
-]
-.SH DESCRIPTION
-.B mkinitrd
-is used to build an initial ramdisk. An initial ramdisk is a very small
-set of files that are loaded into RAM and "mounted" (as initramfs doesn't
-actually use a filesystem) as the kernel boots (before the main root
-filesystem is mounted). The usual reason to use an initrd is to load kernel
-kernel modules in order to access the root partition. An initrd might also
-be required to unlock an encrypted device. Usually these modules are
-required to support the filesystem used by the root partition (e.g., ext4,
-jfs, xfs), or perhaps the controller that the hard drive is attached to
-(SCSI, RAID, etc). Essentially, there are so many different options
-available in modern Linux kernels that it isn't practical to try to ship
-many different kernels to try to cover everyone's needs. It's a lot more
-flexible to ship a generic kernel and a set of kernel modules for it.
-.SH OPTIONS
-.TP
-.B \-F
-Use the contents of /etc/mkinitrd.conf as options to mkinitrd (optional).
-If this is used in conjunction with any other options passed on the command
-line, the command-line options will override the config file options.
-.br
-See mkinitrd.conf(5) for details.
-.TP
-.B \-c
-Clear the existing initrd tree (by default in /boot/initrd-tree/) first.
-If this is not done, running mkinitrd will add additional modules to the
-existing initrd.
-.TP
-.B \-f filesystem
-Specify the filesystem to use for the root partition. If this isn't given,
-mount will usually figure it out. This option must be used together with the
-\-r option in order to be beneficial.
-.TP
-.B \--help
-Display a help summary.
-.TP
-.B \-h hibernate_partition
-Specify the swap partition holding the hibernation image.
-.TP
-.B \-k kernel version list
-Use kernel modules from the specified kernel version. mkinitrd will look
-for them in /lib/modules/(kernel version). This may be a single kernel version,
-or it may be a colon-delimited list of kernel versions.
-.TP
-.B \-l keymap
-Load an alternative keyboard mapping. All supported keyboard mappings
-can be found in /usr/share/mkinitrd/keymaps.tar.gz
-Leave the '.bmap' out when you supply this parameter. E.g. '-l nl' will
-add support for dutch keyboard mapping to the initrd.
-.TP
-.B \-m module list
-This is a list of colon-delimited modules to build into the initrd.
-Any dependencies of requested modules will also be added to the initrd.
-Additional options may be added to use when loading the kernel modules
-(but in this case the entire list must be wrapped with double quotes).
-.TP
-.B \-o output image
-The file to write the initrd to. (default: /boot/initrd.gz)
-.TP
-.BI \-r \ root_device
-Specify the device to be used as the root partition. If this isn't given, the
-kernel default will be used (which is usually fine). This option must be used
-together with the \-f option in order to be beneficial.
-.I root_device
-can be a device node path, UUID, or LABEL. See examples for \fB\-C\fR below.
-.TP
-.B \-s source tree
-The directory to use as the source for the initrd. (default: /boot/initrd-tree/)
-.TP
-.B \-u
-Include udev in the initrd (provided for backward compatibility, as udev is
-always included in the initrd).
-.TP
-.B \-w
-The -w option specifies how long to wait in seconds before assuming that all the
-drives are spun up and ready to go.
-.TP
-.BI \-C \ device_list
-A colon (:) delimited list of luks encrypted block devices to be unlocked by
-the initrd using cryptsetup.
-.I device_list
-may include any of: device node path, UUID, or LABEL. All devices that must be
-unlocked in order to access the root filesystem must be specified. For example:
-
- -C /dev/sda2:/dev/sda3
-.br
- -C UUID=ec6dea40-c8d8-4590-850a-a757be60e45a
-.br
- -C LABEL=darkstar
-
-Each unlocked device will be assigned an automatically generated luks device
-name of the form luks<device> where '<device>' will be the basename of the
-encrypted device node path. For example:
-
- /dev/mapper/lukssda2
-
-As a convenience to users, where -r specifies one of the device names listed
-on the -C option it will be automatically adjusted to use the correct luks
-device name. i.e.
-
- "-C /dev/sda2 -r /dev/sda2" and
- "-C /dev/sda2 -r /dev/mapper/lukssda2"
-
-are equivalent.
-.br
-(Use with '-r' option).
-.TP
-.B \-K luks_keyfile
-When using cryptsetup to encrypt your partition, you can use a keyfile instead
-of a passphrase to unlock the LUKS volume. The LUKSKEY variable holds the
-filename of a keyfile, as well as the label (or uuid) of the partition this
-file is on. This way, you can unlock your computer automatically if you have a
-USB stick with your LUKS key inserted at boot. A passphrase will still be asked
-if the LUKS key can not be found.
-.br
-For example, if your USB thumb drive has a FAT partition with label
-"TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks", then
-you need to set:
-
- -K LABEL=TRAVELSTICK:/keys/alien.luks
-.TP
-.B \-T device list
-A colon (:) delimited list of luks encrypted block devices to be passed the
-"--allow-discards" option when unlocked by the initrd using cryptsetup, e.g.
-
- -T /dev/sda2:/dev/sda4
-
-This has the effect of allowing TRIM on SSD drives. Be sure your SSD supports
-this feature (correctly) before enabling it. See fstrim(8) for more information.
-.TP
-.B \-P microcode_archive
-This option specifies a cpio archive containing updated microcode for your CPU.
-CPU manufacturers occasionally release such updates to fix bugs in the microcode
-currently embedded in the CPU. The microcode archive will be prepended to the
-output initrd, where the kernel will find it for early patching:
-
- -P /boot/intel-ucode.cpio
-
-.TP
-.B \-B
-This option adds the btrfs utility to the initrd so that multi-device filesystems
-will be picked up by a scan (/sbin/btrfs device scan). This is needed if the
-root filesystem is a Btrfs multi-device filesystem.
-.TP
-.B \-L
-This option adds LVM support to the initrd, if the tools are
-available on the system.
-.TP
-.B \-R
-This option adds RAID support to the initrd, if a static mdadm binary is
-available on the system.
-.TP
-.B \-M
-This option add the files in /etc/modprobe.d/ and /lib/modprobe.d/ to the initrd.
-.TP
-.B \-MNT mount_point_list
-List of filesystems to be mounted by initrd. Useful if libraries or commands that
-are outside the root filesystem are needed in early boot. Multiple filesystems can
-be listed separated by colon (:), e.g.
-
- -MNT /usr:/usr/local
-
-.TP
-.B \-V
-Display version information and exit.
-.SH EXAMPLES
-A simple example: Build an initrd for a reiserfs root partition:
-
- mkinitrd -c -m reiserfs
-
-Another example: Build an initrd image using Linux 2.6.33.1 kernel
-modules for a system with an ext3 root partition on /dev/sdb3:
-
- mkinitrd -c -k 2.6.33.1 -m ext3 -f ext3 -r /dev/sdb3
-
-An example of a single encrypted partition setup:
-.br
-As a user convenience, the value for the "-r" option may also be specified as
-"/dev/sda2" in this example:
-
- mkinitrd -c -k 2.6.33.1 \\
- -m ext4:ehci-hcd:uhci-hcd:usbhid \\
- -f ext4 -r /dev/mapper/lukssda2 \\
- -C /dev/sda2 \\
- -l uk
-
-Finally, A more complex example:
-.br
-This one is for a LVM Volume Group (rootvg) comprising of two LVM Physical
-Volumes, each of which is on a LUKS encrypted partition that will need to be
-unlocked before the root filesystem (/dev/rootvg/lvroot) can be accessed.
-
- mkinitrd -c -k 2.6.29.6 \\
- -m ext4:ehci-hcd:uhci-hcd:usbhid \\
- -f ext4 -r /dev/rootvg/lvroot \\
- -L -C /dev/sda2:/dev/sdb2 \\
- -l uk
-
-If run without options, mkinitrd will rebuild an initrd image using
-the contents of the $SOURCE_TREE directory, or, if that directory
-does not exist it will be created and populated, and then mkinitrd
-will exit. These options are handy for building an initrd mostly
-by hand. After creating /boot/initrd-tree/, you can add modules and
-edit files by hand, and then rerun mkinitrd to create the initrd.
-
-Once the initrd is created, you'll need to tell your boot loader
-to load it. If you boot with LILO, you will need to add an initrd
-line to /etc/lilo.conf. Here's a section of lilo.conf that shows
-how to set this up:
-
- # Linux bootable partition config begins
- image = /boot/vmlinuz-generic-2.6.33.1
- initrd = /boot/initrd.gz
- root = /dev/sda3
- label = Linux26331
- read-only
- # Linux bootable partition config ends
-
-Note that the line "root = /dev/sda3" is not needed if the root device
-has been configured in the initrd image.
-
-Once you've created the initrd and editing /etc/lilo.conf, you will
-need to run 'lilo' to write out the changed boot block. The next
-time you reboot the initrd should be loaded along with the kernel.
-
-Have fun!
-
-.SH SEE ALSO
-mkinitrd.conf (5)
-
-.SH AUTHOR
-Patrick J. Volkerding <volkerdi@slackware.com>
diff --git a/testing/source/mkinitrd/mkinitrd.SlackBuild b/testing/source/mkinitrd/mkinitrd.SlackBuild
deleted file mode 100755
index ce385853d..000000000
--- a/testing/source/mkinitrd/mkinitrd.SlackBuild
+++ /dev/null
@@ -1,198 +0,0 @@
-#!/bin/bash
-
-# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, 2018, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
-# All rights reserved.
-#
-# Redistribution and use of this script, with or without modification, is
-# permitted provided that the following conditions are met:
-#
-# 1. Redistributions of this script must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-cd $(dirname $0) ; CWD=$(pwd)
-
-PKGNAM=mkinitrd
-VERSION=${VERSION:-1.4.11}
-BB=1.32.1
-BUILD=${BUILD:-35}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i686 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
-if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
- echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
- exit 0
-fi
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-mkinitrd
-
-# Write a warning to stdout if the mkinitrd script has a different version:
-eval $( grep "^MKINITRD_VERSION=" $CWD/mkinitrd )
-if [ "$VERSION" != "$MKINITRD_VERSION" ]; then
- echo "The version of this package ($VERSION) is not equal to the version of the mkinitrd script ($MKINITRD_VERSION)."
- sleep 5
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-cd $TMP
-rm -rf busybox-$BB
-tar xvf $CWD/busybox-$BB.tar.bz2 || tar xvf $CWD/busybox-$BB.tar.?z || exit 1
-cd busybox-$BB || exit 1
-
-if [ -d $CWD/fixes-$BB ]; then
- for pfile in $CWD/fixes-$BB/*.patch ; do
- patch -p1 < $pfile || exit 1
- done
-fi
-
-chown -R root:root .
-sed -e \
- 's#^CONFIG_PREFIX=.*#CONFIG_PREFIX="'$PKG'/usr/share/mkinitrd/initrd-tree"#' \
- $CWD/busybox-dot-config > .config
-make oldconfig || exit 1
-make $NUMJOBS || make || exit 1
-
-mkdir -p $PKG/usr/share/mkinitrd/initrd-tree/{bin,sbin}
-make install || exit 1
-rm -f $PKG/usr/share/mkinitrd/initrd-tree/linuxrc
-
-# Copying additional files:
-cp -a $CWD/mkinitrd_command_generator.sh $PKG/usr/share/mkinitrd
-chown root:root $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh
-chmod 755 $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh
-cp -a $CWD/keymaps.tar.gz $PKG/usr/share/mkinitrd
-chown root:root $PKG/usr/share/mkinitrd/keymaps.tar.gz
-chmod 644 $PKG/usr/share/mkinitrd/keymaps.tar.gz
-
-# Zip up the initrd-tree:
-( cd $PKG/usr/share/mkinitrd/initrd-tree
- tar xf $CWD/_initrd-tree.tar.gz
- cat $CWD/init > init
-
- # Patch init:
- zcat $CWD/0001-Fix-LUKSTRIM-with-C-T-and-UUID.patch.gz | patch -p1 --verbose || exit 1
-
- # These are useful for ARM:
- mknod -m 644 dev/random c 1 8
- mknod -m 644 dev/urandom c 1 9
-
- tar czf ../initrd-tree.tar.gz .
-) || exit 1
-rm -rf $PKG/usr/share/mkinitrd/initrd-tree
-
-# Add busybox docs:
-mkdir -p $PKG/usr/doc/busybox-$BB
-cp -a AUTHORS COPYING* INSTALL LICENSE README* TODO* \
- $PKG/usr/doc/busybox-$BB
-cp -a e2fsprogs/README $PKG/usr/doc/busybox-$BB/README.e2fsprogs
-cp -a libbb/README $PKG/usr/doc/busybox-$BB/README.libbb
-cp -a shell/README $PKG/usr/doc/busybox-$BB/README.shell
-cp -a testsuite/README $PKG/usr/doc/busybox-$BB/README.testsuite
-
-mkdir -p $PKG/sbin
-cp -a $CWD/mkinitrd $PKG/sbin/mkinitrd
-chown root:root $PKG/sbin/mkinitrd
-chmod 755 $PKG/sbin/mkinitrd
-
-# Patch to switch to mktemp:
-( cd $PKG/sbin ; zcat $CWD/mkinitrd.tempfile.to.mktemp.patch.gz | patch --verbose || exit 1) || exit 1
-# Patch mkinitrd to bail on no temp directory:
-( cd $PKG/sbin ; zcat $CWD/0002-bail-if-temp-dir-is-not-created.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-# Don't include 40-usb_modeswitch.rules on the initrd:
-( cd $PKG/sbin ; zcat $CWD/0003-blacklist.40-usb_modeswitch.rules.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-# Support modules compressed with xz:
-( cd $PKG/sbin ; zcat $CWD/0005-support-modules-compressed-with-xz.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-# Ensure target directory for the module exists (cp regression workaround for coreutils-9.1):
-( cd $PKG/sbin ; zcat $CWD/0006-coreutils-9.1-ensure-target-dir-exists.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-rm -f $PKG/sbin/mkinitrd.orig
-# Use -R if we detect the root partition is a partition of a RAID device:
-( cd $PKG/usr/share/mkinitrd ; zcat $CWD/0004-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-rm -f $PKG/usr/share/mkinitrd/mkinitrd_command_generator.sh.orig
-# Fix for kmod-30:
-( cd $PKG/sbin ; zcat $CWD/0007-kmod30.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-# Bugfix for previous RAID partition patch:
-( cd $PKG/usr/share/mkinitrd ; zcat $CWD/0008-fix-check-if-BASEDEV-is-a-partition-of-a-RAID-volume.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-rm -f $PKG/sbin/mkinitrd.orig
-# Don't include the 99-nfs.rules on the initrd:
-( cd $PKG/sbin ; zcat $CWD/0009-exclude-99-nfs.rules.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-rm -f $PKG/sbin/mkinitrd.orig
-# Fix test for including JFS or XFS repair tools:
-( cd $PKG/sbin ; zcat $CWD/0010-fix-test-for-jfs-xfs-repair-tools.patch.gz | patch -p1 --verbose || exit 1) || exit 1
-rm -f $PKG/sbin/mkinitrd.orig
-
-mkdir -p $PKG/usr/man/man{5,8}
-cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz
-cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz
-cat $CWD/mkinitrd_command_generator.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd_command_generator.8.gz
-
-mkdir -p $PKG/var/lib/pkgtools/setup
-cp -a $CWD/setup.01.mkinitrd $PKG/var/lib/pkgtools/setup
-chown root:root $PKG/var/lib/pkgtools/setup/setup.01.mkinitrd
-chmod 755 $PKG/var/lib/pkgtools/setup/setup.01.mkinitrd
-
-mkdir -p $PKG/usr/sbin
-cp -a $CWD/geninitrd $PKG/usr/sbin
-chown root:root $PKG/usr/sbin/geninitrd
-chmod 755 $PKG/usr/sbin/geninitrd
-
-mkdir -p $PKG/etc
-cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample
-# ARM systems often need more time to find devices:
-case "$( uname -m )" in
- arm*) sed -e 's@#WAIT="1"@#WAIT="4"@g' \
- -i $PKG/etc/mkinitrd.conf.sample;;
-esac
-chown root:root $PKG/etc/mkinitrd.conf.sample
-chmod 644 $PKG/etc/mkinitrd.conf.sample
-mkdir -p $PKG/etc/default
-cp -a $CWD/geninitrd.default $PKG/etc/default/geninitrd.new
-chown root:root $PKG/etc/default/geninitrd.new
-chmod 644 $PKG/etc/default/geninitrd.new
-
-mkdir -p $PKG/usr/doc/mkinitrd-$VERSION
-sed $CWD/README.initrd \
- -e "s,@DATE@,$(date),g" \
- -e "s,@KERNEL_VERSION@,$(uname -r),g" \
- -e "s,@PACKAGE_VERSION@,$(uname -r | tr - _),g" \
- -e "s,@LILO_KERNEL_NAME@,$(echo $(uname -r) | tr -d . | tr -d - ),g" \
- -e "s,@MKINITRD_VERSION@,$VERSION,g" \
- -e "s,@ARCH@,$ARCH,g" \
- -e "s,@BUILD@,$BUILD,g" \
- > $PKG/usr/doc/mkinitrd-$VERSION/README.initrd
-
-mkdir $PKG/boot
-ln -sf /usr/doc/mkinitrd-$VERSION/README.initrd $PKG/boot/README.initrd
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/install
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/mkinitrd-$VERSION-$ARCH-$BUILD.txz
diff --git a/testing/source/mkinitrd/mkinitrd.conf.5 b/testing/source/mkinitrd/mkinitrd.conf.5
deleted file mode 100644
index 82f1faeed..000000000
--- a/testing/source/mkinitrd/mkinitrd.conf.5
+++ /dev/null
@@ -1,265 +0,0 @@
-.\" mkinitrd.conf.5 Robby Workman <rworkman@slackware.com>
-.\" 28 August 2010 "
-
-.TH MKINITRD.CONF 5 "25 April 2022" "Slackware 15.0"
-.SH NAME
-.B mkinitrd.conf(5)
-.SH SYNOPSIS
-.B mkinitrd.conf - optional configuration file for
-.I mkinitrd(8)
-
-.SH DESCRIPTION
-The
-.I mkinitrd.conf
-file contains options to be passed to
-.I mkinitrd(8)
-on every run if mkinitrd is executed with the -F flag.
-.br
-It is intended as a fast and easy way for the system administrator to
-pass options to mkinitrd without having to type them on each execution.
-
-Options passed to
-.I mkinitrd(8)
-on the command line will override any
-values set in the config file.
-
-.SH OPTIONS AND SYNTAX
-
-All options are in the format of OPTION="value"
-.br
-Unset variables have no effect.
-
-.TP 5
-.I SOURCE_TREE
-This is the location for the initrd's source tree.
-.br
-Defaults to "/boot/initrd-tree"
-
-.TP 5
-.I CLEAR_TREE
-This option specifies whether to clear the initrd source tree prior to
-creating the initrd.
-.br
-This requires a value of either "0" or "1" where 0=no and 1=yes
-.br
-Examples:
-.br
-CLEAR_TREE="0" # Do not clear initrd tree first
-.br
-CLEAR_TREE="1" # Clear initrd tree first
-
-It is recommended to leave this unset and pass "-c" on the command line
-when clearing the tree is desired. Clearing the tree is not desirable
-if you wish to build support for more than one kernel into the initrd
-image.
-
-.TP 5
-.I OUTPUT_IMAGE
-This is the location for the initrd image that is created.
-.br
-Defaults to "/boot/initrd.gz"
-.br
-If %KVER% and/or %SLACKVER% are present in the string, they will be replaced
-with $KERNEL_VERSION (e.g. "4.4.75-smp") and Slackware Version (e.g. "14.2")
-respectively in the name of the generated file.
-
-.TP 5
-.I KERNEL_VERSION
-This is the kernel version for which the initrd should be created.
-.br
-Defaults to "$(uname -r)"
-
-.TP 5
-.I KEYMAP
-This is the custom keyboard map that should be loaded instead of the
-default 'us' keymap.
-.br
-The file /usr/share/mkinitrd/keymaps.tar.gz contains all possible keymaps
-to choose from (omit the '.bmap' extension in the mkinitrd command)
-.br
-Example: KEYMAP="nl"
-
-.TP 5
-.I MODULE_LIST
-This should be a colon-separated list of modules you wish to be included
-in the initrd image.
-.br
-Example: MODULE_LIST="ext3:mbcache:jbd"
-
-If you have loadtime options that you need to specify when loading kernel
-modules, those can be added here as well.
-.br
-Example: MODULE_LIST="module1:module2 option=1:module3"
-
-.TP 5
-.I LUKSDEV
-Contains a colon (:) delimited list of luks encrypted block devices to be
-unlocked by the initrd using cryptsetup. The list may include any of: device
-node path, UUID, or LABEL. All devices that must be unlocked in order to
-access the root filesystem must be specified.
-.sp
-Example: LUKSDEV="/dev/sda2:/dev/sda3"
-.br
-Example: LUKSDEV="UUID=ec6dea40-c8d8-4590-850a-a757be60e45a"
-.br
-Example: LUKSDEV="LABEL=darkstar"
-
-Each unlocked device will be assigned an automatically generated luks device
-name of the form luks<device> where '<device>' will be the basename of the
-encrypted device. e.g.
-
- /dev/mapper/lukssda2
-
-As a convenience to users, if
-.I ROOTDEV
-(see below) specifies one of the device names listed in the
-.I LUKSDEV
-option, then it will be automatically adjusted to use the correct luks
-device name. i.e. when specifying
-.I "LUKSDEV=/dev/sda2"
-then
-.I "ROOTDEV=/dev/sda2"
-and
-.I "ROOTDEV=/dev/mapper/lukssda2"
-are equivalent.
-
-.TP 5
-.I LUKSKEY
-When using cryptsetup to encrypt your partition, you can use a keyfile instead
-of a passphrase to unlock the LUKS volume. The LUKSKEY variable holds the
-filename of a keyfile, as well as the label (or uuid) of the partition this
-file is on. This way, you can unlock your computer automatically if you have a
-USB stick with your LUKS key inserted at boot. A passphrase will still be asked
-if the LUKS key can not be found.
-.br
-For example, if your USB thumb drive has a FAT partition with label
-"TRAVELSTICK" and the actual keyfile is called "/keys/alien.luks", then
-you need to set:
-.br
-LUKSKEY="LABEL=TRAVELSTICK:/keys/alien.luks"
-
-.TP 5
-.I LUKSTRIM
-Contains a colon (:) delimited list of luks encrypted block devices to be
-passed the "--allow-discards" option when unlocked by the initrd using
-cryptsetup. This has the effect of allowing TRIM on SSD drives. Be sure
-your SSD supports this feature (correctly) before enabling it.
-.br
-See fstrim(8) for more information.
-.br
-Example: LUKSTRIM="/dev/sda2:/dev/sda4"
-
-.TP 5
-.I ROOTDEV
-The device on which your root filesystem is located.
-May be a device node path, UUID, or LABEL. See LUKSDEV examples.
-.br
-Example: ROOTDEV="/dev/sda2"
-
-If you are using cryptsetup and an encrypted root filesystem, be sure to
-read the option above for LUKSDEV or Bad Things will happen.
-
-.TP 5
-.I ROOTFS
-The filesystem type of your root filesystem
-.br
-Example: ROOTFS="ext3"
-
-.TP 5
-.I RAID
-This option adds the mdadm binary to the initrd to support RAID.
-Additional modules may be required, depending on your kernel
-configuration. If you wish to add LVM support to the initrd, then
-set this to 1; otherwise, leave it unset or set it to 0.
-.br
-Examples:
-.br
-RAID="0" # Do not add RAID support to initrd
-.br
-RAID="1" # Add RAID support to initrd
-
-.TP 5
-.I LVM
-This option adds support for LVM partitions into the initrd.
-If you wish to add LVM support to the initrd, then set this to 1;
-otherwise, leave it unset or set it to 0.
-.br
-Examples:
-.br
-LVM="0" # Do not add LVM support to initrd
-.br
-LVM="1" # Add LVM support to initrd
-
-.TP 5
-.I UDEV
-Use UDEV in the initrd.
-.br
-Examples:
-.br
-UDEV="0" # Do not use udev in the initrd
-.br
-UDEV="1" # Use udev in the initrd (this is the default)
-
-.TP 5
-.I WAIT
-This defines the time to wait, in seconds, until all disks are detected.
-.br
-This is useful for allowing extra time that might be needed for slow usb disks or systems with large amounts of storage to become ready.
-.br
-If not defined, the default is 1 second.
-
-.TP 5
-.I RESUMEDEV
-The swap partition holding your hibernation image.
-.br
-Example: RESUMEDEV="/dev/sda2"
-
-.TP 5
-.I MODCONF
-This option defines whether to copy the module-init-tools config files
-from /etc/modprobe.d/ into the initrd. This will not usually be necessary,
-but if you need certain modules to be loaded with special options, and you
-have this configured in a file in /etc/modprobe.d/, this is one way to
-accomplish the desired goal.
-.br
-Examples:
-.br
-MODCONF="0" # Do not add /etc/modprobe.d/* to the initrd
-.br
-MODCONF="1" # Add /etc/modprobe.d/* to the initrd
-
-.TP 5
-.I MICROCODE_ARCH
-This option specifies a cpio archive containing updated microcode for your CPU.
-CPU manufacturers occasionally release such updates to fix bugs in the microcode
-currently embedded in the CPU. The microcode archive will be prepended to the
-output initrd, where the kernel will find it for early patching.
-.br
-Examples:
-.br
-MICROCODE_ARCH="/boot/intel-ucode.cpio"
-
-.TP 5
-.I MOUNT_LIST
-Lists additional filesystems to be mounted by initrd. Useful if libraries or
-commands that are outside root filesystem are needed in early boot. Multiple
-filesystems can be listed separated by colon (:). Device, filesystem type and
-options are copied from /etc/fstab.
-.br
-Example:
-.br
-MOUNT_LIST="/usr:/usr/local"
-
-.SH FILES
-.I /etc/mkinitrd.conf
-.br
-See /etc/mkinitrd.conf.sample
-
-.SH "SEE ALSO"
-.BR mkinitrd "(8)"
-
-.SH BUGS
-None known :-)
-
-.SH MISCELLANEOUS
-Support for mkinitrd.conf was added in mkinitrd-1.3.0
diff --git a/testing/source/mkinitrd/mkinitrd.conf.sample b/testing/source/mkinitrd/mkinitrd.conf.sample
deleted file mode 100644
index 70256ef38..000000000
--- a/testing/source/mkinitrd/mkinitrd.conf.sample
+++ /dev/null
@@ -1,21 +0,0 @@
-# mkinitrd.conf.sample
-# See "man mkinitrd.conf" for details on the syntax of this file
-#
-#SOURCE_TREE="/boot/initrd-tree"
-#CLEAR_TREE="0"
-#OUTPUT_IMAGE="/boot/initrd.gz"
-#KERNEL_VERSION="$(uname -r)"
-#KEYMAP="us"
-#MODULE_LIST="ext4"
-#LUKSDEV="/dev/sda2"
-#LUKSTRIM="/dev/sda2" # verify support with 'hdparm -I $dev | grep TRIM'
-#LUKSKEY="LABEL=TRAVELSTICK:/keys/alienbob.luks"
-#ROOTDEV="/dev/sda1"
-#ROOTFS="ext4"
-#RESUMEDEV="/dev/sda2"
-#RAID="0"
-#LVM="0"
-#UDEV="1"
-#MODCONF="0"
-#MICROCODE_ARCH="/boot/intel-ucode.cpio"
-#WAIT="1"
diff --git a/testing/source/mkinitrd/mkinitrd.tempfile.to.mktemp.patch b/testing/source/mkinitrd/mkinitrd.tempfile.to.mktemp.patch
deleted file mode 100644
index 3fb199abf..000000000
--- a/testing/source/mkinitrd/mkinitrd.tempfile.to.mktemp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From bbeb9d73191c1c79f5286fd3b1fdb5611fb11301 Mon Sep 17 00:00:00 2001
-From: "Patrick J. Volkerding" <volkerdi@slackware.com>
-Date: Sun Apr 26 18:51:23 CDT 2020
-Subject: [PATCH] Switch from tempfile to mktemp
-
-Use the standard mktemp utility from GNU coreutils rather than the
-lesser-known tempfile utility from Debian of yore.
-
---- mkinitrd.orig 2019-09-04 23:37:08.000000000 -0500
-+++ mkinitrd 2020-04-26 18:46:22.352636100 -0500
-@@ -235,7 +235,7 @@
-
- # Then copy all remaining libs our initrd files link against:
- COUNT=1
-- PRFX=$(tempfile --prefix ldd-)
-+ PRFX=$(mktemp --suffix -ldd)
- TMPFILE=${PRFX}${COUNT}
-
- find $SOURCE_TREE -type f -exec ldd {} 2>/dev/null \; | unify_libs > $TMPFILE
diff --git a/testing/source/mkinitrd/mkinitrd_command_generator.8 b/testing/source/mkinitrd/mkinitrd_command_generator.8
deleted file mode 100644
index d64b6d541..000000000
--- a/testing/source/mkinitrd/mkinitrd_command_generator.8
+++ /dev/null
@@ -1,187 +0,0 @@
-'\" t
-.\" Title: mkinitrd_command_generator
-.\" Author: Eric Hameleers
-.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\" Date: 2016-02-07
-.\" Manual: Slackware Tools
-.\" Source: http://www.slackware.com 1.40
-.\" Language: English
-.\"
-.TH "MKINITRD_COMMAND_GEN" "8" "2016-02-07" "http://www\&.slackware\&.com" "Slackware Tools"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-mkinitrd_command_generator \- mkinitrd the easy way
-.SH "SYNOPSIS"
-.sp
-.nf
-mkinitrd_command_generator\&.sh [ \fIoptions\fR ] [ \fIkernel_filename\fR ]
-.fi
-.SH "OPTIONS"
-.PP
-\fB\-a \fR\fB\fIadditional params\fR\fR
-.RS 4
-Additional parameters to pass to mkinitrd\&.
-.RE
-.PP
-\fB\-c | \-\-conf\fR
-.RS 4
-Show a suitable mkinitrd configuration file\&.
-.RE
-.PP
-\fB\-h | \-\-help\fR
-.RS 4
-Show this help\&.
-.RE
-.PP
-\fB\-i | \-\-interactive\fR
-.RS 4
-Navigate through menus instead of using commandline arguments\&.
-.RE
-.PP
-\fB\-\-longhelp\fR
-.RS 4
-Show more detailed information/examples\&.
-.RE
-.PP
-\fB\-k \fR\fB\fIkernelversion\fR\fR
-.RS 4
-Use specific kernel version\&. This may also be a colon-delimited list of kernel versions to use\&.
-.RE
-.PP
-\fB\-m \fR\fB\fIadditional mods\fR\fR
-.RS 4
-Additional modules to pass to mkinitrd, separated by colons (:)\&.
-.RE
-.PP
-\fB\-l | \-\-lilo\fR
-.RS 4
-Only show lilo\&.conf section (requires a kernel_filename)\&.
-.RE
-.PP
-\fB\-r | \-\-run\fR
-.RS 4
-Only show
-\fImkinitrd\fR
-command\&.
-.RE
-.SH "DESCRIPTION"
-.sp
-This script is useful in situations where you require an initrd image to boot your computer\&.
-.sp
-For instance, when booting a kernel that does not have support for your storage or root filesystem built in (such as the Slackware \fIgeneric\fR kernels)\&.
-.sp
-When you run the script without parameters, it will examine your running system, your current kernel version and will output an example of a \fImkinitrd\fR commandline that you can use to generate an initrd image containing enough driver support to boot the computer\&.
-.sp
-You can make it more specific: when you add the filename of a kernel as parameter to the script, it will determine the kernel version from that kernel, and also give an example of the lines that you should add to your \fI/etc/lilo\&.conf\fR file\&.
-.sp
-If you want your initrd image to have a custom name instead of the default \fI/boot/initrd\&.gz\fR you can add it as another parameter to the script, as follows:
-.sp
-mkinitrd_command_generator\&.sh \-a "\-o \fI/boot/custom\&.gz\fR"
-.sp
-The arguments to the \fI\-a\fR parameter will be used as additional arguments to the \fImkinitrd\fR command\&.
-.sp
-If you need additional modules in the initrd image, apart from what the script determines, you can pass then to the script using the \fI\-m\fR parameter as follows:
-.sp
-mkinitrd_command_generator\&.sh \-m "uhci\-hcd:usbhid:hid:hid\-generic"
-.sp
-The above example adds support for USB keyboards to the initrd \- you may need that if you have encrypted your root partition and need to enter a passphrase using a USB keyboard\&.
-.sp
-Instead of copying and pasting the script\(cqs output, you can create an initrd by directly executing the output, like in this example:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-$(mkinitrd_command_generator\&.sh \-\-run /boot/vmlinuz\-generic\-4\&.4\&.1)
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-That used the \fI\-r\fR or \fI\-\-run\fR switch to make the script only write the \fImkinitrd\fR commandline to the terminal\&.
-.sp
-When you want to add a section for a specific kernel to \fI/etc/lilo\&.conf\fR directly, use the \fI\-l\fR or \fI\-\-lilo\fR switch and use a command like in this example:
-.sp
-mkinitrd_command_generator\&.sh \-\-lilo /boot/vmlinuz\-generic\-smp\-4\&.4\&.1 >>/etc/lilo\&.conf
-.sp
-That command will result in the following lines being added to your \fI/etc/lilo\&.conf\fR file (example for my hardware):
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-\fI# Linux bootable partition config begins\fR
-\fI# initrd created with \*(Aqmkinitrd \-c \-k 4\&.4\&.1 \-m mbcache:jbd2:ext4 \-f ext4 \-r /dev/sda7 \-u \-o /boot/initrd\&.gz\fR\*(Aq
-image = /boot/vmlinuz\-generic\-4\&.4\&.1
-initrd = /boot/initrd\&.gz
-root = /dev/sda7
-label = 4\&.4\&.1
-read\-only
-\fI# Linux bootable partition config ends\fR
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-The last two examples show how easy it is to configure your computer for the use of an initrd if you need one\&. The only thing left to do afterwards is running \fIlilo\fR\&.
-.SH "EXIT STATUS"
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-\fB0\fR Success
-\fB1\fR Failure
-.fi
-.if n \{\
-.RE
-.\}
-.SH "FILES"
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-/usr/share/mkinitrd/mkinitrd_command_generator\&.sh
-.fi
-.if n \{\
-.RE
-.\}
-.SH "BUGS"
-.sp
-Report bugs to Eric Hameleers <alien@slackware\&.com>
-.SH "SEE ALSO"
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-mkinitrd(1), lilo\&.conf(1)
-.fi
-.if n \{\
-.RE
-.\}
-.SH "AUTHOR"
-.PP
-\fBEric Hameleers\fR
-.RS 4
-Author.
-.RE
diff --git a/testing/source/mkinitrd/mkinitrd_command_generator.sh b/testing/source/mkinitrd/mkinitrd_command_generator.sh
deleted file mode 100644
index e58d197a5..000000000
--- a/testing/source/mkinitrd/mkinitrd_command_generator.sh
+++ /dev/null
@@ -1,892 +0,0 @@
-#!/bin/sh
-# $Id: mkinitrd_command_generator.sh,v 1.45 2011/02/17 09:27:05 eha Exp eha $
-# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
-# Copyright 2008, 2009, 2010, 2011 Eric Hameleers, Eindhoven, Netherlands
-# Contact: <alien@slackware.com>
-# Copyright 2008, 2009 PiterPUNK, Sao Paulo, SP, Brazil
-# Contact: <piterpunk@slackware.com>
-# All rights reserved.
-#
-# Permission to use, copy, modify, and distribute this software for
-# any purpose with or without fee is hereby granted, provided that
-# the above copyright notice and this permission notice appear in all
-# copies.
-#
-# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-# -----------------------------------------------------------------------------
-#
-# Create an initrd which fits the system.
-# Take into account the use of LVM/LUKS/RAID.
-# Find out about any hardware drivers the system may need in an initrd when
-# booting from a generic lightweight kernel.
-#
-# -----------------------------------------------------------------------------
-
-# The script's revision number will be displayed in the help text:
-REV=$( echo "$Revision: 1.45 $" | cut -d' ' -f2 )
-
-# Define some essential parameter values:
-USING_LVM=""
-USING_LUKS=""
-USING_RAID=""
-MLIST=""
-REALDEV="" # The device that contains the LUKS volume
-BASEDEV="" # Lowest level device (raw block device or RAID volume)
-
-FSTAB=${FSTAB:-"/etc/fstab"} # so we can test with alternate fstab files
-
-# These are needed by -c and -i options:
-SOURCE_TREE=${SOURCE_TREE:-"/boot/initrd-tree"}
-CLEAR_TREE=${CLEAR_TREE:-1}
-KEYMAP=${KEYMAP:-"us"}
-UDEV=${UDEV:-1}
-# ARM devices need more time:
-case "$( uname -m )" in
- arm*) WAIT_DEFAULT=4;;
- *) WAIT_DEFAULT=1;;
-esac
-WAIT=${WAIT:-$WAIT_DEFAULT}
-
-# A basic explanation of the commandline parameters:
-basic_usage() {
- cat <<-EOT
-
- *** $(basename $0) revision $REV ***
- Usage:
- $(basename $0) [ options ] [ kernel_filename ]
- Options:
- -a <"additional params"> Additional parameters to pass to mkinitrd.
- -c | --conf Show a suitable mkinitrd configuration file.
- -h | --help Show this help.
- -i | --interactive Navigate through menus instead of using
- commandline arguments.
- --longhelp Show more detailed information/examples.
- -k <kernelversion> Use specific kernel version. Or, support
- more than one kernel version by passing a
- list of versions separated by colons (:).
- -m <"additional mods"> Additional modules to pass to mkinitrd,
- separated by colons (:).
- -l | --lilo Only show lilo.conf section
- (requires a kernel_filename).
- -r | --run Only show 'mkinitrd' command.
- EOT
-}
-
-# More of a tutorial here:
-extended_usage() {
- cat <<-EOT
-
- This script is useful in situations where you require an initrd image
- to boot your computer.
- For instance, when booting a kernel that does not have support for your
- storage or root filesystem built in (such as the Slackware 'generic'
- kernels').
-
- * When you run the script without parameters, it will examine your
- running system, your current kernel version and will output an example
- of a 'mkinitrd' commandline that you can use to generate an initrd
- image containing enough driver support to boot the computer.
-
- * You can make it more specific: when you add the filename of a kernel
- as parameter to the script, it will determine the kernel version from
- that kernel, and also give an example of the lines that you should add
- to your '/etc/lilo.conf' file.
-
- * If you want your initrd image to have a custom name instead of the
- default '/boot/initrd.gz' you can add it as another parameter to the
- script, as follows:
-
- $(basename $0) -a "-o /boot/custom.gz"
-
- The arguments to the '-a' parameter will be used as additional arguments
- to the 'mkinitrd' command.
-
- * If you need additional modules in the initrd image, apart from what
- the script determines, you can pass then to the script using the '-m'
- parameter as follows:
-
- $(basename $0) -m "uhci-hcd:usbhid:hid_generic"
-
- The above example adds support for USB keyboards to the initrd - you
- may need that if you have encrypted your root partition and need to
- enter a passphrase using a USB keyboard.
-
- * Instead of copying and pasting the script's output, you can create
- an initrd by directly executing the output, like in this example:
-
- EOT
-
- echo " \$($(basename $0) --run /boot/vmlinuz-generic-smp-2.6.35.11-smp)"
-
- cat <<-EOT
-
- That used the '-r' or '--run' switch to make the script only write
- the 'mkinitrd' commandline to the terminal.
-
- * When you want to add a section for a specific kernel to
- '/etc/lilo.conf' directly, use the '-l' or '--lilo' switch and use a
- command like in this example:
-
- EOT
-
- echo " $(basename $0) --lilo /boot/vmlinuz-generic-smp-2.6.35.11-smp >>/etc/lilo.conf"
-
- cat <<-EOT
-
- That command will result in the following lines being added to your
- '/etc/lilo.conf' file (example for my hardware):
-
- # Linux bootable partition config begins
- # initrd created with 'mkinitrd -c -k 2.6.35.11-smp -m ata_generic:pata_amd:mbcache:jbd:ext3 -f ext3 -r /dev/hda7'
- image = /boot/vmlinuz-generic-smp-2.6.35.11-smp
- initrd = /boot/initrd.gz
- root = /dev/hda7
- label = 2.6.35.11-smp
- read-only
- # Linux bootable partition config ends
-
- The last two examples show how easy it is to configure your computer
- for the use of an initrd if you need one. The only thing left to do
- afterwards is running 'lilo'.
-
- EOT
-}
-
-# Find the device that holds the root partition:
-get_root_device() {
- if [ -e $FSTAB ]; then
- RD=$(cat $FSTAB |tr '\t' ' ' |grep -v '^ *#' |tr -s ' ' |grep ' / ' |cut -f1 -d' ')
- if [ "$(echo $RD | cut -f1 -d=)" = "LABEL" -o "$(echo $RD | cut -f1 -d=)" = "UUID" -o "$(echo $RD | cut -f1 -d=)" = "PARTUUID" ]; then
- DKEY=$(echo $RD | cut -f1 -d=)
- # The value can be LABEL=foo or LABEL='foo' or LABEL="foo"
- DVAL=$(echo $RD | cut -f2 -d= | tr -d "'\042")
- RD=$(/sbin/blkid --match-token $DKEY=$DVAL --list-one --output device)
- fi
- else
- RD=$(grep -m1 "^/dev/.*[[:blank:]]/[[:blank:]]" /proc/mounts | cut -f1 -d' ')
- fi
- echo $RD
-}
-
-# Get the root fs information:
-get_rootfs_type() {
- if $(type blkid 1>/dev/null 2>&1) ; then
- blkid -s TYPE -o value $ROOTDEV
- elif $(type vol_id 1>/dev/null 2>&1) ; then
- vol_id $ROOTDEV | grep ID_FS_TYPE | cut -f2 -d=
- else
- # As a fallback, use:
- cat $FSTAB |tr '\t' ' ' |grep -v '^ *#' |tr -s ' ' |grep ' / ' |cut -f3 -d' '
- fi
-}
-
-# Add the module(s) needed for the root filesystem:
-add_rootfs_module() {
- local FSMOD
- FSMOD=$(/sbin/modprobe --set-version $KVER --show-depends ${ROOTFS} 2>/dev/null | while read LINE; do
- echo $(basename $(echo $LINE | cut -d' ' -f2) .ko )
- done)
- if [ -n "$FSMOD" ]; then
- [ -n "$MLIST" ] && echo "$MLIST:$(echo $FSMOD | tr ' ' ':')" \
- || echo $FSMOD | tr ' ' ':'
- fi
-}
-
-# Determine the list of kernel modules needed to support the root device:
-determine_blockdev_drivers() {
- # Walk the /sys tree to find kernel modules that are
- # required for our storage devices.
- # Thanks to PiterPUNK for help with this code.
- local MLIST
- MLIST=$(for i in $(find /sys/block/*/ -name "device" -print0 | xargs -0 -i'{}' readlink -f '{}' | sort -u); do
- /sbin/udevadm info --query=all --path=$i --attribute-walk | \
- sed -ne 's/^[[:blank:]]\+DRIVER[S]*=="\([^"]\+\)"$/\1/p' | \
- sed -e 's/^mmcblk$/mmc_block/' | \
- xargs -I@ /sbin/modprobe --set-version $KVER --show-depends @ \
- 2>/dev/null | grep -v "builtin " | \
- while read LINE ; do
- echo $(basename $(echo $LINE | cut -d' ' -f2) .ko )
- done
- done)
- MLIST=$( echo $MLIST | tr ' ' ':' )
- echo $MLIST
-}
-
-# Search for USB keyboards:
-function add_usb_keyboard() {
- local USBMOD
- if cat /proc/bus/input/devices | sed -e 's/^$/\$/g' | \
- tr "\n$" " \n" | grep -q " Phys=.*usb.* .*Handlers=.*kbd.*B:"; then
- USBMOD="xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-asus:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch"
- [ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
- || MLIST="$USBMOD"
- fi
- echo $MLIST
-}
-
-# Determine what USB Host Controller is in use
-function add_usb_hcd() {
- local USBMOD
- for i in $(ls -Ld /sys/module/*_hcd/drivers/* 2> /dev/null); do
- if ls -L $i | grep -q "[0-9a-f]*:" ; then
- USBMOD=$( echo $i | cut -f4 -d/ | tr "_" "-")
- [ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
- || MLIST="$USBMOD"
- fi
- done
- echo $MLIST
-}
-
-# Is the root partition on a (combination of) LVM/LUKS volume?
-check_luks_lvm_raid() {
- if $( lvdisplay -c $ROOTDEV 1>/dev/null 2>/dev/null ); then
- # Our root partition is on a LV:
- USING_LVM=1
- # Search the Physical Volume of our Logical Volume:
- MYVG=$( echo $(lvdisplay -c $ROOTDEV 2>/dev/null) | cut -d: -f2 )
- for LINE in $(pvdisplay -c) ; do
- VG=$(echo $LINE | cut -d: -f2)
- [ "$VG" = "$MYVG" ] && break
- done
- PV=$(echo $LINE | cut -d: -f1)
- # Check if there is a LUKS device underneath:
- if $( cryptsetup status $PV 1>/dev/null 2>/dev/null ) ; then
- # Our root partition's LV is on a LUKS volume:
- USING_LUKS=1
- REALDEV=$( cryptsetup status $PV | grep 'device: ' | tr -d ' ' | cut -d: -f2 )
- BASEDEV=$REALDEV
- else
- BASEDEV=$PV
- fi
- elif $( cryptsetup status $ROOTDEV 1>/dev/null 2>/dev/null ) ; then
- # Our root device is on a LUKS volume:
- USING_LUKS=1
- REALDEV=$( cryptsetup status $ROOTDEV | grep 'device: ' | tr -d ' ' | cut -d: -f2 )
- ROOTDEV=$(basename $ROOTDEV)
- # Check for LVM:
- for LV in $(lvdisplay -c 2>/dev/null | tr -d ' ' | cut -f1 -d:) ; do
- # Note: cryptsetup shows the real device, whereas
- # lvdisplay requires the /dev/<myvg>/... symlink to the real device.
- if [ "$(readlink $LV)" = "$REALDEV" ]; then
- REALDEV=$LV
- break
- fi
- done
- if $( lvdisplay -c $REALDEV 1>/dev/null 2>/dev/null ); then
- # Our root partition's LUKS device is on a LV:
- USING_LVM=1
- # Search the Physical Volume of our Logical Volume:
- MYVG=$( echo $(lvdisplay -c $REALDEV 2>/dev/null) | cut -d: -f2 )
- for LINE in $(pvdisplay -c) ; do
- VG=$(echo $LINE | cut -d: -f2)
- [ "$VG" = "$MYVG" ] && break
- done
- PV=$(echo $LINE | cut -d: -f1)
- BASEDEV=$PV
- else
- BASEDEV=$REALDEV
- fi
- else
- BASEDEV=$ROOTDEV
- fi
-
- # Finally, we should check if base device is
- # a real block device or a RAID volume:
- for MD in $(cat /proc/mdstat | grep -w active | cut -d' ' -f1) ; do
- if [ "$BASEDEV" = "/dev/$MD" ]; then
- USING_RAID=1
- break
- fi
- done
-}
-
-# Before we start
-[ -x /bin/id ] && CMD_ID="/bin/id" || CMD_ID="/usr/bin/id"
-if [ "$($CMD_ID -u)" != "0" ]; then
- echo "You need to be root to run $(basename $0)."
- exit 1
-fi
-
-# Parse the commandline parameters:
-while [ ! -z "$1" ]; do
- case $1 in
- --longhelp)
- basic_usage
- extended_usage
- exit 0
- ;;
- -a)
- MKINIT_PARAMS="$2"
- shift 2
- ;;
- -c|--conf)
- [ -n "$EMIT" ] && { echo "Do not mix incompatible parameters!"; exit 1; }
- EMIT="conf"
- shift
- ;;
- -h|--help)
- basic_usage
- exit 0
- ;;
- -i|--interactive)
- INTERACTIVE=1
- shift
- ;;
- -k)
- if [ "$2" = "" ]; then
- echo "Error: -k requires a kernel version."
- exit 1
- fi
- KVERLIST=$2
- shift 2
- ;;
- -m)
- MKINIT_MODS=$2
- shift 2
- ;;
- -l|--lilo)
- [ -n "$EMIT" ] && { echo "Do not mix incompatible parameters!"; exit 1; }
- EMIT="lilo"
- shift
- ;;
- -L|--fromlilo)
- FROMLILO=1
- shift
- ;;
- -r|--run)
- [ -n "$EMIT" ] && { echo "Do not mix incompatible parameters!"; exit 1; }
- EMIT="run"
- shift
- ;;
- -R|--rootdev)
- ROOTDEV=$2
- shift 2
- ;;
- -*)
- echo "Unsupported parameter '$1'!"
- exit 1
- ;;
- *) # Everything else but switches (which start with '-') follows:
- if [ -f $1 ]; then
- KFILE=$1
- # Construction of KFILE's full filename:
- KFILEPATH=$(cd $(dirname $KFILE) && pwd)
- if [ -L $KFILE ]; then
- KFILE=$(readlink $KFILE)
- else
- KFILE=$(basename $KFILE)
- fi
- KFILE=${KFILEPATH}/$KFILE
- if [ -z "$(file $KFILE | grep -E 'Linux kernel x86 boot|x86 boot sector')" ]; then
- echo "File '$KFILE' does not look like it is a kernel file!"
- exit 1
- fi
- else
- echo "File $1 not found!"
- exit 1
- fi
- shift
- ;;
- esac
-done
-
-# Determine what to show as output (other options may have set EMIT already)
-EMIT=${EMIT:-"all"}
-
-# An EMIT value of 'lilo' requires a kernel filename as script parameter:
-if [ "$EMIT" = "lilo" ]; then
- if [ -z "$KFILE" ]; then
- echo "A kernel_filename is required with the '-l|--lilo' option!"
- exit 1
- fi
-fi
-
-# Determine kernel version to use,
-# and check if modules for this kernel are actually present:
-if [ ! -z $KVERLIST ]; then
- for kernel_version in $(echo $KVERLIST | tr ":" "\n") ; do
- KVER=$kernel_version
- if [ ! -d /lib/modules/$KVER ]; then
- echo "Modules for kernel $KVER aren't installed."
- exit 1
- fi
- done
-fi
-if [ -z "$KVER" ]; then
- if [ -n "$KFILE" ]; then
- KVER="$(strings $KFILE | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')"
- else
- KVER="$(uname -r)"
- fi
-fi
-if [ ! -d /lib/modules/$KVER ]; then
- echo "Modules for kernel $KVER aren't installed."
- exit 1
-fi
-
-# Determine whether the user passed an alternate filename for the initrd:
-if [ -n "$MKINIT_PARAMS" ]; then
- SRCHLIST="$MKINIT_PARAMS"
- for ELEM in $MKINIT_PARAMS ; do
- SRCHLIST=$(echo $SRCHLIST | cut -d' ' -f2-) # cut ELEM from the list
- if [ "$ELEM" = "-o" ]; then
- IMGFILE=$(echo $SRCHLIST | cut -d' ' -f1)
- break
- fi
- done
-fi
-IMGFILE=${IMGFILE:-"/boot/initrd.gz"}
-
-# Get information about the root device / root filesystem:
-ROOTDEV=${ROOTDEV:-$(get_root_device)}
-ROOTFS=$(get_rootfs_type)
-
-# Determine the list of kernel modules needed to support the root device:
-MLIST=$(determine_blockdev_drivers)
-
-# Check if we are running in a kvm guest with virtio block device driver
-# (add all virtio modules, we sort out the doubles later):
-if echo $MLIST | grep -q "virtio"; then
- MLIST="$MLIST:virtio:virtio_balloon:virtio_blk:virtio_ring:virtio_pci:virtio_net"
-fi
-
-# Determine if a USB keyboard is in use and include usbhid and hid_generic
-# to module list
-MLIST=$(add_usb_keyboard)
-
-# If we use any USB module, try to determine the Host Controller
-if echo $MLIST | grep -q "usb"; then
- MLIST=$(add_usb_hcd)
-fi
-
-# Check what combination of LUKS/LVM/RAID we have to support:
-# This sets values for USING_LUKS, USING_LVM, USING_RAID, REALDEV and BASEDEV.
-check_luks_lvm_raid
-
-# This is the interactive part:
-if [ "$INTERACTIVE" = "1" ]; then
- if [ "$FROMLILO" != "1" ]; then
- dialog --stdout --title "WELCOME TO MKINITRD COMMAND GENERATOR" --msgbox "\
-The main goal of this utility is to create a good initrd to \
-fit your needs. It can detect what kernel you are running, \
-what is your root device, root filesystem, if you use encryption, \
-LVM, RAID, etc. \
-\n\n\
-Usually the probed values are OK and they will be the \
-defaults in all subsequent dialogs, but maybe you want \
-to change something. \n\
-If in doubt, leave the defaults." 0 0
-
- KVER=$( ls -d1 --indicator-style=none /lib/modules/* | \
- awk -F/ -vVER=$KVER '{
- if ( VER == $NF ) {
- ONOFF="on"
- } else {
- ONOFF="off"
- } ; printf("%s \"\" %s\n",$NF,ONOFF) }' | \
- xargs dialog --stdout --title "CHOOSE KERNEL VERSION" \
- --default-item $KVER --radiolist "\
-Please, select the kernel version you want to create this initrd for." 0 0 4 )
- [ -z "$KVER" ] && exit 1
-
- OLDROOTDEV=$ROOTDEV
- ROOTDEV=$( dialog --stdout --title "SELECT ROOT DEVICE" --inputbox "\
-Enter your root device. Root device is the one where your '/' filesystem \
-is mounted." 0 0 "$ROOTDEV" )
- [ -z "$ROOTDEV" ] && exit 1
-
- # We need to re-check our defaults in case the user changed the default
- # value for ROOTDEV:
- [ "$OLDROOTDEV" != "$ROOTDEV" ] && check_luks_lvm_raid
- ROOTFS=$(get_rootfs_type)
-
- ROOTFS=$( dialog --stdout --title "SELECT ROOT FILESYSTEM" --inputbox "\
-Enter the type of your root filesystem." 0 0 "$ROOTFS" )
- [ -z "$ROOTFS" ] && exit 1
- fi
-
- MLIST=$(add_rootfs_module)
-
- LLR=$( dialog --stdout --title "LVM/LUKS/RAID" --checklist "\
-Do you use some of those in your root filesystem? \
-If this is the case, please select one or more options." 12 45 3 \
-"LVM" "Logical Volume Manager" $([ "$USING_LVM" = "1" ] && echo on || echo off) \
-"LUKS" "Linux Unified Key Setup" $([ "$USING_LUKS" = "1" ] && echo on || echo off) \
-"RAID" "Linux Software RAID" $([ "$USING_RAID" = "1" ] && echo on || echo off))
-
- if [ "$?" != "0" ]; then
- exit 1
- fi
-
- echo $LLR | grep -q LUKS && USING_LUKS="1"
- echo $LLR | grep -q LVM && USING_LVM="1"
- echo $LLR | grep -q RAID && USING_RAID="1"
-
- if [ "$USING_LUKS" = "1" ]; then
- REALDEV=$( dialog --stdout --title "LUKS ROOT DEVICE" --inputbox "\
-Please, enter your LUKS root device:" 0 0 "$REALDEV" )
- [ -z "$REALDEV" ] && exit 1
- fi
-fi
-
-# Step out of the interactive loop for a moment. The next block needs to be
-# executed in all cases.
-
-# We need to 'undouble' the MLIST array. Some people report that walking the
-# /sys tree produces duplicate modules in the list.
-# The awk command elimitates doubles without changing the order:
-MLIST=$( echo $MLIST | tr ':' '\n' | awk '!x[$0]++' | tr '\n' ' ' )
-MLIST=$( echo $MLIST | tr ' ' ':' )
-MLIST=$(echo ${MLIST%:}) # To weed out a trailing ':' which was reported once.
-
-# Back to the interactive part:
-
-if [ "$INTERACTIVE" = "1" ]; then
- MLIST=$( dialog --stdout --title "INITRD'S MODULE LIST" --inputbox "\
-The list here shows all modules needed to support your root filesystem \
-and boot from it. But you can change the list to use some alternative \
-or additional modules. If you don't know what to do, the default is safe." \
-0 0 "$MLIST" )
- if [ "$?" != "0" ]; then
- exit 1
- fi
-
- EXTRA=$( dialog --stdout --title "EXTRA CONFIGURATION" --checklist "\
-Now is your chance for some additional configuration. All of these \
-configurations are optional and you can stick to the defaults." 11 72 3 \
-"KEYMAP" "Select keyboard layout (default: US)" \
- $([ $USING_LUKS = 1 ] && echo on || echo off) \
-"RESUMEDEV" "Select device for 'suspend-to-disk' feature" off \
-"UDEV" "Use UDEV in the initrd for device configuration" $(test $UDEV -eq 1 && echo on || echo off) \
-"WAIT" "Add delay to allow detection of slow disks at boot" $(test $WAIT -gt $WAIT_DEFAULT && echo on || echo off) )
- if [ "$?" != "0" ]; then
- exit 1
- fi
-
- if echo $EXTRA | grep -q KEYMAP ; then
- KEYMAP=$( dialog --stdout --title "KEYBOARD LAYOUT SELECTION" \
- --cancel-label "Skip" \
- --menu "You may select one of the following keyboard layouts. \
-If you do not select a keyboard map, 'us.map' \
-(the US keyboard layout) is the default. Use the UP/DOWN \
-arrow keys and PageUp/PageDown to scroll \
-through the whole list of choices." \
-22 55 11 \
-"qwerty/us.map" "" \
-"azerty/azerty.map" "" \
-"azerty/be-latin1.map" "" \
-"azerty/fr-latin0.map" "" \
-"azerty/fr-latin1.map" "" \
-"azerty/fr-latin9.map" "" \
-"azerty/fr-old.map" "" \
-"azerty/fr-pc.map" "" \
-"azerty/fr.map" "" \
-"azerty/wangbe.map" "" \
-"azerty/wangbe2.map" "" \
-"dvorak/ANSI-dvorak.map" "" \
-"dvorak/dvorak-l.map" "" \
-"dvorak/dvorak-r.map" "" \
-"dvorak/dvorak.map" "" \
-"dvorak/no-dvorak.map" "" \
-"fgGIod/tr_f-latin5.map" "" \
-"fgGIod/trf-fgGIod.map" "" \
-"olpc/es-olpc.map" "" \
-"olpc/pt-olpc.map" "" \
-"qwerty/bg-cp1251.map" "" \
-"qwerty/bg-cp855.map" "" \
-"qwerty/bg_bds-cp1251.map" "" \
-"qwerty/bg_bds-utf8.map" "" \
-"qwerty/bg_pho-cp1251.map" "" \
-"qwerty/bg_pho-utf8.map" "" \
-"qwerty/br-abnt.map" "" \
-"qwerty/br-abnt2.map" "" \
-"qwerty/br-latin1-abnt2.map" "" \
-"qwerty/br-latin1-us.map" "" \
-"qwerty/by-cp1251.map" "" \
-"qwerty/by.map" "" \
-"qwerty/bywin-cp1251.map" "" \
-"qwerty/cf.map" "" \
-"qwerty/cz-cp1250.map" "" \
-"qwerty/cz-lat2-prog.map" "" \
-"qwerty/cz-lat2.map" "" \
-"qwerty/cz-qwerty.map" "" \
-"qwerty/defkeymap.map" "" \
-"qwerty/defkeymap_V1.0.map" "" \
-"qwerty/dk-latin1.map" "" \
-"qwerty/dk.map" "" \
-"qwerty/emacs.map" "" \
-"qwerty/emacs2.map" "" \
-"qwerty/es-cp850.map" "" \
-"qwerty/es.map" "" \
-"qwerty/et-nodeadkeys.map" "" \
-"qwerty/et.map" "" \
-"qwerty/fi-latin1.map" "" \
-"qwerty/fi-latin9.map" "" \
-"qwerty/fi-old.map" "" \
-"qwerty/fi.map" "" \
-"qwerty/gr-pc.map" "" \
-"qwerty/gr.map" "" \
-"qwerty/hu101.map" "" \
-"qwerty/il-heb.map" "" \
-"qwerty/il-phonetic.map" "" \
-"qwerty/il.map" "" \
-"qwerty/is-latin1-us.map" "" \
-"qwerty/is-latin1.map" "" \
-"qwerty/it-ibm.map" "" \
-"qwerty/it.map" "" \
-"qwerty/it2.map" "" \
-"qwerty/jp106.map" "" \
-"qwerty/kazakh.map" "" \
-"qwerty/kyrgyz.map" "" \
-"qwerty/la-latin1.map" "" \
-"qwerty/lt.baltic.map" "" \
-"qwerty/lt.l4.map" "" \
-"qwerty/lt.map" "" \
-"qwerty/mk-cp1251.map" "" \
-"qwerty/mk-utf.map" "" \
-"qwerty/mk.map" "" \
-"qwerty/mk0.map" "" \
-"qwerty/nl.map" "" \
-"qwerty/nl2.map" "" \
-"qwerty/no-latin1.map" "" \
-"qwerty/no.map" "" \
-"qwerty/pc110.map" "" \
-"qwerty/pl.map" "" \
-"qwerty/pl1.map" "" \
-"qwerty/pl2.map" "" \
-"qwerty/pl3.map" "" \
-"qwerty/pl4.map" "" \
-"qwerty/pt-latin1.map" "" \
-"qwerty/pt-latin9.map" "" \
-"qwerty/pt.map" "" \
-"qwerty/ro.map" "" \
-"qwerty/ro_std.map" "" \
-"qwerty/ru-cp1251.map" "" \
-"qwerty/ru-ms.map" "" \
-"qwerty/ru-yawerty.map" "" \
-"qwerty/ru.map" "" \
-"qwerty/ru1.map" "" \
-"qwerty/ru2.map" "" \
-"qwerty/ru3.map" "" \
-"qwerty/ru4.map" "" \
-"qwerty/ru_win.map" "" \
-"qwerty/ruwin_alt-CP1251.map" "" \
-"qwerty/ruwin_alt-KOI8-R.map" "" \
-"qwerty/ruwin_alt-UTF-8.map" "" \
-"qwerty/ruwin_cplk-CP1251.map" "" \
-"qwerty/ruwin_cplk-KOI8-R.map" "" \
-"qwerty/ruwin_cplk-UTF-8.map" "" \
-"qwerty/ruwin_ct_sh-CP1251.map" "" \
-"qwerty/ruwin_ct_sh-KOI8-R.map" "" \
-"qwerty/ruwin_ct_sh-UTF-8.map" "" \
-"qwerty/ruwin_ctrl-CP1251.map" "" \
-"qwerty/ruwin_ctrl-KOI8-R.map" "" \
-"qwerty/ruwin_ctrl-UTF-8.map" "" \
-"qwerty/se-fi-ir209.map" "" \
-"qwerty/se-fi-lat6.map" "" \
-"qwerty/se-ir209.map" "" \
-"qwerty/se-lat6.map" "" \
-"qwerty/se-latin1.map" "" \
-"qwerty/sk-prog-qwerty.map" "" \
-"qwerty/sk-qwerty.map" "" \
-"qwerty/speakup-jfw.map" "" \
-"qwerty/speakupmap.map" "" \
-"qwerty/sr-cy.map" "" \
-"qwerty/sv-latin1.map" "" \
-"qwerty/tr_q-latin5.map" "" \
-"qwerty/tralt.map" "" \
-"qwerty/trf.map" "" \
-"qwerty/trq.map" "" \
-"qwerty/ttwin_alt-UTF-8.map.gz" "" \
-"qwerty/ttwin_cplk-UTF-8.map.gz" "" \
-"qwerty/ttwin_ct_sh-UTF-8.map.gz" "" \
-"qwerty/ttwin_ctrl-UTF-8.map.gz" "" \
-"qwerty/ua-cp1251.map.gz" "" \
-"qwerty/ua-utf-ws.map" "" \
-"qwerty/ua-utf.map" "" \
-"qwerty/ua-ws.map" "" \
-"qwerty/ua.map" "" \
-"qwerty/uk.map" "" \
-"qwerty/us-acentos.map" "" \
-"qwerty/us.map" "" \
-"qwertz/croat.map" "" \
-"qwertz/cz-us-qwertz.map" "" \
-"qwertz/cz.map" "" \
-"qwertz/de-latin1-nodeadkeys.map" "" \
-"qwertz/de-latin1.map" "" \
-"qwertz/de.map" "" \
-"qwertz/de_CH-latin1.map" "" \
-"qwertz/fr_CH-latin1.map" "" \
-"qwertz/fr_CH.map" "" \
-"qwertz/hu.map" "" \
-"qwertz/sg-latin1-lk450.map" "" \
-"qwertz/sg-latin1.map" "" \
-"qwertz/sg.map" "" \
-"qwertz/sk-prog-qwertz.map" "" \
-"qwertz/sk-qwertz.map" "" \
-"qwertz/slovene.map" "" )
- [ -n "$KEYMAP" ] && KEYMAP=$(basename $KEYMAP .map)
- fi
-
- if echo $EXTRA | grep -q UDEV ; then
- UDEV=1
- fi
-
- if echo $EXTRA | grep -q RESUMEDEV ; then
- # Print information about swap partitions:
- FREERAM=$(free -k | grep "^Mem:" | tr -s ' ' | cut -d' ' -f2)
- SWPINFO=""
- for SWPDEV in $(grep -w swap $FSTAB | cut -d' ' -f1) ; do
- SWPINFO="$SWPINFO $SWPDEV Linux swap partition $(fdisk -s $SWPDEV) KB \\n"
- [ $(fdisk -s $SWPDEV) -gt $FREERAM ] && RESUMEDEV=$SWPDEV
- done
- FREERAM=$(free -m | grep "^Mem:" | tr -s ' ' | cut -d' ' -f2)
- RESUMEDEV=$( dialog --stdout --no-collapse --title "HIBERNATE RESUME DEVICE" --inputbox "\
-When using suspend-to-disk feature (hibernate), your computer's RAM is copied \
-to a swap device when it shuts down. The kernel will resume from that RAM \
-image at boot. This means that the swap partition must not be smaller than \
-the amount of RAM you have ($FREERAM MB). \n\
-$SWPINFO \n\
-Please specify a swap partition to be used for hibernation:" \
-0 0 "$RESUMEDEV")
- [ -z "$RESUMEDEV" ] && exit 1
- fi
-
- if echo $EXTRA | grep -q WAIT ; then
- WAIT=$( dialog --stdout --title "WAIT FOR ROOT DEVICE" --inputbox "\
-Some block devices are too slow to be detected properly at boot. USB storage \
-devices and some disk arrays have this 'feature'. To make your machine \
-boot properly, you can add some delay here, to wait until all your disks are \
-probed and detected. The time is in seconds:" 0 0 "$WAIT")
- [ -z "$WAIT" ] && exit 1
- fi
-
- IMGFILE=$( dialog --stdout --title "INITRD IMAGE NAME" --inputbox "\
-Enter your initrd image filename." 0 0 "$IMGFILE" )
- [ -z "$IMGFILE" ] && exit 1
-
-else
- MLIST=$(add_rootfs_module)
-fi
-
-# Add any modules passed along on the commandline:
-if [ -n "$MKINIT_MODS" ]; then
- [ -n "$MLIST" ] && MLIST="$MLIST:$(echo $MKINIT_MODS | tr ' ' ':')" \
- || MLIST="$(echo $MKINIT_MODS | tr ' ' ':')"
-fi
-
-# Constructing the mkinitrd command:
-if [ -z $KVERLIST ]; then
- MKINIT="mkinitrd -c -k $KVER -f $ROOTFS -r $ROOTDEV"
-else
- MKINIT="mkinitrd -c -k $KVERLIST -f $ROOTFS -r $ROOTDEV"
-fi
-
-# If we have a module list, add them:
-if ! [ -z "$MLIST" -o "$MLIST" = ":" ]; then
- MKINIT="$MKINIT -m $MLIST"
-fi
-
-# Deal with LUKS/LVM/RAID:
-if [ "$USING_LUKS" = "1" ]; then
- MKINIT="$MKINIT -C $REALDEV"
-fi
-if [ "$USING_LVM" = "1" ]; then
- MKINIT="$MKINIT -L"
-fi
-if [ "$USING_RAID" = "1" ]; then
- MKINIT="$MKINIT -R"
-fi
-
-if [ -n "$RESUMEDEV" ]; then
- # Add hibernation partition:
- MKINIT="$MKINIT -h $RESUMEDEV"
-fi
-if [ -n "$KEYMAP" -a "$KEYMAP" != "us" ]; then
- # Add non-us keyboard mapping:
- MKINIT="$MKINIT -l $KEYMAP"
-fi
-if [ $UDEV -eq 1 ]; then
- # Add UDEV support:
- MKINIT="$MKINIT -u"
-fi
-if [ -n "$WAIT" -a $WAIT -ne $WAIT_DEFAULT ]; then
- # Add non-default wait time:
- MKINIT="$MKINIT -w $WAIT"
-fi
-if ! echo "$MKINIT_PARAMS" | grep -q -- '-o ' ; then
- # Add default output filename:
- MKINIT="$MKINIT -o $IMGFILE"
-fi
-if [ -n "$MKINIT_PARAMS" ]; then
- # Add user-supplied additional parameters:
- MKINIT="$MKINIT $MKINIT_PARAMS"
-fi
-
-# Notify the user:
-if [ "$EMIT" = "all" ]; then
- cat <<-EOT
- #
- # $(basename $0) revision $REV
- #
- # This script will now make a recommendation about the command to use
- # in case you require an initrd image to boot a kernel that does not
- # have support for your storage or root filesystem built in
- # (such as the Slackware 'generic' kernels').
- # A suitable 'mkinitrd' command will be:
-
- $MKINIT
- EOT
-elif [ "$EMIT" = "run" ]; then
- echo "$MKINIT"
-elif [ "$EMIT" = "conf" ]; then
- cat <<-EOT
- SOURCE_TREE="$SOURCE_TREE"
- CLEAR_TREE="$CLEAR_TREE"
- OUTPUT_IMAGE="$IMGFILE"
- KERNEL_VERSION="$KVER"
- KEYMAP="$KEYMAP"
- MODULE_LIST="$(echo $MLIST | cut -f2 -d\ )"
- LUKSDEV="$REALDEV"
- ROOTDEV="$ROOTDEV"
- ROOTFS="$ROOTFS"
- RESUMEDEV="$RESUMEDEV"
- RAID="$USING_RAID"
- LVM="$USING_LVM"
- UDEV="$UDEV"
- WAIT="$WAIT"
- EOT
-fi
-
-if [ -n "$KFILE" ]; then
- if [ "$EMIT" = "all" ]; then
- cat <<-EOT
- # An entry in 'etc/lilo.conf' for kernel '$KFILE' would look like this:
- EOT
- fi
- if [ "$EMIT" = "all" -o "$EMIT" = "lilo" ]; then
- # Compensate for the syntax used for the LUKS-on-LVM case:
- [ "$(basename $ROOTDEV)" = "$ROOTDEV" ] && BASE="/dev/mapper/" || BASE=""
- cat <<-EOT
- # Linux bootable partition config begins
- # initrd created with '$MKINIT'
- image = $KFILE
- initrd = $IMGFILE
- root = $BASE$ROOTDEV
- label = $KVER
- read-only
- # Linux bootable partition config ends
- EOT
- fi
-fi
diff --git a/testing/source/mkinitrd/setup.01.mkinitrd b/testing/source/mkinitrd/setup.01.mkinitrd
deleted file mode 100644
index be05ef841..000000000
--- a/testing/source/mkinitrd/setup.01.mkinitrd
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-#BLURB="Generate /boot/initrd.gz for the generic kernel"
-
-# Load defaults:
-if [ -r etc/default/geninitrd ]; then
- . etc/default/geninitrd
-fi
-
-if [ -z "$KERNEL_SYMLINK" ]; then
- KERNEL_SYMLINK="boot/vmlinuz-generic"
-elif [ "$(echo $KERNEL_SYMLINK | cut -b 1)" = "/" ]; then # trim to make a relative path
- KERNEL_SYMLINK="$(echo $KERNEL_SYMLINK | cut -b 2-)"
-fi
-
-# Find the kernel version:
-if [ -r $KERNEL_SYMLINK ]; then
- KERNEL_VERSION=$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')
-fi
-
-# Assume the kernel "name" aka flavor is just the second part of the symlink name:
-KERNEL_NAME="$(echo $KERNEL_SYMLINK | rev | cut -f 1 -d - | rev)"
-
-# Sometimes mkinitrd_command_generator.sh does not detect LVM properly. Until I
-# get to the bottom of that, it's safer to just always include LVM support.
-LVM_OPTION="-L"
-
-# Generate the initrd:
-if [ ! -z $KERNEL_VERSION ]; then
- dialog --title "GENERATING INITIAL RAMDISK" --infobox \
- "Generating an initial ramdisk for use with the $KERNEL_VERSION kernel. \
-The initial ramdisk contains kernel modules needed to mount the \
-root partition, and must be regenerated whenever the kernel is updated. To \
-regenerate the initrd, select this setup script from within pkgtool, or run \
-'geninitrd' which will produce an initial ramdisk (/boot/initrd.gz) for the \
-installed kernel." 8 70
- chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION -a "$LVM_OPTION -o /boot/initrd-${KERNEL_VERSION}-${KERNEL_NAME}.img" | chroot . bash 1> /dev/null 2> /dev/null
-fi
-
-if [ "$GENINITRD_NAMED_SYMLINK" = "true" ]; then
- ( cd boot
- rm -f initrd-${KERNEL_NAME}.img
- ln -sf initrd-${KERNEL_VERSION}-${KERNEL_NAME}.img initrd-${KERNEL_NAME}.img
- )
-fi
-
-if [ "$GENINITRD_INITRD_GZ_SYMLINK" = "true" ]; then
- ( cd boot
- rm -f initrd.gz
- ln -sf initrd-${KERNEL_VERSION}-${KERNEL_NAME}.img initrd.gz
- )
-fi
diff --git a/testing/source/mkinitrd/slack-desc b/testing/source/mkinitrd/slack-desc
deleted file mode 100644
index 7becf9f67..000000000
--- a/testing/source/mkinitrd/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|' on
-# the right side marks the last column you can put a character in. You must make
-# exactly 11 lines for the formatting to be correct. It's also customary to
-# leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-mkinitrd: mkinitrd (make an initial ramdisk)
-mkinitrd:
-mkinitrd: mkinitrd is a script to create an initial ramdisk that is loaded at
-mkinitrd: the same time as the kernel. The initial ramdisk may be responsible
-mkinitrd: for loading kernel modules (such a filesystem or SCSI controller
-mkinitrd: module) that are needed to mount the root filesystem.
-mkinitrd:
-mkinitrd: The "initrd" is implemented as an initramfs. See the kernel
-mkinitrd: documentation for more information on this, if you are interested.
-mkinitrd:
-mkinitrd: