dracut - 046-19
- git snapshot
This commit is contained in:
parent
87cf605e9a
commit
afa7aa19c7
@ -21,3 +21,4 @@ index 681a6b7a..06127ca4 100755
|
||||
if [[ $allowlocal ]]; then
|
||||
"$dracutbasedir/lsinitrd.sh" "${DRACUT_TMPDIR}/initramfs.img"| ddebug
|
||||
else
|
||||
|
||||
|
23
0007.patch
Normal file
23
0007.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From 1499719d2542eb937099c98c9b8618e0f3e8c3a2 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Wed, 30 Aug 2017 11:39:06 +0200
|
||||
Subject: [PATCH] Merge pull request #274 from danimo/system_allow_coredump
|
||||
|
||||
Enable core dumps with systemd from initrd
|
||||
---
|
||||
modules.d/00systemd/module-setup.sh | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh
|
||||
index 5da22a93..23d39bbe 100755
|
||||
--- a/modules.d/00systemd/module-setup.sh
|
||||
+++ b/modules.d/00systemd/module-setup.sh
|
||||
@@ -33,6 +33,7 @@ install() {
|
||||
|
||||
inst_multiple -o \
|
||||
$systemdutildir/systemd \
|
||||
+ $systemdutildir/systemd-coredump \
|
||||
$systemdutildir/systemd-cgroups-agent \
|
||||
$systemdutildir/systemd-shutdown \
|
||||
$systemdutildir/systemd-reply-password \
|
||||
|
25
0008.patch
Normal file
25
0008.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 424c065cd99cc9c35a92a68d34c161beff5f5497 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Wed, 30 Aug 2017 11:51:12 +0200
|
||||
Subject: [PATCH] Merge pull request #276 from danimo/copy_multipath_confd
|
||||
|
||||
95multipath: Pickup files in /etc/multipath/conf.d
|
||||
---
|
||||
modules.d/90multipath/module-setup.sh | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
|
||||
index e5683395..28857ebc 100755
|
||||
--- a/modules.d/90multipath/module-setup.sh
|
||||
+++ b/modules.d/90multipath/module-setup.sh
|
||||
@@ -65,7 +65,8 @@ install() {
|
||||
xdrgetprio \
|
||||
/etc/xdrdevices.conf \
|
||||
/etc/multipath.conf \
|
||||
- /etc/multipath/*
|
||||
+ /etc/multipath/* \
|
||||
+ /etc/multipath/conf.d/*
|
||||
|
||||
inst $(command -v partx) /sbin/partx
|
||||
|
||||
|
67
0009.patch
Normal file
67
0009.patch
Normal file
@ -0,0 +1,67 @@
|
||||
From 28401778c4c95b3750e73675dd4a4867303402d5 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Sekletar <msekleta@redhat.com>
|
||||
Date: Wed, 27 Sep 2017 13:27:42 +0200
|
||||
Subject: [PATCH] systemd: fix setting of timeouts for device units
|
||||
|
||||
JobRunningTimeoutSec now affects how long can start jobs for device
|
||||
units stay in the "running" state. Disabling default job timeout via
|
||||
JobTimeoutSec=0 doesn't disable running state timeout. We need to set
|
||||
running state timeout as well.
|
||||
|
||||
Note that doing this the other way around has effect on generic timeout,
|
||||
i.e. disabling running state timeout disables generic timeout. But doing
|
||||
it this way we would create implicit dependency on fairly new
|
||||
systemd-234. However, by setting both options we don't create dependency
|
||||
on specific systemd version.
|
||||
---
|
||||
modules.d/90dmsquash-live/dmsquash-generator.sh | 1 +
|
||||
modules.d/90livenet/livenet-generator.sh | 1 +
|
||||
modules.d/98dracut-systemd/rootfs-generator.sh | 1 +
|
||||
modules.d/99base/dracut-lib.sh | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
|
||||
index a5bfbdf2..d47cf14a 100755
|
||||
--- a/modules.d/90dmsquash-live/dmsquash-generator.sh
|
||||
+++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
|
||||
@@ -78,4 +78,5 @@ mkdir -p "$GENERATOR_DIR/$_dev.device.d"
|
||||
{
|
||||
echo "[Unit]"
|
||||
echo "JobTimeoutSec=3000"
|
||||
+ echo "JobRunningTimeoutSec=3000"
|
||||
} > "$GENERATOR_DIR/$_dev.device.d/timeout.conf"
|
||||
diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh
|
||||
index 969ef4f2..a349cd0b 100755
|
||||
--- a/modules.d/90livenet/livenet-generator.sh
|
||||
+++ b/modules.d/90livenet/livenet-generator.sh
|
||||
@@ -57,4 +57,5 @@ mkdir -p "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d"
|
||||
{
|
||||
echo "[Unit]"
|
||||
echo "JobTimeoutSec=3000"
|
||||
+ echo "JobRunningTimeoutSec=3000"
|
||||
} > "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d/timeout.conf"
|
||||
diff --git a/modules.d/98dracut-systemd/rootfs-generator.sh b/modules.d/98dracut-systemd/rootfs-generator.sh
|
||||
index eada3d15..4ae693bb 100755
|
||||
--- a/modules.d/98dracut-systemd/rootfs-generator.sh
|
||||
+++ b/modules.d/98dracut-systemd/rootfs-generator.sh
|
||||
@@ -32,6 +32,7 @@ generator_wait_for_dev()
|
||||
{
|
||||
echo "[Unit]"
|
||||
echo "JobTimeoutSec=$_timeout"
|
||||
+ echo "JobRunningTimeoutSec=$_timeout"
|
||||
} > "$GENERATOR_DIR"/${_name}.device.d/timeout.conf
|
||||
fi
|
||||
}
|
||||
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
||||
index 80385456..675abf22 100755
|
||||
--- a/modules.d/99base/dracut-lib.sh
|
||||
+++ b/modules.d/99base/dracut-lib.sh
|
||||
@@ -938,6 +938,7 @@ set_systemd_timeout_for_dev()
|
||||
{
|
||||
echo "[Unit]"
|
||||
echo "JobTimeoutSec=$_timeout"
|
||||
+ echo "JobRunningTimeoutSec=$_timeout"
|
||||
} > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
|
||||
type mark_hostonly >/dev/null 2>&1 && mark_hostonly /etc/systemd/system/${_name}.device.d/timeout.conf
|
||||
_needreload=1
|
||||
|
24
0010.patch
Normal file
24
0010.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 32618b456e4ba4b02e595eae067ec77df526ab9b Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Mon, 9 Oct 2017 09:38:37 +0200
|
||||
Subject: [PATCH] Merge pull request #277 from imran1008/bond-master-mtu
|
||||
|
||||
Set MTU on bond master as opposed to a bond slave
|
||||
---
|
||||
modules.d/40network/ifup.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
|
||||
index 687b5707..0db3c021 100755
|
||||
--- a/modules.d/40network/ifup.sh
|
||||
+++ b/modules.d/40network/ifup.sh
|
||||
@@ -257,7 +257,7 @@ if [ -z "$NO_BOND_MASTER" ]; then
|
||||
done
|
||||
|
||||
# Set mtu on bond master
|
||||
- [ -n "$bondmtu" ] && ip link set mtu $bondmtu dev $netif
|
||||
+ [ -n "$bondmtu" ] && ip link set mtu $bondmtu dev $bondname
|
||||
|
||||
# add the bits to setup the needed post enslavement parameters
|
||||
for arg in $bondoptions ; do
|
||||
|
180
0011.patch
Normal file
180
0011.patch
Normal file
@ -0,0 +1,180 @@
|
||||
From 7c9e64272ef250a4b8804beaba24a3da7c157ca4 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Mon, 9 Oct 2017 11:39:10 +0200
|
||||
Subject: [PATCH] Merge pull request #280 from tpgxyz/zstd
|
||||
|
||||
add support for Zstandard
|
||||
---
|
||||
dracut-bash-completion.sh | 2 +-
|
||||
dracut-initramfs-restore.sh | 2 ++
|
||||
dracut.8.asc | 8 ++++++++
|
||||
dracut.conf.5.asc | 2 +-
|
||||
dracut.sh | 10 +++++++++-
|
||||
lsinitrd.sh | 3 +++
|
||||
modules.d/99img-lib/img-lib.sh | 5 +++--
|
||||
modules.d/99img-lib/module-setup.sh | 2 +-
|
||||
8 files changed, 28 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/dracut-bash-completion.sh b/dracut-bash-completion.sh
|
||||
index 09330a67..9e5806cc 100644
|
||||
--- a/dracut-bash-completion.sh
|
||||
+++ b/dracut-bash-completion.sh
|
||||
@@ -29,7 +29,7 @@ _dracut() {
|
||||
--hardlink --nohardlink --noprefix --mdadmconf --nomdadmconf
|
||||
--lvmconf --nolvmconf --debug --profile --verbose --quiet
|
||||
--local --hostonly --no-hostonly --fstab --help --bzip2 --lzma
|
||||
- --xz --no-compress --gzip --list-modules --show-modules --keep
|
||||
+ --xz --zstd --no-compress --gzip --list-modules --show-modules --keep
|
||||
--printsize --regenerate-all --noimageifnotneeded --early-microcode
|
||||
--no-early-microcode --print-cmdline --prelink --noprelink --reproducible
|
||||
--uefi
|
||||
diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
|
||||
index 0c41a59c..94794804 100644
|
||||
--- a/dracut-initramfs-restore.sh
|
||||
+++ b/dracut-initramfs-restore.sh
|
||||
@@ -31,6 +31,8 @@ elif $SKIP "$IMG" | xzcat | cpio -id --no-absolute-filenames --quiet >/dev/null;
|
||||
rm -f -- .need_shutdown
|
||||
elif $SKIP "$IMG" | lz4 -d -c | cpio -id --no-absolute-filenames --quiet >/dev/null; then
|
||||
rm -f -- .need_shutdown
|
||||
+elif $SKIP "$IMG" | zstd -d -c | cpio -id --no-absolute-filenames --quiet >/dev/null; then
|
||||
+ rm -f -- .need_shutdown
|
||||
else
|
||||
# something failed, so we clean up
|
||||
echo "Unpacking of $IMG to /run/initramfs failed" >&2
|
||||
diff --git a/dracut.8.asc b/dracut.8.asc
|
||||
index 23c53cc4..64c0207f 100644
|
||||
--- a/dracut.8.asc
|
||||
+++ b/dracut.8.asc
|
||||
@@ -432,6 +432,14 @@ Make sure your kernel has lz4 decompression support compiled in, otherwise you
|
||||
will not be able to boot.
|
||||
====
|
||||
|
||||
+**--zstd**::
|
||||
+ Compress the generated initramfs using Zstandard.
|
||||
+[WARNING]
|
||||
+====
|
||||
+Make sure your kernel has zstd decompression support compiled in, otherwise you
|
||||
+will not be able to boot.
|
||||
+====
|
||||
+
|
||||
**--compress** _<compressor>_::
|
||||
Compress the generated initramfs using the passed compression program. If
|
||||
you pass it just the name of a compression program, it will call that
|
||||
diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc
|
||||
index 907a2fd4..6e8f3eba 100644
|
||||
--- a/dracut.conf.5.asc
|
||||
+++ b/dracut.conf.5.asc
|
||||
@@ -79,7 +79,7 @@ Configuration files must have the extension .conf; other extensions are ignored.
|
||||
Specify additional files to include in the initramfs, separated by spaces,
|
||||
if they exist.
|
||||
|
||||
-*compress=*"__{bzip2|lzma|xz|gzip|lzo|lz4|<compressor [args ...]>}__"::
|
||||
+*compress=*"__{bzip2|lzma|xz|gzip|lzo|lz4|zstd|<compressor [args ...]>}__"::
|
||||
Compress the generated initramfs using the passed compression program. If
|
||||
you pass it just the name of a compression program, it will call that
|
||||
program with known-working arguments. If you pass arguments, it will be called
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 06127ca4..5ad0f464 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -197,6 +197,9 @@ Creates initial ramdisk images for preloading modules
|
||||
--lz4 Compress the generated initramfs using lz4.
|
||||
Make sure that your kernel has lz4 support compiled
|
||||
in, otherwise you will not be able to boot.
|
||||
+ --zstd Compress the generated initramfs using Zstandard.
|
||||
+ Make sure that your kernel has zstd support compiled
|
||||
+ in, otherwise you will not be able to boot.
|
||||
--compress [COMPRESSION] Compress the generated initramfs with the
|
||||
passed compression program. Make sure your kernel
|
||||
knows how to decompress the generated initramfs,
|
||||
@@ -358,6 +361,7 @@ rearrange_params()
|
||||
--long xz \
|
||||
--long lzo \
|
||||
--long lz4 \
|
||||
+ --long zstd \
|
||||
--long no-compress \
|
||||
--long gzip \
|
||||
--long list-modules \
|
||||
@@ -557,6 +561,7 @@ while :; do
|
||||
--xz) compress_l="xz";;
|
||||
--lzo) compress_l="lzo";;
|
||||
--lz4) compress_l="lz4";;
|
||||
+ --zstd) compress_l="zstd";;
|
||||
--no-compress) _no_compress_l="cat";;
|
||||
--gzip) compress_l="gzip";;
|
||||
--list-modules) do_list="yes";;
|
||||
@@ -797,7 +802,7 @@ fi
|
||||
|
||||
if ! [[ $compress ]]; then
|
||||
# check all known compressors, if none specified
|
||||
- for i in pigz gzip lz4 lzop lzma xz lbzip2 bzip2 cat; do
|
||||
+ for i in pigz gzip lz4 lzop zstd lzma xz lbzip2 bzip2 cat; do
|
||||
command -v "$i" &>/dev/null || continue
|
||||
compress="$i"
|
||||
break
|
||||
@@ -837,6 +842,9 @@ case $compress in
|
||||
lz4)
|
||||
compress="lz4 -l -9"
|
||||
;;
|
||||
+ zstd)
|
||||
+ compress="zstd -15 -q -T0"
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
[[ $hostonly = yes ]] && hostonly="-h"
|
||||
diff --git a/lsinitrd.sh b/lsinitrd.sh
|
||||
index b19a66a0..f4088453 100755
|
||||
--- a/lsinitrd.sh
|
||||
+++ b/lsinitrd.sh
|
||||
@@ -219,6 +219,9 @@ case $bin in
|
||||
$'\x89'LZO$'\0'*)
|
||||
CAT="lzop -d -c"
|
||||
;;
|
||||
+ $'0xFD2FB528'*)
|
||||
+ CAT="zstd -d -c"
|
||||
+ ;;
|
||||
*)
|
||||
if echo "test"|xz|xzcat --single-stream >/dev/null 2>&1; then
|
||||
CAT="xzcat --single-stream --"
|
||||
diff --git a/modules.d/99img-lib/img-lib.sh b/modules.d/99img-lib/img-lib.sh
|
||||
index 48e56ce7..43785812 100755
|
||||
--- a/modules.d/99img-lib/img-lib.sh
|
||||
+++ b/modules.d/99img-lib/img-lib.sh
|
||||
@@ -8,12 +8,13 @@
|
||||
# works with stdin if $1 is not set.
|
||||
det_archive() {
|
||||
# NOTE: echo -e works in ash and bash, but not dash
|
||||
- local bz="BZh" xz="$(echo -e '\xfd7zXZ')" gz="$(echo -e '\x1f\x8b')"
|
||||
+ local bz="BZh" xz="$(echo -e '\xfd7zXZ')" gz="$(echo -e '\x1f\x8b')" zs="$(echo -e '0xFD2FB528')"
|
||||
local headerblock="$(dd ${1:+if=$1} bs=262 count=1 2>/dev/null)"
|
||||
case "$headerblock" in
|
||||
$xz*) echo "xz" ;;
|
||||
$gz*) echo "gzip" ;;
|
||||
$bz*) echo "bzip2" ;;
|
||||
+ $zs*) echo "zstd" ;;
|
||||
07070*) echo "cpio" ;;
|
||||
*ustar) echo "tar" ;;
|
||||
esac
|
||||
@@ -33,7 +34,7 @@ unpack_archive() {
|
||||
local img="$1" outdir="$2" archiver="" decompr=""
|
||||
local ft="$(det_archive $img)"
|
||||
case "$ft" in
|
||||
- xz|gzip|bzip2) decompr="$ft -dc" ;;
|
||||
+ xz|gzip|bzip2|zstd) decompr="$ft -dc" ;;
|
||||
cpio|tar) decompr="cat";;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
|
||||
index 69346b2f..fe1eca1a 100755
|
||||
--- a/modules.d/99img-lib/module-setup.sh
|
||||
+++ b/modules.d/99img-lib/module-setup.sh
|
||||
@@ -16,7 +16,7 @@ depends() {
|
||||
install() {
|
||||
inst_multiple tar gzip dd bash
|
||||
# TODO: make this conditional on a cmdline flag / config option
|
||||
- inst_multiple -o cpio xz bzip2
|
||||
+ inst_multiple -o cpio xz bzip2 zstd
|
||||
inst_simple "$moddir/img-lib.sh" "/lib/img-lib.sh"
|
||||
}
|
||||
|
||||
|
52
0012.patch
Normal file
52
0012.patch
Normal file
@ -0,0 +1,52 @@
|
||||
From bada26263c36a8be07aece7e9f4986ee31e4d97f Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Mon, 9 Oct 2017 11:47:08 +0200
|
||||
Subject: [PATCH] Merge pull request #287 from xlpang/master
|
||||
|
||||
fcoe: handle CNAs with DCB firmware support
|
||||
---
|
||||
modules.d/95fcoe/module-setup.sh | 26 ++++++++++++++++++++------
|
||||
1 file changed, 20 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
|
||||
index e14a0ebb..eabb21c7 100755
|
||||
--- a/modules.d/95fcoe/module-setup.sh
|
||||
+++ b/modules.d/95fcoe/module-setup.sh
|
||||
@@ -51,16 +51,30 @@ cmdline() {
|
||||
read mac < ${i}/address
|
||||
s=$(dcbtool gc ${i##*/} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
|
||||
if [ -z "$s" ] ; then
|
||||
- p=$(get_vlan_parent ${i})
|
||||
- if [ "$p" ] ; then
|
||||
- s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
|
||||
- fi
|
||||
+ p=$(get_vlan_parent ${i})
|
||||
+ if [ "$p" ] ; then
|
||||
+ s=$(dcbtool gc ${p} dcb | sed -n 's/^DCB State:\t*\(.*\)/\1/p')
|
||||
+ fi
|
||||
fi
|
||||
if [ "$s" = "on" ] ; then
|
||||
- dcb="dcb"
|
||||
+ dcb="dcb"
|
||||
else
|
||||
- dcb="nodcb"
|
||||
+ dcb="nodcb"
|
||||
fi
|
||||
+
|
||||
+ # Some Combined Network Adapters(CNAs) implement DCB in firmware.
|
||||
+ # Do not run software-based DCB or LLDP on CNAs that implement DCB.
|
||||
+ # If the network interface provides hardware DCB/DCBX capabilities,
|
||||
+ # DCB_REQUIRED in "/etc/fcoe/cfg-xxx" is expected to set to "no".
|
||||
+ #
|
||||
+ # Force "nodcb" if there's any DCB_REQUIRED="no"(child or vlan parent).
|
||||
+ grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${i##*/} &>/dev/null
|
||||
+ [ $? -eq 0 ] && dcb="nodcb"
|
||||
+ if [ "$p" ] ; then
|
||||
+ grep -q "^[[:blank:]]*DCB_REQUIRED=\"no\"" /etc/fcoe/cfg-${p} &>/dev/null
|
||||
+ [ $? -eq 0 ] && dcb="nodcb"
|
||||
+ fi
|
||||
+
|
||||
echo "fcoe=${mac}:${dcb}"
|
||||
done
|
||||
}
|
||||
|
172
0013.patch
Normal file
172
0013.patch
Normal file
@ -0,0 +1,172 @@
|
||||
From bf5c53a33f36d15a87297d4492624d137c3cd9fa Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Mon, 9 Oct 2017 12:51:29 +0200
|
||||
Subject: [PATCH] Merge pull request #290 from privb0x23/luks-detached
|
||||
|
||||
Add basic LUKS detached header support
|
||||
---
|
||||
modules.d/90crypt/cryptroot-ask.sh | 20 ++++++++++++++++-
|
||||
modules.d/90crypt/module-setup.sh | 46 ++++++++++++++++++++++++++++++--------
|
||||
modules.d/90crypt/parse-crypt.sh | 33 ++++++++++++++++++++++++++-
|
||||
3 files changed, 88 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/modules.d/90crypt/cryptroot-ask.sh b/modules.d/90crypt/cryptroot-ask.sh
|
||||
index 5b513638..9f635eb3 100755
|
||||
--- a/modules.d/90crypt/cryptroot-ask.sh
|
||||
+++ b/modules.d/90crypt/cryptroot-ask.sh
|
||||
@@ -29,13 +29,27 @@ if [ -f /etc/crypttab ] && getargbool 1 rd.luks.crypttab -d -n rd_NO_CRYPTTAB; t
|
||||
continue
|
||||
fi
|
||||
|
||||
+ # PARTUUID used in crypttab
|
||||
+ if [ "${dev%%=*}" = "PARTUUID" ]; then
|
||||
+ if [ "luks-${dev##PARTUUID=}" = "$luksname" ]; then
|
||||
+ luksname="$name"
|
||||
+ break
|
||||
+ fi
|
||||
+
|
||||
# UUID used in crypttab
|
||||
- if [ "${dev%%=*}" = "UUID" ]; then
|
||||
+ elif [ "${dev%%=*}" = "UUID" ]; then
|
||||
if [ "luks-${dev##UUID=}" = "$luksname" ]; then
|
||||
luksname="$name"
|
||||
break
|
||||
fi
|
||||
|
||||
+ # ID used in crypttab
|
||||
+ elif [ "${dev%%=*}" = "ID" ]; then
|
||||
+ if [ "luks-${dev##ID=}" = "$luksname" ]; then
|
||||
+ luksname="$name"
|
||||
+ break
|
||||
+ fi
|
||||
+
|
||||
# path used in crypttab
|
||||
else
|
||||
cdev=$(readlink -f $dev)
|
||||
@@ -88,6 +102,10 @@ while [ $# -gt 0 ]; do
|
||||
;;
|
||||
allow-discards)
|
||||
allowdiscards="--allow-discards"
|
||||
+ ;;
|
||||
+ header=*)
|
||||
+ cryptsetupopts="${cryptsetupopts} --${1}"
|
||||
+ ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
|
||||
index 9c1be998..69aceaab 100755
|
||||
--- a/modules.d/90crypt/module-setup.sh
|
||||
+++ b/modules.d/90crypt/module-setup.sh
|
||||
@@ -68,22 +68,50 @@ install() {
|
||||
|
||||
if [[ $hostonly ]] && [[ -f /etc/crypttab ]]; then
|
||||
# filter /etc/crypttab for the devices we need
|
||||
- while read _mapper _dev _rest || [ -n "$_mapper" ]; do
|
||||
+ while read _mapper _dev _luksfile _luksoptions || [ -n "$_mapper" ]; do
|
||||
[[ $_mapper = \#* ]] && continue
|
||||
[[ $_dev ]] || continue
|
||||
|
||||
+ [[ $_dev == PARTUUID=* ]] && \
|
||||
+ _dev="/dev/disk/by-partuuid/${_dev#PARTUUID=}"
|
||||
+
|
||||
[[ $_dev == UUID=* ]] && \
|
||||
_dev="/dev/disk/by-uuid/${_dev#UUID=}"
|
||||
|
||||
- echo "$_dev $(blkid $_dev -s UUID -o value)" > /usr/lib/dracut/modules.d/90crypt/block_uuid.map
|
||||
-
|
||||
- for _hdev in "${!host_fs_types[@]}"; do
|
||||
- [[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue
|
||||
- if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then
|
||||
- echo "$_mapper $_dev $_rest"
|
||||
- break
|
||||
- fi
|
||||
+ [[ $_dev == ID=* ]] && \
|
||||
+ _dev="/dev/disk/by-id/${_dev#ID=}"
|
||||
+
|
||||
+ echo "$_dev $(blkid $_dev -s UUID -o value)" >> /usr/lib/dracut/modules.d/90crypt/block_uuid.map
|
||||
+
|
||||
+ # loop through the options to check for the force option
|
||||
+ luksoptions=${_luksoptions}
|
||||
+ OLD_IFS="${IFS}"
|
||||
+ IFS=,
|
||||
+ set -- ${luksoptions}
|
||||
+ IFS="${OLD_IFS}"
|
||||
+
|
||||
+ while [ $# -gt 0 ]; do
|
||||
+ case $1 in
|
||||
+ force)
|
||||
+ forceentry="yes"
|
||||
+ break
|
||||
+ ;;
|
||||
+ esac
|
||||
+ shift
|
||||
done
|
||||
+
|
||||
+ # include the entry regardless
|
||||
+ if [ "${forceentry}" = "yes" ]; then
|
||||
+ echo "$_mapper $_dev $_luksfile $_luksoptions"
|
||||
+ else
|
||||
+ for _hdev in "${!host_fs_types[@]}"; do
|
||||
+ [[ ${host_fs_types[$_hdev]} == "crypto_LUKS" ]] || continue
|
||||
+ if [[ $_hdev -ef $_dev ]] || [[ /dev/block/$_hdev -ef $_dev ]]; then
|
||||
+ echo "$_mapper $_dev $_luksfile $_luksoptions"
|
||||
+ break
|
||||
+ fi
|
||||
+ done
|
||||
+ fi
|
||||
done < /etc/crypttab > $initdir/etc/crypttab
|
||||
mark_hostonly /etc/crypttab
|
||||
fi
|
||||
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
|
||||
index 8a0db02b..f0a4fba9 100755
|
||||
--- a/modules.d/90crypt/parse-crypt.sh
|
||||
+++ b/modules.d/90crypt/parse-crypt.sh
|
||||
@@ -35,6 +35,7 @@ else
|
||||
echo 'ACTION!="add|change", GOTO="luks_end"'
|
||||
} > /etc/udev/rules.d/70-luks.rules.new
|
||||
|
||||
+ SERIAL=$(getargs rd.luks.serial -d rd_LUKS_SERIAL)
|
||||
LUKS=$(getargs rd.luks.uuid -d rd_LUKS_UUID)
|
||||
tout=$(getarg rd.luks.key.tout)
|
||||
|
||||
@@ -44,7 +45,37 @@ else
|
||||
done < /etc/crypttab
|
||||
fi
|
||||
|
||||
- if [ -n "$LUKS" ]; then
|
||||
+ if [ -n "$SERIAL" ]; then
|
||||
+ for serialid in $SERIAL; do
|
||||
+
|
||||
+ serialid=${serialid##luks-}
|
||||
+ if luksname=$(_cryptgetargsname "rd.luks.name=$serialid="); then
|
||||
+ luksname="${luksname#$serialid=}"
|
||||
+ else
|
||||
+ luksname="luks-$serialid"
|
||||
+ fi
|
||||
+
|
||||
+ if [ -z "$DRACUT_SYSTEMD" ]; then
|
||||
+ {
|
||||
+ printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
|
||||
+ printf -- 'RUN+="%s --settled --unique --onetime ' "$(command -v initqueue)"
|
||||
+ printf -- '--name cryptroot-ask-%%k %s ' "$(command -v cryptroot-ask)"
|
||||
+ printf -- '$env{DEVNAME} %s %s"\n' "$luksname" "$tout"
|
||||
+ } >> /etc/udev/rules.d/70-luks.rules.new
|
||||
+ else
|
||||
+ luksname=$(dev_unit_name "$luksname")
|
||||
+ if ! crypttab_contains "$serialid"; then
|
||||
+ {
|
||||
+ printf -- 'ENV{ID_SERIAL_SHORT}=="*%s*", ' "$serialid"
|
||||
+ printf -- 'RUN+="%s --settled --unique --onetime ' "$(command -v initqueue)"
|
||||
+ printf -- '--name systemd-cryptsetup-%%k %s start ' "$(command -v systemctl)"
|
||||
+ printf -- 'systemd-cryptsetup@%s.service"\n' "$luksname"
|
||||
+ } >> /etc/udev/rules.d/70-luks.rules.new
|
||||
+ fi
|
||||
+ fi
|
||||
+ done
|
||||
+
|
||||
+ elif [ -n "$LUKS" ]; then
|
||||
for luksid in $LUKS; do
|
||||
|
||||
luksid=${luksid##luks-}
|
||||
|
37
0014.patch
Normal file
37
0014.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 0d947530b2b8928b5b2040c2e56cb966a5ea941f Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Mon, 9 Oct 2017 12:50:25 +0200
|
||||
Subject: [PATCH] TEST-70: sort interfaces for validation
|
||||
|
||||
---
|
||||
test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh | 2 +-
|
||||
test/TEST-70-BONDBRIDGETEAMVLAN/test.sh | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh
|
||||
index 2018393b..8c33ff0f 100755
|
||||
--- a/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh
|
||||
+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/client-init.sh
|
||||
@@ -10,7 +10,7 @@ echo "made it to the rootfs! Powering down."
|
||||
|
||||
(
|
||||
echo OK
|
||||
- ip -o -4 address show scope global | while read n if rest; do echo $if;done
|
||||
+ ip -o -4 address show scope global | while read n if rest; do echo $if;done | sort
|
||||
for i in /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-*; do
|
||||
echo $i
|
||||
grep -v 'UUID=' $i
|
||||
diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
|
||||
index 6b4e10df..277bbd01 100755
|
||||
--- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
|
||||
+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
|
||||
@@ -235,7 +235,7 @@ test_setup() {
|
||||
export initdir="$TESTDIR"/mnt/nfs/client
|
||||
. "$basedir"/dracut-init.sh
|
||||
inst_multiple sh shutdown poweroff stty cat ps ln ip \
|
||||
- mount dmesg mkdir cp ping grep ls
|
||||
+ mount dmesg mkdir cp ping grep ls sort
|
||||
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
|
||||
[[ -f ${_terminfodir}/l/linux ]] && break
|
||||
done
|
||||
|
33
0015.patch
Normal file
33
0015.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 4e3833f6a28c52dc4c1d4e8dd24d419af10c4dc6 Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@hoyer.xyz>
|
||||
Date: Mon, 9 Oct 2017 12:59:29 +0200
|
||||
Subject: [PATCH] Merge pull request #285 from rldleblanc/fix-typos
|
||||
|
||||
Fix a couple of typos.
|
||||
---
|
||||
modules.d/40network/parse-bond.sh | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/modules.d/40network/parse-bond.sh b/modules.d/40network/parse-bond.sh
|
||||
index 48e548b9..c35c81d6 100755
|
||||
--- a/modules.d/40network/parse-bond.sh
|
||||
+++ b/modules.d/40network/parse-bond.sh
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Format:
|
||||
-# bond=<bondname>[:<bondslaves>:[:<options>[:<mtu>]]]
|
||||
+# bond=<bondname>[:<bondslaves>[:<options>[:<mtu>]]]
|
||||
#
|
||||
# bondslaves is a comma-separated list of physical (ethernet) interfaces
|
||||
# options is a comma-separated list on bonding options (modinfo bonding for details) in format compatible with initscripts
|
||||
@@ -12,7 +12,7 @@
|
||||
# if the mtu is specified, it will be set on the bond master
|
||||
#
|
||||
|
||||
-# We translate list of slaves to space-separated here to mwke it easier to loop over them in ifup
|
||||
+# We translate list of slaves to space-separated here to make it easier to loop over them in ifup
|
||||
# Ditto for bonding options
|
||||
parsebond() {
|
||||
local v=${1}:
|
||||
|
69
0017.patch
Normal file
69
0017.patch
Normal file
@ -0,0 +1,69 @@
|
||||
From 4c2d98c75b0dd3dad45430becb78c9d40bc6be1b Mon Sep 17 00:00:00 2001
|
||||
From: Martin Wilck <mwilck@suse.com>
|
||||
Date: Mon, 9 Oct 2017 14:39:12 +0200
|
||||
Subject: [PATCH] emergency.service: use Type=idle
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Type=oneshot, as currently set in dracut's emergency service file,
|
||||
causes an awkward situation if emergency mode is entered e.g. because
|
||||
of a root device timeout, and the root device appears later because it
|
||||
just has taken longer than the timeout. In that situation, my
|
||||
expectation (backed by past positive experience) is that the user should
|
||||
be able to simply exit the emergency shell and resume normal boot.
|
||||
|
||||
:/# systemctl status sysroot.mount
|
||||
● sysroot.mount - /sysroot
|
||||
Loaded: loaded (/proc/cmdline; bad; vendor preset: enabled)
|
||||
Active: active (mounted) since Mon 2017-10-09 14:32:15 CEST; 16s ago
|
||||
Where: /sysroot
|
||||
What: /dev/mapper/3600601600a30200024fbbaf3f500e411-part5
|
||||
Docs: man:fstab(5)
|
||||
man:systemd-fstab-generator(8)
|
||||
Process: 1873 ExecMount=/usr/bin/mount /dev/disk/by-uuid/63751805-6abc-46a3-a66f-427920dece4d /sysroot -o ro (code=exited, status=0/SUCCESS)
|
||||
Tasks: 0 (limit: 512)
|
||||
|
||||
:/# systemctl list-jobs
|
||||
JOB UNIT TYPE STATE
|
||||
56 emergency.target start waiting
|
||||
57 emergency.service start running
|
||||
|
||||
2 jobs listed.
|
||||
:/# exit
|
||||
logout
|
||||
Failed to start default.target: Transaction is destructive.
|
||||
|
||||
(system keeps idling from this point on, user has no chance to
|
||||
do anything).
|
||||
|
||||
This results from the combination of two effects:
|
||||
1) initrd-root-fs.target sets "OnFailureJobMode=replace-irreversibly",
|
||||
2) emergency.service's Type=oneshot causes the start jobs for both
|
||||
emergency.service and emergency.target to persist while the user is in
|
||||
the emergency shell.
|
||||
|
||||
When the shell is exited, systemd tries to isolate "initrd.target"
|
||||
again, but this fails with "the transaction is destructive" error
|
||||
because of the still pending jobs.
|
||||
|
||||
This patch fixes this by changing the Type of "emergency.service" from
|
||||
"oneshot" to "idle".
|
||||
---
|
||||
modules.d/98dracut-systemd/emergency.service | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules.d/98dracut-systemd/emergency.service b/modules.d/98dracut-systemd/emergency.service
|
||||
index 288aac39..100146a3 100644
|
||||
--- a/modules.d/98dracut-systemd/emergency.service
|
||||
+++ b/modules.d/98dracut-systemd/emergency.service
|
||||
@@ -17,7 +17,7 @@ Environment=NEWROOT=/sysroot
|
||||
WorkingDirectory=/
|
||||
ExecStart=/bin/dracut-emergency
|
||||
ExecStopPost=-/usr/bin/systemctl --fail --no-block default
|
||||
-Type=oneshot
|
||||
+Type=idle
|
||||
StandardInput=tty-force
|
||||
StandardOutput=inherit
|
||||
StandardError=inherit
|
||||
|
39
0018.patch
Normal file
39
0018.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From 8c2aa6161a2435f2af7e7df3a36125e85af0f0ec Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Mon, 9 Oct 2017 17:40:04 +0200
|
||||
Subject: [PATCH] git2spec.pl: handle empty merge commits
|
||||
|
||||
---
|
||||
git2spec.pl | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/git2spec.pl b/git2spec.pl
|
||||
index 0c5f3b9e..7853791e 100755
|
||||
--- a/git2spec.pl
|
||||
+++ b/git2spec.pl
|
||||
@@ -5,6 +5,8 @@ sub create_patches {
|
||||
my $pdir=shift;
|
||||
my $n=1;
|
||||
my @lines;
|
||||
+ my $fname;
|
||||
+ my $f=0;
|
||||
|
||||
mkdir $pdir, 0755;
|
||||
|
||||
@@ -12,9 +14,13 @@ sub create_patches {
|
||||
|
||||
while (<GIT>) {
|
||||
if (/^From [a-z0-9]{40} .*$/) {
|
||||
- my $fname = sprintf("%04d", $n++).".patch";
|
||||
- push @lines, $fname;
|
||||
+ $fname = sprintf("%04d", $n++).".patch";
|
||||
open FH, ">".$pdir."/".$fname;
|
||||
+ $f=1;
|
||||
+ }
|
||||
+ if (/^---$/ && $f == 1) {
|
||||
+ push @lines, $fname;
|
||||
+ $f=0;
|
||||
}
|
||||
print FH;
|
||||
}
|
||||
|
26
0019.patch
Normal file
26
0019.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 791d80168994f4784569c8ea47b7bff554102f5e Mon Sep 17 00:00:00 2001
|
||||
From: Harald Hoyer <harald@redhat.com>
|
||||
Date: Tue, 10 Oct 2017 10:30:44 +0200
|
||||
Subject: [PATCH] dracut.sh: if /boot/vmlinuz-$version exists use /boot/ as
|
||||
output dir
|
||||
|
||||
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1475565
|
||||
---
|
||||
dracut.sh | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dracut.sh b/dracut.sh
|
||||
index 5ad0f464..995d983e 100755
|
||||
--- a/dracut.sh
|
||||
+++ b/dracut.sh
|
||||
@@ -773,7 +773,9 @@ if ! [[ $outfile ]]; then
|
||||
mkdir -p "$efidir/Linux"
|
||||
outfile="$efidir/Linux/linux-$kernel${MACHINE_ID:+-${MACHINE_ID}}${BUILD_ID:+-${BUILD_ID}}.efi"
|
||||
else
|
||||
- if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
|
||||
+ if [[ -e "/boot/vmlinuz-$kernel" ]]; then
|
||||
+ outfile="/boot/initramfs-$kernel.img"
|
||||
+ elif [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
|
||||
outfile="/boot/${MACHINE_ID}/$kernel/initrd"
|
||||
else
|
||||
outfile="/boot/initramfs-$kernel.img"
|
17
dracut.spec
17
dracut.spec
@ -14,7 +14,7 @@
|
||||
%define with_nbd 0
|
||||
%endif
|
||||
|
||||
%define dist_free_release 7.git20170824
|
||||
%define dist_free_release 19.git20171010
|
||||
|
||||
Name: dracut
|
||||
Version: 046
|
||||
@ -43,6 +43,18 @@ Patch3: 0003.patch
|
||||
Patch4: 0004.patch
|
||||
Patch5: 0005.patch
|
||||
Patch6: 0006.patch
|
||||
Patch7: 0007.patch
|
||||
Patch8: 0008.patch
|
||||
Patch9: 0009.patch
|
||||
Patch10: 0010.patch
|
||||
Patch11: 0011.patch
|
||||
Patch12: 0012.patch
|
||||
Patch13: 0013.patch
|
||||
Patch14: 0014.patch
|
||||
Patch15: 0015.patch
|
||||
Patch16: 0017.patch
|
||||
Patch17: 0018.patch
|
||||
Patch18: 0019.patch
|
||||
|
||||
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
|
||||
|
||||
@ -522,6 +534,9 @@ rm -rf -- $RPM_BUILD_ROOT
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Oct 10 2017 Harald Hoyer <harald@redhat.com> - 046-19
|
||||
- git snapshot
|
||||
|
||||
* Thu Aug 24 2017 Harald Hoyer <harald@redhat.com> - 046-7
|
||||
- git snapshot
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user