diff options
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 |
commit | bca17f28ccefb0ab1fd45bbacc572fa457e1bb68 (patch) | |
tree | 1d49aba1a116e97efc6022b10ccd6cad1b586d58 /testing/source | |
parent | 3fb0490c728ea33222f51f46b507884af000fac1 (diff) | |
download | current-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 '')
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: |