dracut: update to 050.
This commit is contained in:
parent
b271cc08b1
commit
a4acb0dac8
@ -1,89 +0,0 @@
|
||||
From 033921aa8346516d92ffe74fc1244089b9d61454 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
|
||||
<congdanhqx@gmail.com>
|
||||
Date: Sun, 6 Jan 2019 11:48:02 +0700
|
||||
Subject: [PATCH] remove bashism in various boot scripts
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
When using dash as initramfs shell, the boot process is broken.
|
||||
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1663651
|
||||
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
|
||||
---
|
||||
modules.d/90crypt/crypt-lib.sh | 2 +-
|
||||
modules.d/90crypt/parse-keydev.sh | 2 +-
|
||||
modules.d/91crypt-gpg/crypt-gpg-lib.sh | 2 +-
|
||||
modules.d/95dcssblk/parse-dcssblk.sh | 2 +-
|
||||
modules.d/98syslog/rsyslogd-start.sh | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git modules.d/90crypt/crypt-lib.sh modules.d/90crypt/crypt-lib.sh
|
||||
index bbf485e0..688ea251 100755
|
||||
--- modules.d/90crypt/crypt-lib.sh
|
||||
+++ modules.d/90crypt/crypt-lib.sh
|
||||
@@ -191,7 +191,7 @@ readkey() {
|
||||
local device="$3"
|
||||
|
||||
# No mounting needed if the keyfile resides inside the initrd
|
||||
- if [ "/" == "$keydev" ]; then
|
||||
+ if [ "/" = "$keydev" ]; then
|
||||
local mntp=/
|
||||
else
|
||||
# This creates a unique single mountpoint for *, or several for explicitly
|
||||
diff --git modules.d/90crypt/parse-keydev.sh modules.d/90crypt/parse-keydev.sh
|
||||
index a45b2fb5..04813414 100755
|
||||
--- modules.d/90crypt/parse-keydev.sh
|
||||
+++ modules.d/90crypt/parse-keydev.sh
|
||||
@@ -18,7 +18,7 @@ if getargbool 1 rd.luks -n rd_NO_LUKS && \
|
||||
fi
|
||||
|
||||
# A keydev of '/' is treated as the initrd itself
|
||||
- if [ "/" == "$keydev" ]; then
|
||||
+ if [ "/" = "$keydev" ]; then
|
||||
[ -z "$luksdev" ] && luksdev='*'
|
||||
echo "$luksdev:$keydev:$keypath" >> /tmp/luks.keys
|
||||
continue
|
||||
diff --git modules.d/91crypt-gpg/crypt-gpg-lib.sh modules.d/91crypt-gpg/crypt-gpg-lib.sh
|
||||
index b85ed2b8..c051b430 100755
|
||||
--- modules.d/91crypt-gpg/crypt-gpg-lib.sh
|
||||
+++ modules.d/91crypt-gpg/crypt-gpg-lib.sh
|
||||
@@ -53,7 +53,7 @@ gpg_decrypt() {
|
||||
--tries 3 --tty-echo-off
|
||||
|
||||
# Clean up the smartcard gpg-agent
|
||||
- if [ "${useSmartcard}" == "1" ]; then
|
||||
+ if [ "${useSmartcard}" = "1" ]; then
|
||||
GNUPGHOME="$gpghome" gpg-connect-agent 1>/dev/null killagent /bye
|
||||
fi
|
||||
|
||||
diff --git modules.d/95dcssblk/parse-dcssblk.sh modules.d/95dcssblk/parse-dcssblk.sh
|
||||
index 8f174408..27ac1d8d 100644
|
||||
--- modules.d/95dcssblk/parse-dcssblk.sh
|
||||
+++ modules.d/95dcssblk/parse-dcssblk.sh
|
||||
@@ -2,7 +2,7 @@
|
||||
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
||||
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
||||
dcssblk_arg=$(getarg rd.dcssblk=)
|
||||
-if [ $? == 0 ];then
|
||||
+if [ $? = 0 ];then
|
||||
info "Loading dcssblk segments=$dcssblk_arg"
|
||||
modprobe dcssblk segments=$dcssblk_arg
|
||||
fi
|
||||
diff --git modules.d/98syslog/rsyslogd-start.sh modules.d/98syslog/rsyslogd-start.sh
|
||||
index c64f2121..86ad50ea 100755
|
||||
--- modules.d/98syslog/rsyslogd-start.sh
|
||||
+++ modules.d/98syslog/rsyslogd-start.sh
|
||||
@@ -38,7 +38,7 @@ rsyslog_config() {
|
||||
[ -f /tmp/syslog.conf ] && read conf < /tmp/syslog.conf
|
||||
[ -z "$conf" ] && conf="/etc/rsyslog.conf" && echo "$conf" > /tmp/syslog.conf
|
||||
|
||||
-if [ $type == "rsyslogd" ]; then
|
||||
+if [ $type = "rsyslogd" ]; then
|
||||
template=/etc/templates/rsyslog.conf
|
||||
if [ -n "$server" ]; then
|
||||
rsyslog_config "$server" "$template" "$filters" > $conf
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,57 +0,0 @@
|
||||
diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
|
||||
index d39ca1b7..8dbc8b3c 100755
|
||||
--- ./modules.d/99fs-lib/fs-lib.sh
|
||||
+++ ./modules.d/99fs-lib/fs-lib.sh
|
||||
@@ -44,22 +44,22 @@ fsck_able() {
|
||||
;;
|
||||
ext?)
|
||||
type e2fsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=e2fsck fsck_drv_com" &&
|
||||
+ _drv="_drv=e2fsck fsck_drv_com e2fsck" &&
|
||||
return 0
|
||||
;;
|
||||
f2fs)
|
||||
type fsck.f2fs >/dev/null 2>&1 &&
|
||||
- _drv="_drv=fsck.f2fs fsck_drv_com" &&
|
||||
+ _drv="_drv=fsck.f2fs fsck_drv_com fsck.f2fs" &&
|
||||
return 0
|
||||
;;
|
||||
jfs)
|
||||
type jfs_fsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=jfs_fsck fsck_drv_com" &&
|
||||
+ _drv="_drv=jfs_fsck fsck_drv_com jfs_fsck" &&
|
||||
return 0
|
||||
;;
|
||||
reiserfs)
|
||||
type reiserfsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=reiserfsck fsck_drv_com" &&
|
||||
+ _drv="_drv=reiserfsck fsck_drv_com reiserfsck" &&
|
||||
return 0
|
||||
;;
|
||||
btrfs)
|
||||
@@ -75,7 +75,7 @@ fsck_able() {
|
||||
;;
|
||||
*)
|
||||
type fsck >/dev/null 2>&1 &&
|
||||
- _drv="_drv=fsck fsck_drv_std" &&
|
||||
+ _drv="_drv=fsck fsck_drv_std fsck" &&
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
@@ -99,6 +99,7 @@ fsck_drv_btrfs() {
|
||||
fsck_drv_com() {
|
||||
local _ret
|
||||
local _out
|
||||
+ local _drv=$1
|
||||
|
||||
if ! strglobin "$_fop" "-[ynap]"; then
|
||||
_fop="-a ${_fop}"
|
||||
@@ -177,7 +178,7 @@ fsck_batch() {
|
||||
_out="$(fsck -M -T "$@" -- -a)"
|
||||
_ret=$?
|
||||
|
||||
- fsck_tail
|
||||
+ _drv=$_drv fsck_tail
|
||||
|
||||
return $_ret
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
This fixes a segfault, see https://github.com/dracutdevs/dracut/pull/541
|
||||
|
||||
Remove after update to 050.
|
||||
|
||||
--- install/dracut-install.c
|
||||
+++ install/dracut-install.c
|
||||
@@ -1243,6 +1243,9 @@ static int install_dependent_modules(struct kmod_list *modlist)
|
||||
mod = kmod_module_get_module(itr);
|
||||
path = kmod_module_get_path(mod);
|
||||
|
||||
+ if (path == NULL)
|
||||
+ continue;
|
||||
+
|
||||
name = kmod_module_get_name(mod);
|
||||
if (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0)) {
|
||||
kmod_module_unref(mod);
|
@ -1,144 +0,0 @@
|
||||
From 3b146ac6c0397f4a73c7b4ee498bff4e98479066 Mon Sep 17 00:00:00 2001
|
||||
From: q66 <daniel@octaforge.org>
|
||||
Date: Mon, 22 Jul 2019 18:52:08 +0200
|
||||
Subject: [PATCH] modules.d: add a module for early fan control on PowerPC Macs
|
||||
|
||||
The goal of this module is to enable automatic loading of the
|
||||
thermal/fan control modules on PowerPC based Macs, as on some
|
||||
modular kernel configurations this will not happen automatically
|
||||
which will result in the fans spinning up to 100% until they are
|
||||
manually loaded.
|
||||
|
||||
This is especially a problem in live systems where it takes some
|
||||
time to boot up and the spin-up happens before the system even
|
||||
leaves initramfs.
|
||||
---
|
||||
modules.d/90ppcmac/load-thermal.sh | 29 +++++++++++
|
||||
modules.d/90ppcmac/module-setup.sh | 82 ++++++++++++++++++++++++++++++
|
||||
2 files changed, 111 insertions(+)
|
||||
create mode 100644 modules.d/90ppcmac/load-thermal.sh
|
||||
create mode 100644 modules.d/90ppcmac/module-setup.sh
|
||||
|
||||
diff --git a/modules.d/90ppcmac/load-thermal.sh b/modules.d/90ppcmac/load-thermal.sh
|
||||
new file mode 100644
|
||||
index 000000000..1e548f052
|
||||
--- /dev/null
|
||||
+++ modules.d/90ppcmac/load-thermal.sh
|
||||
@@ -0,0 +1,29 @@
|
||||
+#!/bin/sh
|
||||
+#
|
||||
+# This hook attempts to load the appropriate thermal modules
|
||||
+# for PowerPC Macs depending on the specific machine you have.
|
||||
+
|
||||
+[ -r /proc/cpuinfo ] || exit 0
|
||||
+
|
||||
+load_windfarm() {
|
||||
+ local pm_model="$(sed -n '/model/p' /proc/cpuinfo)"
|
||||
+ pm_model="${pm_model##*: }"
|
||||
+
|
||||
+ # load quietly and respect the blacklist
|
||||
+ # this way if the modules are for some reason missing, it will
|
||||
+ # still exit successfully and not affect the boot process
|
||||
+ case "$pm_model" in
|
||||
+ PowerMac3,6) modprobe -b -q therm_windtunnel ;;
|
||||
+ PowerMac7,2|PowerMac7,3) modprobe -b -q windfarm_pm72 ;;
|
||||
+ PowerMac8,1|PowerMac8,2) modprobe -b -q windfarm_pm81 ;;
|
||||
+ PowerMac9,1) modprobe -b -q windfarm_pm91 ;;
|
||||
+ PowerMac11,2) modprobe -b -q windfarm_pm112 ;;
|
||||
+ PowerMac12,1) modprobe -b -q windfarm_pm121 ;;
|
||||
+ RackMac3,1) modprobe -b -q windfarm_rm31 ;;
|
||||
+ *) ;;
|
||||
+ esac
|
||||
+
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+load_windfarm
|
||||
diff --git a/modules.d/90ppcmac/module-setup.sh b/modules.d/90ppcmac/module-setup.sh
|
||||
new file mode 100644
|
||||
index 000000000..59221ec4d
|
||||
--- /dev/null
|
||||
+++ modules.d/90ppcmac/module-setup.sh
|
||||
@@ -0,0 +1,82 @@
|
||||
+#!/bin/bash
|
||||
+#
|
||||
+# This module attempts to properly deal with thermal behavior on PowerPC
|
||||
+# based Mac systems, by installing the model-appropriate (when hostonly)
|
||||
+# or all (when not) fan control/thermal kernel modules and loading them
|
||||
+# in a hook.
|
||||
+#
|
||||
+# While this is not strictly necessary for all kernels, particularly
|
||||
+# modular kernels will not autoload those drivers, even once the full
|
||||
+# system is up, which results in the fans spinning up to 100%; this is
|
||||
+# particularly annoying on live systems, where the system takes a while
|
||||
+# to load, so it's best to load the drivers early in initramfs stage.
|
||||
+#
|
||||
+# The behavior of this is inspired by the thermal hook in Debian's
|
||||
+# initramfs-tools, but written for dracut specifically and updated
|
||||
+# for modern kernels (2012+).
|
||||
+
|
||||
+# called by dracut
|
||||
+check() {
|
||||
+ local _arch="$(uname -m)"
|
||||
+ # only for PowerPC Macs
|
||||
+ [[ "$_arch" == ppc* && "$_arch" != ppc*le ]] || return 1
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+# called by dracut
|
||||
+depends() {
|
||||
+ return 0
|
||||
+}
|
||||
+
|
||||
+# called by dracut
|
||||
+installkernel() {
|
||||
+ pmac_model() {
|
||||
+ local pm_model="$(grep model /proc/cpuinfo)"
|
||||
+ echo "${pm_model##*: }"
|
||||
+ }
|
||||
+
|
||||
+ # only PowerMac3,6 has a module, special case
|
||||
+ if [[ "$(uname -m)" == ppc ]]; then
|
||||
+ if ! [[ $hostonly ]] || [[ "$(pmac_model)" == "PowerMac3,6" ]]; then
|
||||
+ instmods therm_windtunnel
|
||||
+ fi
|
||||
+ return 0
|
||||
+ fi
|
||||
+
|
||||
+ windfarm_modules() {
|
||||
+ if ! [[ $hostonly ]]; then
|
||||
+ # include all drivers when not hostonly
|
||||
+ instmods \
|
||||
+ windfarm_pm72 windfarm_pm81 windfarm_pm91 windfarm_pm112 \
|
||||
+ windfarm_pm121 windfarm_rm31
|
||||
+ else
|
||||
+ # guess model specific module, then install the rest
|
||||
+ case "$(pmac_model)" in
|
||||
+ PowerMac7,2|PowerMac7,3) instmods windfarm_pm72 ;;
|
||||
+ PowerMac8,1|PowerMac8,2) instmods windfarm_pm81 ;;
|
||||
+ PowerMac9,1) instmods windfarm_pm91 ;;
|
||||
+ PowerMac11,2) instmods windfarm_pm112 ;;
|
||||
+ PowerMac12,1) instmods windfarm_pm121 ;;
|
||||
+ RackMac3,1) instmods windfarm_rm31 ;;
|
||||
+ # no match, so skip installation of the rest
|
||||
+ *) return 1 ;;
|
||||
+ esac
|
||||
+ fi
|
||||
+ return 0
|
||||
+ }
|
||||
+
|
||||
+ # hostonly and didn't match a model; skip installing other modules
|
||||
+ windfarm_modules || return 0
|
||||
+ # these are all required by the assorted windfarm_pm*
|
||||
+ instmods \
|
||||
+ windfarm_core windfarm_cpufreq_clamp windfarm_pid \
|
||||
+ windfarm_smu_controls windfarm_smu_sat windfarm_smu_sensors \
|
||||
+ windfarm_fcu_controls windfarm_ad7417_sensor windfarm_max6690_sensor \
|
||||
+ windfarm_lm75_sensor windfarm_lm87_sensor
|
||||
+}
|
||||
+
|
||||
+# called by dracut
|
||||
+install() {
|
||||
+ # this will attempt to load the appropriate modules
|
||||
+ inst_hook pre-udev 99 "$moddir/load-thermal.sh"
|
||||
+}
|
@ -1,7 +1,7 @@
|
||||
# Template file for 'dracut'
|
||||
pkgname=dracut
|
||||
version=049
|
||||
revision=5
|
||||
version=050
|
||||
revision=1
|
||||
build_style=configure
|
||||
configure_args="--prefix=/usr --sysconfdir=/etc"
|
||||
conf_files="/etc/dracut.conf"
|
||||
@ -13,7 +13,7 @@ maintainer="q66 <daniel@octaforge.org>"
|
||||
license="GPL-2.0-or-later, LGPL-2.0-or-later"
|
||||
homepage="http://www.kernel.org/pub/linux/utils/boot/dracut/dracut.html"
|
||||
distfiles="https://github.com/dracutdevs/dracut/archive/${version}.tar.gz"
|
||||
checksum=7c53d05991d802dff78323fb1783871be57352ba59f65f1f7ed712bf281e5f1e
|
||||
checksum=f9dbf18597e5929221365964293212c8c9ffb7d84529c5a338c834ecab06e333
|
||||
|
||||
make_dirs="
|
||||
/etc/dracut.conf.d 0755 root root
|
||||
|
Loading…
Reference in New Issue
Block a user