dracut-018-1
This commit is contained in:
parent
f676c2ad02
commit
1a09cd0408
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@
|
|||||||
/dracut-015.tar.bz2
|
/dracut-015.tar.bz2
|
||||||
/dracut-016.tar.bz2
|
/dracut-016.tar.bz2
|
||||||
/dracut-017.tar.bz2
|
/dracut-017.tar.bz2
|
||||||
|
/dracut-018.tar.bz2
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
From 25b36ef1247499b501a52a75764ebe9fc5a6159c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:05:51 +0100
|
|
||||||
Subject: [PATCH] 99fs-lib/module-setup.sh: removed "touch"
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/99fs-lib/module-setup.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh
|
|
||||||
index 9c900cc..344dcdf 100755
|
|
||||||
--- a/modules.d/99fs-lib/module-setup.sh
|
|
||||||
+++ b/modules.d/99fs-lib/module-setup.sh
|
|
||||||
@@ -40,7 +40,7 @@ install() {
|
|
||||||
local _helpers
|
|
||||||
|
|
||||||
inst "$moddir/fs-lib.sh" "/lib/fs-lib.sh"
|
|
||||||
- touch ${initdir}/etc/fstab.empty
|
|
||||||
+ > ${initdir}/etc/fstab.empty
|
|
||||||
|
|
||||||
[[ "$nofscks" = "yes" ]] && return
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From 5e5f3d5e6c9d94996c9a28bf38f26a4d463c4dd4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:06:16 +0100
|
|
||||||
Subject: [PATCH] 95nfs/module-setup.sh: removed "egrep" and "ls" calls
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/95nfs/module-setup.sh | 6 +++++-
|
|
||||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
|
|
||||||
index 7aedb4d..7853783 100755
|
|
||||||
--- a/modules.d/95nfs/module-setup.sh
|
|
||||||
+++ b/modules.d/95nfs/module-setup.sh
|
|
||||||
@@ -54,7 +54,11 @@ install() {
|
|
||||||
_nsslibs=${_nsslibs#|}
|
|
||||||
_nsslibs=${_nsslibs%|}
|
|
||||||
|
|
||||||
- dracut_install $(for _i in $(ls {/usr,}$libdir/libnss*.so 2>/dev/null); do echo $_i;done | egrep "$_nsslibs")
|
|
||||||
+ for _i in {/usr,}$libdir/libnss*.so; do
|
|
||||||
+ [[ -e $_i ]] || continue
|
|
||||||
+ [[ "$_i" =~ $_nsslibs ]] || continue
|
|
||||||
+ dracut_install "$_i"
|
|
||||||
+ done
|
|
||||||
|
|
||||||
inst_hook cmdline 90 "$moddir/parse-nfsroot.sh"
|
|
||||||
inst_hook pre-udev 99 "$moddir/nfs-start-rpc.sh"
|
|
@ -1,22 +0,0 @@
|
|||||||
From b6f0dcbda13bfb242114d619b4574df2a4f426ae Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:06:38 +0100
|
|
||||||
Subject: [PATCH] 30convertfs/convertfs.sh: use hardlinks for inter-/usr cp
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/30convertfs/convertfs.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/30convertfs/convertfs.sh b/modules.d/30convertfs/convertfs.sh
|
|
||||||
index 69c3b3e..036ec51 100755
|
|
||||||
--- a/modules.d/30convertfs/convertfs.sh
|
|
||||||
+++ b/modules.d/30convertfs/convertfs.sh
|
|
||||||
@@ -106,7 +106,7 @@ for dir in bin sbin lib lib64; do
|
|
||||||
[[ -d "$ROOT/$dir" ]] || continue
|
|
||||||
echo "Make a copy of \`$ROOT/usr/$dir'."
|
|
||||||
[[ -d "$ROOT/usr/$dir" ]] \
|
|
||||||
- && cp -ax $CP_HARDLINK "$ROOT/usr/$dir" "$ROOT/usr/${dir}.usrmove-new"
|
|
||||||
+ && cp -ax -l "$ROOT/usr/$dir" "$ROOT/usr/${dir}.usrmove-new"
|
|
||||||
echo "Merge the copy with \`$ROOT/$dir'."
|
|
||||||
[[ -d "$ROOT/usr/${dir}.usrmove-new" ]] \
|
|
||||||
|| mkdir -p "$ROOT/usr/${dir}.usrmove-new"
|
|
@ -1,25 +0,0 @@
|
|||||||
From 07f3e4f1689545bd5817c785ee97a3f668239014 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:07:45 +0100
|
|
||||||
Subject: [PATCH] dracut-functions.sh: get_fs_env() replaced egrep with shell
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 5 ++++-
|
|
||||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index bb0c96f..9e9ee4e 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -168,7 +168,10 @@ get_fs_env() {
|
|
||||||
[[ $1 ]] || return
|
|
||||||
unset ID_FS_TYPE
|
|
||||||
unset ID_FS_UUID
|
|
||||||
- eval $(udevadm info --query=env --name=$1|egrep 'ID_FS_(TYPE|UUID)=')
|
|
||||||
+ eval $(udevadm info --query=env --name=$1 \
|
|
||||||
+ | while read line; do
|
|
||||||
+ [[ "$line" =~ 'ID_FS_(TYPE|UUID)=' ]] && echo $line;
|
|
||||||
+ done)
|
|
||||||
[[ $ID_FS_TYPE ]] && return
|
|
||||||
|
|
||||||
if [[ -x /lib/udev/vol_id ]]; then
|
|
@ -1,26 +0,0 @@
|
|||||||
From 86191581d125b1373532593371fde767a56728a0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:08:30 +0100
|
|
||||||
Subject: [PATCH] dracut-functions.sh: instmods(): replace egrep with shell
|
|
||||||
code
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index 9e9ee4e..81801e1 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -1167,9 +1167,10 @@ instmods() {
|
|
||||||
return $_ret
|
|
||||||
}
|
|
||||||
|
|
||||||
+ local _filter_not_found='FATAL: Module .* not found.'
|
|
||||||
# Capture all stderr from modprobe to _fderr. We could use {var}>...
|
|
||||||
# redirections, but that would make dracut require bash4 at least.
|
|
||||||
eval "( instmods_1 \"\$@\" ) ${_fderr}>&1" \
|
|
||||||
- | egrep -v 'FATAL: Module .* not found.' | derror
|
|
||||||
+ | while read line; do [[ "$line" =~ $_filter_not_found ]] || echo $line;done | derror
|
|
||||||
return $?
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
From edea870c3cade3a9f8836e75afa98587945908d2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:09:38 +0100
|
|
||||||
Subject: [PATCH] dracut-functions.sh: instmods() removed special case for
|
|
||||||
"=ata"
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 8 +-------
|
|
||||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index 81801e1..bd3203d 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -1103,13 +1103,7 @@ instmods() {
|
|
||||||
local _mod="$1"
|
|
||||||
case $_mod in
|
|
||||||
=*)
|
|
||||||
- # This introduces 2 incompatible meanings for =* arguments
|
|
||||||
- # to instmods. We need to decide which one to keep.
|
|
||||||
- if [[ $_mod = =ata && -f $srcmods/modules.block ]]; then
|
|
||||||
- ( [[ "$_mpargs" ]] && echo $_mpargs
|
|
||||||
- egrep 'ata|ahci' "${srcmods}/modules.block" ) \
|
|
||||||
- | instmods
|
|
||||||
- elif [ -f $srcmods/modules.${_mod#=} ]; then
|
|
||||||
+ if [ -f $srcmods/modules.${_mod#=} ]; then
|
|
||||||
( [[ "$_mpargs" ]] && echo $_mpargs
|
|
||||||
cat "${srcmods}/modules.${_mod#=}" ) \
|
|
||||||
| instmods
|
|
@ -1,25 +0,0 @@
|
|||||||
From 334cc2832770b71e5e6b6f245e5a24cced8eaac6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:10:07 +0100
|
|
||||||
Subject: [PATCH] dracut-functions.sh: instmods() print only filename instead
|
|
||||||
of fullpath
|
|
||||||
|
|
||||||
do not print the full path, when we use "find" for kernel modules, but
|
|
||||||
rather only the filename.
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index bd3203d..80714aa 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -1109,7 +1109,7 @@ instmods() {
|
|
||||||
| instmods
|
|
||||||
else
|
|
||||||
( [[ "$_mpargs" ]] && echo $_mpargs
|
|
||||||
- find "$srcmods" -path "*/${_mod#=}/*" ) \
|
|
||||||
+ find "$srcmods" -path "*/${_mod#=}/*" -printf '%f\n' ) \
|
|
||||||
| instmods
|
|
||||||
fi
|
|
||||||
;;
|
|
@ -1,74 +0,0 @@
|
|||||||
From 379c34d2cf29de3268bbbe83ec09f60b74340313 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:11:36 +0100
|
|
||||||
Subject: [PATCH] dracut.sh/dracut-functions.sh: use a marker-dir for kernel
|
|
||||||
modules
|
|
||||||
|
|
||||||
use "$initdir/.kernelmodseen" to mark kernel modules, which we already
|
|
||||||
handled with install_kmod_with_fw()
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 10 +++++++---
|
|
||||||
dracut.sh | 5 +++++
|
|
||||||
2 files changed, 12 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index 80714aa..c7337e9 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -974,9 +974,14 @@ for_each_module_dir() {
|
|
||||||
# $1 = full path to kernel module to install
|
|
||||||
install_kmod_with_fw() {
|
|
||||||
# no need to go further if the module is already installed
|
|
||||||
+
|
|
||||||
[[ -e "${initdir}/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" ]] \
|
|
||||||
&& return 0
|
|
||||||
|
|
||||||
+ [[ -e "$initdir/.kernelmodseen/${1##*/}" ]] && return 0
|
|
||||||
+
|
|
||||||
+ > "$initdir/.kernelmodseen/${1##*/}"
|
|
||||||
+
|
|
||||||
if [[ $omit_drivers ]]; then
|
|
||||||
local _kmod=${1##*/}
|
|
||||||
_kmod=${_kmod%.ko}
|
|
||||||
@@ -1116,16 +1121,15 @@ instmods() {
|
|
||||||
--*) _mpargs+=" $_mod" ;;
|
|
||||||
i2o_scsi) return ;; # Do not load this diagnostic-only module
|
|
||||||
*)
|
|
||||||
+ _mod=${_mod##*/}
|
|
||||||
# if we are already installed, skip this module and go on
|
|
||||||
# to the next one.
|
|
||||||
- [[ -f $initdir/$1 ]] && return
|
|
||||||
+ [[ -f "$initdir/.kernelmodseen/${_mod%.ko}.ko" ]] && return
|
|
||||||
|
|
||||||
if [[ $omit_drivers ]] && [[ "$1" =~ $omit_drivers ]]; then
|
|
||||||
dinfo "Omitting driver ${_mod##$srcmods}"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
-
|
|
||||||
- _mod=${_mod##*/}
|
|
||||||
# If we are building a host-specific initramfs and this
|
|
||||||
# module is not already loaded, move on to the next one.
|
|
||||||
[[ $hostonly ]] && ! grep -qe "\<${_mod//-/_}\>" /proc/modules \
|
|
||||||
diff --git a/dracut.sh b/dracut.sh
|
|
||||||
index e6c36d9..88691ae 100755
|
|
||||||
--- a/dracut.sh
|
|
||||||
+++ b/dracut.sh
|
|
||||||
@@ -676,6 +676,8 @@ if [[ $kernel_only != yes ]]; then
|
|
||||||
mkdir -p "${initdir}/etc/cmdline.d"
|
|
||||||
fi
|
|
||||||
|
|
||||||
+mkdir -p "$initdir/.kernelmodseen"
|
|
||||||
+
|
|
||||||
mods_to_load=""
|
|
||||||
# check all our modules to see if they should be sourced.
|
|
||||||
# This builds a list of modules that we will install next.
|
|
||||||
@@ -766,6 +768,9 @@ if [[ $kernel_only != yes ]]; then
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
+rm -fr "$initdir/.kernelmodseen"
|
|
||||||
+
|
|
||||||
+
|
|
||||||
if (($maxloglvl >= 5)); then
|
|
||||||
ddebug "Listing sizes of included files:"
|
|
||||||
du -c "$initdir" | sort -n | ddebug
|
|
@ -1,21 +0,0 @@
|
|||||||
From 7a5f1ee46a07e00d1687a0c2cd6c13319626f17d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:40:38 +0100
|
|
||||||
Subject: [PATCH] dracut.spec: require "hardlink"
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut.spec | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
|
||||||
index 1ec8b68..4102bb0 100644
|
|
||||||
--- a/dracut.spec
|
|
||||||
+++ b/dracut.spec
|
|
||||||
@@ -71,6 +71,7 @@ Requires: cpio
|
|
||||||
Requires: filesystem >= 2.1.0
|
|
||||||
Requires: findutils
|
|
||||||
Requires: grep
|
|
||||||
+Requires: hardlink
|
|
||||||
Requires: gzip
|
|
||||||
Requires: module-init-tools >= 3.7-9
|
|
||||||
Requires: sed
|
|
@ -1,22 +0,0 @@
|
|||||||
From ddd01008ff0b7b3daf5708ac32a6ccd0e843b3fc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 16:51:35 +0100
|
|
||||||
Subject: [PATCH] 95terminfo/module-setup.sh: no need to call "find"
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/95terminfo/module-setup.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/95terminfo/module-setup.sh b/modules.d/95terminfo/module-setup.sh
|
|
||||||
index aec3582..32a3fe9 100755
|
|
||||||
--- a/modules.d/95terminfo/module-setup.sh
|
|
||||||
+++ b/modules.d/95terminfo/module-setup.sh
|
|
||||||
@@ -10,7 +10,7 @@ install() {
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -d ${_terminfodir} ]; then
|
|
||||||
- for f in $(find ${_terminfodir} -type f); do
|
|
||||||
+ for f in ${_terminfodir}/*/*; do
|
|
||||||
inst_simple $f
|
|
||||||
done
|
|
||||||
fi
|
|
@ -1,24 +0,0 @@
|
|||||||
From cf38fc7389d4136d0f77d9709c87acc4283f6bd6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 17:18:51 +0100
|
|
||||||
Subject: [PATCH] 10i18n/module-setup.sh: optimize install of all kbd files
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/10i18n/module-setup.sh | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
|
|
||||||
index a5a3388..b4c19e1 100755
|
|
||||||
--- a/modules.d/10i18n/module-setup.sh
|
|
||||||
+++ b/modules.d/10i18n/module-setup.sh
|
|
||||||
@@ -92,8 +92,8 @@ install() {
|
|
||||||
install_all_kbd() {
|
|
||||||
local rel f
|
|
||||||
|
|
||||||
- for f in $(eval find ${kbddir}/{${KBDSUBDIRS}} -type f -print)
|
|
||||||
- do
|
|
||||||
+ find $(eval echo ${kbddir}/{${KBDSUBDIRS}}) -type f -print | \
|
|
||||||
+ while read f; do
|
|
||||||
inst_simple $f
|
|
||||||
done
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
|||||||
From b7ddf6c1d8c861a75865b4b0fb716d838e4885ab Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Sat, 25 Feb 2012 17:22:02 +0100
|
|
||||||
Subject: [PATCH] make bzip2 optional
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut.spec | 1 -
|
|
||||||
modules.d/10i18n/module-setup.sh | 9 ++++++++-
|
|
||||||
modules.d/99img-lib/module-setup.sh | 2 +-
|
|
||||||
3 files changed, 9 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
|
||||||
index 4102bb0..91b3451 100644
|
|
||||||
--- a/dracut.spec
|
|
||||||
+++ b/dracut.spec
|
|
||||||
@@ -65,7 +65,6 @@ Obsoletes: dracut-kernel < 005
|
|
||||||
Provides: dracut-kernel = %{version}-%{release}
|
|
||||||
|
|
||||||
Requires: bash
|
|
||||||
-Requires: bzip2
|
|
||||||
Requires: coreutils
|
|
||||||
Requires: cpio
|
|
||||||
Requires: filesystem >= 2.1.0
|
|
||||||
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
|
|
||||||
index b4c19e1..d1854c2 100755
|
|
||||||
--- a/modules.d/10i18n/module-setup.sh
|
|
||||||
+++ b/modules.d/10i18n/module-setup.sh
|
|
||||||
@@ -100,8 +100,15 @@ install() {
|
|
||||||
# remove unnecessary files
|
|
||||||
rm -f "${initdir}${kbddir}/consoletrans/utflist"
|
|
||||||
find "${initdir}${kbddir}/" -name README\* -delete
|
|
||||||
+ find "${initdir}${kbddir}/" -name '*.gz' -print -quit \
|
|
||||||
+ | while read line; do
|
|
||||||
+ dracut_install gzip
|
|
||||||
+ done
|
|
||||||
|
|
||||||
- dracut_install gzip bzip2
|
|
||||||
+ find "${initdir}${kbddir}/" -name '*.bz2' -print -quit \
|
|
||||||
+ | while read line; do
|
|
||||||
+ dracut_install bzip2
|
|
||||||
+ done
|
|
||||||
}
|
|
||||||
|
|
||||||
install_local_i18n() {
|
|
||||||
diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
|
|
||||||
index eead2ab..f0e6dac 100755
|
|
||||||
--- a/modules.d/99img-lib/module-setup.sh
|
|
||||||
+++ b/modules.d/99img-lib/module-setup.sh
|
|
||||||
@@ -17,7 +17,7 @@ install() {
|
|
||||||
dracut_install tar gzip dd
|
|
||||||
dracut_install -o cpio xz
|
|
||||||
# TODO: make this conditional on a cmdline flag / config option
|
|
||||||
- # dracut_install -o bzip2
|
|
||||||
+ dracut_install -o bzip2
|
|
||||||
inst "$moddir/img-lib.sh" "/lib/img-lib.sh"
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
From 34769a1445836bb43df3f27d8771ef6b86f29771 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Tue, 28 Feb 2012 12:19:39 +0100
|
|
||||||
Subject: [PATCH] TODO: update
|
|
||||||
|
|
||||||
---
|
|
||||||
TODO | 23 ++++++++++++++++-------
|
|
||||||
1 file changed, 16 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/TODO b/TODO
|
|
||||||
index e5abef0..6c27268 100644
|
|
||||||
--- a/TODO
|
|
||||||
+++ b/TODO
|
|
||||||
@@ -1,24 +1,33 @@
|
|
||||||
-Current TODO list, broken into things which are relevant for the initramfs itself (/init et al) vs the generator. A lot of things are/should be marked with "FIXME" in the code
|
|
||||||
+Current TODO list, broken into things which are relevant for the
|
|
||||||
+initramfs itself (/init et al) vs the generator.
|
|
||||||
+A lot of things are/should be marked with "FIXME" in the code.
|
|
||||||
+
|
|
||||||
+Items are ordered in priority.
|
|
||||||
+
|
|
||||||
INITRAMFS TODO
|
|
||||||
|
|
||||||
-- The hard-coded list of udev rules that we care about is kind of lame.
|
|
||||||
+- put "root=" parsing hooks in separate hook dir
|
|
||||||
+- call "root=" parsing hooks after getting new rootpath from dhcp
|
|
||||||
+- put mount hook in main initqueue loop
|
|
||||||
+- the hard-coded list of udev rules that we care about is kind of lame.
|
|
||||||
- automatic kexec fallback
|
|
||||||
- panic fallback
|
|
||||||
-- fsck for $NEWROOT/usr
|
|
||||||
|
|
||||||
GENERATOR TODO
|
|
||||||
|
|
||||||
-- Default module specification could use some work
|
|
||||||
-- udev rule copying, as mentioned above, is a bit too hard-coded
|
|
||||||
+- add mechanism for module specific command line options
|
|
||||||
- pkg-config integration, to make it easy for other packages to use us.
|
|
||||||
- add recovery image creator (mkrecovery)
|
|
||||||
+- default module specification could use some work
|
|
||||||
+- udev rule copying, as mentioned above, is a bit too hard-coded
|
|
||||||
|
|
||||||
CODE TODO
|
|
||||||
-- document functions
|
|
||||||
+
|
|
||||||
+- document more functions
|
|
||||||
- make function vars local, and prefix with "_"
|
|
||||||
|
|
||||||
Future Enhancement Requests
|
|
||||||
|
|
||||||
- run ssh server to enter crypto password or perform debugging (supported by debian)
|
|
||||||
-- Bug 524727 - Dracut + encrypted root + networking
|
|
||||||
+- https://bugzilla.redhat.com/show_bug.cgi?id=524727 - Dracut + encrypted root + networking
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
|||||||
From b642ce5340dfd72145793f2ca0fe8fdfe7e7dd84 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Tue, 28 Feb 2012 12:54:01 +0100
|
|
||||||
Subject: [PATCH] 98usrmount/mount-usr.sh: ignore comments in fstab
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/98usrmount/mount-usr.sh | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
|
|
||||||
index 3e23b15..f9d049e 100755
|
|
||||||
--- a/modules.d/98usrmount/mount-usr.sh
|
|
||||||
+++ b/modules.d/98usrmount/mount-usr.sh
|
|
||||||
@@ -39,6 +39,7 @@ mount_usr()
|
|
||||||
local _dev _mp _fs _opts _rest _usr_found _ret _freq _passno
|
|
||||||
# check, if we have to mount the /usr filesystem
|
|
||||||
while read _dev _mp _fs _opts _freq _passno; do
|
|
||||||
+ [ "${_dev%%#*}" != "$_dev" ] && continue
|
|
||||||
if [ "$_mp" = "/usr" ]; then
|
|
||||||
case "$_dev" in
|
|
||||||
LABEL=*)
|
|
@ -1,22 +0,0 @@
|
|||||||
From 9eded206c90c0ce65b1addc55e4a8d83fb66ad3b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Tue, 28 Feb 2012 16:35:08 +0100
|
|
||||||
Subject: [PATCH] 98usrmount/mount-usr.sh: check, if we have
|
|
||||||
$NEWROOT/etc/fstab
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/98usrmount/mount-usr.sh | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
|
|
||||||
index f9d049e..39f75b9 100755
|
|
||||||
--- a/modules.d/98usrmount/mount-usr.sh
|
|
||||||
+++ b/modules.d/98usrmount/mount-usr.sh
|
|
||||||
@@ -73,4 +73,6 @@ mount_usr()
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
-mount_usr
|
|
||||||
+if [ -f "$NEWROOT/etc/fstab" ]; then
|
|
||||||
+ mount_usr
|
|
||||||
+fi
|
|
@ -1,54 +0,0 @@
|
|||||||
From 95268ffed378ac2bb3b5959cdbbf2e8b7e10534e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 29 Feb 2012 13:21:51 +0100
|
|
||||||
Subject: [PATCH] 30convertfs/convertfs.sh: correct check for /usr/bin
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/30convertfs/convertfs.sh | 17 ++++++++++-------
|
|
||||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/30convertfs/convertfs.sh b/modules.d/30convertfs/convertfs.sh
|
|
||||||
index 036ec51..d1d25aa 100755
|
|
||||||
--- a/modules.d/30convertfs/convertfs.sh
|
|
||||||
+++ b/modules.d/30convertfs/convertfs.sh
|
|
||||||
@@ -21,13 +21,13 @@ while [[ "$ROOT" != "${ROOT%/}" ]]; do
|
|
||||||
ROOT=${ROOT%/}
|
|
||||||
done
|
|
||||||
|
|
||||||
-if [ ! -L $ROOT/var/run ]; then
|
|
||||||
+if [ ! -L $ROOT/var/run -a -e $ROOT/var/run ]; then
|
|
||||||
echo "Converting /var/run to symlink"
|
|
||||||
mv -f $ROOT/var/run $ROOT/var/run.runmove~
|
|
||||||
ln -sfn ../run $ROOT/var/run
|
|
||||||
fi
|
|
||||||
|
|
||||||
-if [ ! -L $ROOT/var/lock ]; then
|
|
||||||
+if [ ! -L $ROOT/var/lock -a -e $ROOT/var/lock ]; then
|
|
||||||
echo "Converting /var/lock to symlink"
|
|
||||||
mv -f $ROOT/var/lock $ROOT/var/lock.lockmove~
|
|
||||||
ln -sfn ../run/lock $ROOT/var/lock
|
|
||||||
@@ -42,16 +42,19 @@ needconvert() {
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
+if ! [ -e "$ROOT/usr/bin" ]; then
|
|
||||||
+ echo "$ROOT/usr/bin does not exist!"
|
|
||||||
+ echo "Make sure, the kernel command line has enough information"
|
|
||||||
+ echo "to mount /usr (man dracut.cmdline)"
|
|
||||||
+ exit 1
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+
|
|
||||||
if ! needconvert; then
|
|
||||||
echo "Your system is already converted."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
-if [ -e "$ROOT/usr/bin" ]; then
|
|
||||||
- echo "$ROOT/usr/bin does not exist"
|
|
||||||
- exit 1
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
testfile="$ROOT/.usrmovecheck$$"
|
|
||||||
rm -f "$testfile"
|
|
||||||
> "$testfile"
|
|
@ -1,37 +0,0 @@
|
|||||||
From 8d021e4b8a5aaaa129ae53358cd108f589881182 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 29 Feb 2012 16:20:02 +0100
|
|
||||||
Subject: [PATCH] 90crypt/parse-crypt.sh: simplify rd.luks.uuid testing
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/90crypt/parse-crypt.sh | 15 ++-------------
|
|
||||||
1 file changed, 2 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
|
|
||||||
index 2ab3a9f..f96b59a 100755
|
|
||||||
--- a/modules.d/90crypt/parse-crypt.sh
|
|
||||||
+++ b/modules.d/90crypt/parse-crypt.sh
|
|
||||||
@@ -24,21 +24,10 @@ else
|
|
||||||
printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $tout
|
|
||||||
} >> /etc/udev/rules.d/70-luks.rules.new
|
|
||||||
|
|
||||||
-
|
|
||||||
- [ -e $hookdir/initqueue/finished/90-crypt.sh ] || \
|
|
||||||
- {
|
|
||||||
- printf -- 'UUIDS=:\n'
|
|
||||||
- printf -- 'for dm in /dev/dm-*; do\n'
|
|
||||||
- printf -- '[ -e "$dm" ] || exit 1\n'
|
|
||||||
- printf -- 'dmid=`/sbin/dmsetup info -c -o uuid --noheadings "$dm"`\n'
|
|
||||||
- printf -- 'uuid=${dmid#CRYPT-LUKS*-}\n'
|
|
||||||
- printf -- '[ "x$uuid" = "x$dmid" ] && continue\n'
|
|
||||||
- printf -- 'UUIDS="${UUIDS}${uuid%%%%-*}:"\n'
|
|
||||||
- printf -- 'done\n'
|
|
||||||
- } > $hookdir/initqueue/finished/90-crypt.sh
|
|
||||||
uuid=$luksid
|
|
||||||
while [ "$uuid" != "${uuid#*-}" ]; do uuid=${uuid%%-*}${uuid#*-}; done
|
|
||||||
- printf -- '[ "x${UUIDS#*:%s*:}" != "x$UUIDS" ] || exit 1\n' $uuid >> $hookdir/initqueue/finished/90-crypt.sh
|
|
||||||
+ printf -- '[ -e /dev/disk/by-id/dm-uuid-CRYPT-LUKS?-*%s*-* ] || exit 1\n' $uuid \
|
|
||||||
+ >> $hookdir/initqueue/finished/90-crypt.sh
|
|
||||||
|
|
||||||
{
|
|
||||||
printf -- '[ -e /dev/disk/by-uuid/*%s* ] || ' $luksid
|
|
@ -1,38 +0,0 @@
|
|||||||
From e12c1a8da19b373aee46f7352e60511ac1a2fc16 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Thu, 1 Mar 2012 17:45:30 +0100
|
|
||||||
Subject: [PATCH] dracut-functions.sh:install_kmod_with_fw() delay
|
|
||||||
.kernelmodseen
|
|
||||||
|
|
||||||
first check for omit, then mark the kernel module as seen
|
|
||||||
|
|
||||||
when we temporarily omit_drivers, we don't want to mark them as seen.
|
|
||||||
|
|
||||||
example: nfs.ko module in kernel-modules, but the nfs module
|
|
||||||
should be able to load it later on.
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index c7337e9..20fc6e1 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -980,8 +980,6 @@ install_kmod_with_fw() {
|
|
||||||
|
|
||||||
[[ -e "$initdir/.kernelmodseen/${1##*/}" ]] && return 0
|
|
||||||
|
|
||||||
- > "$initdir/.kernelmodseen/${1##*/}"
|
|
||||||
-
|
|
||||||
if [[ $omit_drivers ]]; then
|
|
||||||
local _kmod=${1##*/}
|
|
||||||
_kmod=${_kmod%.ko}
|
|
||||||
@@ -996,6 +994,8 @@ install_kmod_with_fw() {
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ > "$initdir/.kernelmodseen/${1##*/}"
|
|
||||||
+
|
|
||||||
inst_simple "$1" "/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" \
|
|
||||||
|| return $?
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
From 778f767bccf14f49573d5fffca40841f42401e75 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jan Stodola <jstodola@redhat.com>
|
|
||||||
Date: Thu, 1 Mar 2012 20:22:57 +0100
|
|
||||||
Subject: [PATCH] Fix correct nfs path
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/45url-lib/url-lib.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/45url-lib/url-lib.sh b/modules.d/45url-lib/url-lib.sh
|
|
||||||
index 383e7ac..1fc80a1 100755
|
|
||||||
--- a/modules.d/45url-lib/url-lib.sh
|
|
||||||
+++ b/modules.d/45url-lib/url-lib.sh
|
|
||||||
@@ -99,7 +99,7 @@ nfs_fetch_url() {
|
|
||||||
mntdir=$(nfs_already_mounted $server $path)
|
|
||||||
if [ -z "$mntdir" ]; then
|
|
||||||
local mntdir="$(mkuniqdir /run nfs_mnt)"
|
|
||||||
- mount_nfs $nfs:$server:$path${options:+:$options} $mntdir
|
|
||||||
+ mount_nfs $nfs:$server:$filepath${options:+:$options} $mntdir
|
|
||||||
# lazy unmount during pre-pivot hook
|
|
||||||
inst_hook --hook pre-pivot --name 99url-lib-umount-nfs umount -l $mntdir
|
|
||||||
fi
|
|
@ -1,118 +0,0 @@
|
|||||||
From ffcc64bdea9080c2a1430ba59720f583bc0ac908 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 29 Feb 2012 13:09:58 -0500
|
|
||||||
Subject: [PATCH] move emergency_shell to dracut-lib.sh
|
|
||||||
|
|
||||||
This lets things running outside init call an emergency_shell.
|
|
||||||
(example: scripts called by initqueue)
|
|
||||||
---
|
|
||||||
modules.d/99base/dracut-lib.sh | 38 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
modules.d/99base/init.sh | 40 +---------------------------------------
|
|
||||||
2 files changed, 39 insertions(+), 39 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
|
||||||
index afd366e..c31854e 100755
|
|
||||||
--- a/modules.d/99base/dracut-lib.sh
|
|
||||||
+++ b/modules.d/99base/dracut-lib.sh
|
|
||||||
@@ -753,3 +753,41 @@ killproc() {
|
|
||||||
need_shutdown() {
|
|
||||||
>/run/initramfs/.need_shutdown
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+emergency_shell()
|
|
||||||
+{
|
|
||||||
+ local _ctty
|
|
||||||
+ set +e
|
|
||||||
+ if [ "$1" = "-n" ]; then
|
|
||||||
+ _rdshell_name=$2
|
|
||||||
+ shift 2
|
|
||||||
+ else
|
|
||||||
+ _rdshell_name=dracut
|
|
||||||
+ fi
|
|
||||||
+ echo ; echo
|
|
||||||
+ warn $@
|
|
||||||
+ source_hook emergency
|
|
||||||
+ echo
|
|
||||||
+ wait_for_loginit
|
|
||||||
+ [ -e /run/initramfs/.die ] && exit 1
|
|
||||||
+ if getargbool 1 rd.shell -y rdshell || getarg rd.break rdbreak; then
|
|
||||||
+ echo "Dropping to debug shell."
|
|
||||||
+ echo
|
|
||||||
+ export PS1="$_rdshell_name:\${PWD}# "
|
|
||||||
+ [ -e /.profile ] || >/.profile
|
|
||||||
+ _ctty=/dev/console
|
|
||||||
+ if [ -n "$(command -v setsid)" ]; then
|
|
||||||
+ _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
|
|
||||||
+ [ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
+ setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
+ elif [ -n "$(command -v openvt)" ] && ! getarg "console=" >/dev/null 2>&1 && getargbool 1 "rd.openvt" ; then
|
|
||||||
+ openvt -f -c 1 -w -s -l -- sh
|
|
||||||
+ else
|
|
||||||
+ sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
+ fi
|
|
||||||
+ else
|
|
||||||
+ warn "Boot has failed. To debug this issue add \"rdshell\" to the kernel command line."
|
|
||||||
+ # cause a kernel panic
|
|
||||||
+ exit 1
|
|
||||||
+ fi
|
|
||||||
+}
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index 4d0a2a2..d197497 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -38,54 +38,16 @@ wait_for_loginit()
|
|
||||||
rm -f /run/initramfs/loginit.pipe /run/initramfs/loginit.pid
|
|
||||||
}
|
|
||||||
|
|
||||||
-emergency_shell()
|
|
||||||
-{
|
|
||||||
- local _ctty
|
|
||||||
- set +e
|
|
||||||
- if [ "$1" = "-n" ]; then
|
|
||||||
- _rdshell_name=$2
|
|
||||||
- shift 2
|
|
||||||
- else
|
|
||||||
- _rdshell_name=dracut
|
|
||||||
- fi
|
|
||||||
- echo ; echo
|
|
||||||
- warn $@
|
|
||||||
- source_hook emergency
|
|
||||||
- echo
|
|
||||||
- wait_for_loginit
|
|
||||||
- [ -e /run/initramfs/.die ] && exit 1
|
|
||||||
- if getargbool 1 rd.shell -y rdshell || getarg rd.break rdbreak; then
|
|
||||||
- echo "Dropping to debug shell."
|
|
||||||
- echo
|
|
||||||
- export PS1="$_rdshell_name:\${PWD}# "
|
|
||||||
- [ -e /.profile ] || >/.profile
|
|
||||||
- _ctty=/dev/console
|
|
||||||
- if [ -n "$(command -v setsid)" ]; then
|
|
||||||
- _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
|
|
||||||
- [ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
- setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
- elif [ -n "$(command -v openvt)" ] && ! getarg "console=" >/dev/null 2>&1 && getargbool 1 "rd.openvt" ; then
|
|
||||||
- openvt -f -c 1 -w -s -l -- sh
|
|
||||||
- else
|
|
||||||
- sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
- fi
|
|
||||||
- else
|
|
||||||
- warn "Boot has failed. To debug this issue add \"rdshell\" to the kernel command line."
|
|
||||||
- # cause a kernel panic
|
|
||||||
- exit 1
|
|
||||||
- fi
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
NEWROOT="/sysroot"
|
|
||||||
[ -d $NEWROOT ] || mkdir -p -m 0755 $NEWROOT
|
|
||||||
|
|
||||||
-trap "emergency_shell Signal caught!" 0
|
|
||||||
OLDPATH=$PATH
|
|
||||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
export PATH
|
|
||||||
|
|
||||||
RD_DEBUG=""
|
|
||||||
. /lib/dracut-lib.sh
|
|
||||||
+trap "emergency_shell Signal caught!" 0
|
|
||||||
|
|
||||||
[ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
|||||||
From 8a0d2fc56feeb04d314a7fd6030bda5ce748b2f6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 29 Feb 2012 13:09:57 -0500
|
|
||||||
Subject: [PATCH] url-lib: make nfs support optional
|
|
||||||
|
|
||||||
Only include /lib/nfs-lib.sh if it exists, and then only run
|
|
||||||
add_url_handler if nfs-lib was imported.
|
|
||||||
---
|
|
||||||
modules.d/45url-lib/url-lib.sh | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/45url-lib/url-lib.sh b/modules.d/45url-lib/url-lib.sh
|
|
||||||
index 1fc80a1..043a700 100755
|
|
||||||
--- a/modules.d/45url-lib/url-lib.sh
|
|
||||||
+++ b/modules.d/45url-lib/url-lib.sh
|
|
||||||
@@ -74,7 +74,7 @@ set_http_header() {
|
|
||||||
|
|
||||||
### NFS ##############################################################
|
|
||||||
|
|
||||||
-. /lib/nfs-lib.sh
|
|
||||||
+[ -e /lib/nfs-lib.sh ] && . /lib/nfs-lib.sh
|
|
||||||
|
|
||||||
nfs_already_mounted() {
|
|
||||||
local server="$1" path="$2" localdir="" s="" p=""
|
|
||||||
@@ -112,4 +112,4 @@ nfs_fetch_url() {
|
|
||||||
[ -f "$outloc" ] || return 253
|
|
||||||
echo "$outloc"
|
|
||||||
}
|
|
||||||
-add_url_handler nfs_fetch_url nfs nfs4
|
|
||||||
+command -v nfs_to_var >/dev/null && add_url_handler nfs_fetch_url nfs nfs4
|
|
@ -1,29 +0,0 @@
|
|||||||
From a3f00efc99ac4736be3a1e24259d691bb9a9e19d Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 10:58:16 +0100
|
|
||||||
Subject: [PATCH] 40network/kill-dhclient.sh: kill dhclient silently
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/40network/kill-dhclient.sh | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/40network/kill-dhclient.sh b/modules.d/40network/kill-dhclient.sh
|
|
||||||
index 2f834c1..78060f5 100755
|
|
||||||
--- a/modules.d/40network/kill-dhclient.sh
|
|
||||||
+++ b/modules.d/40network/kill-dhclient.sh
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
for f in /tmp/dhclient.*.pid; do
|
|
||||||
[ -e $f ] || continue
|
|
||||||
read PID < $f;
|
|
||||||
- kill $PID;
|
|
||||||
+ kill $PID >/dev/null 2>&1
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 0.1
|
|
||||||
@@ -13,5 +13,5 @@ sleep 0.1
|
|
||||||
for f in /tmp/dhclient.*.pid; do
|
|
||||||
[ -e $f ] || continue
|
|
||||||
read PID < $f;
|
|
||||||
- kill -9 $PID;
|
|
||||||
+ kill -9 $PID >/dev/null 2>&1
|
|
||||||
done
|
|
@ -1,34 +0,0 @@
|
|||||||
From d37ad6aea04932196df06139b27d3869385617f9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 7 Mar 2012 17:21:53 -0500
|
|
||||||
Subject: [PATCH] write-ifcfg.sh: cleanups
|
|
||||||
|
|
||||||
mkdir -p creates intermediate directories and never returns an error, so
|
|
||||||
we don't need to create the intermediate directories ourself.
|
|
||||||
---
|
|
||||||
modules.d/45ifcfg/write-ifcfg.sh | 15 +++++++--------
|
|
||||||
1 file changed, 7 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
|
|
||||||
index d633a96..0f431e3 100755
|
|
||||||
--- a/modules.d/45ifcfg/write-ifcfg.sh
|
|
||||||
+++ b/modules.d/45ifcfg/write-ifcfg.sh
|
|
||||||
@@ -134,11 +134,10 @@ for netif in $IFACES ; do
|
|
||||||
done
|
|
||||||
|
|
||||||
# Pass network opts
|
|
||||||
-[ -d /run/initramfs ] || mkdir -m 0755 -p /run/initramfs
|
|
||||||
-cp /tmp/net.* /run/initramfs/ >/dev/null 2>&1
|
|
||||||
-for i in /run/initramfs/state /run/initramfs/state/etc/ /run/initramfs/state/etc/sysconfig /run/initramfs/state/etc/sysconfig/network-scripts; do
|
|
||||||
- [ -d $i ] || mkdir -m 0755 -p $i
|
|
||||||
-done
|
|
||||||
-cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/ >/dev/null 2>&1
|
|
||||||
-echo "files /etc/sysconfig/network-scripts" > /run/initramfs/rwtab
|
|
||||||
-cp -a -t /run/initramfs/state/etc/sysconfig/network-scripts/ /tmp/ifcfg/* >/dev/null 2>&1
|
|
||||||
+mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network-scripts
|
|
||||||
+echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
|
|
||||||
+{
|
|
||||||
+ cp /tmp/net.* /run/initramfs/
|
|
||||||
+ cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/
|
|
||||||
+ cp -a -t /run/initramfs/state/etc/sysconfig/network-scripts/ /tmp/ifcfg/*
|
|
||||||
+} > /dev/null 2>&1
|
|
@ -1,62 +0,0 @@
|
|||||||
From 66666c670a462548df4ea4c8069d54b8c309ecf4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 7 Mar 2012 17:21:54 -0500
|
|
||||||
Subject: [PATCH] write-ifcfg.sh: add UUID=.. and save the lease files with
|
|
||||||
the same uuid
|
|
||||||
|
|
||||||
As described in https://bugzilla.redhat.com/show_bug.cgi?id=541410#c2,
|
|
||||||
if you want NetworkManager to take over an interface that you're using
|
|
||||||
for NFS root (or other network root device), you need to:
|
|
||||||
|
|
||||||
a) set UUID=<uuid> in ifcfg-<iface>, and
|
|
||||||
b) save the lease file as /var/lib/dhclient-<uuid>-<iface>.lease
|
|
||||||
|
|
||||||
This patch should make write-ifcfg handle both these things.
|
|
||||||
---
|
|
||||||
modules.d/45ifcfg/write-ifcfg.sh | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
|
|
||||||
index 0f431e3..fe986df 100755
|
|
||||||
--- a/modules.d/45ifcfg/write-ifcfg.sh
|
|
||||||
+++ b/modules.d/45ifcfg/write-ifcfg.sh
|
|
||||||
@@ -18,11 +18,13 @@ if [ -e /tmp/bridge.info ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -m 0755 -p /tmp/ifcfg/
|
|
||||||
+mkdir -m 0755 -p /tmp/ifcfg-leases/
|
|
||||||
|
|
||||||
for netif in $IFACES ; do
|
|
||||||
# bridge?
|
|
||||||
unset bridge
|
|
||||||
unset bond
|
|
||||||
+ uuid=$(cat /proc/sys/kernel/random/uuid)
|
|
||||||
if [ "$netif" = "$bridgename" ]; then
|
|
||||||
bridge=yes
|
|
||||||
elif [ "$netif" = "$bondname" ]; then
|
|
||||||
@@ -35,10 +37,12 @@ for netif in $IFACES ; do
|
|
||||||
echo "DEVICE=$netif"
|
|
||||||
echo "ONBOOT=yes"
|
|
||||||
echo "NETBOOT=yes"
|
|
||||||
+ echo "UUID=$uuid"
|
|
||||||
if [ -f /tmp/net.$netif.lease ]; then
|
|
||||||
strstr "$ip" '*:*:*' &&
|
|
||||||
echo "DHCPV6C=yes"
|
|
||||||
echo "BOOTPROTO=dhcp"
|
|
||||||
+ cp /tmp/net.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
|
|
||||||
else
|
|
||||||
echo "BOOTPROTO=none"
|
|
||||||
# If we've booted with static ip= lines, the override file is there
|
|
||||||
@@ -135,9 +139,12 @@ done
|
|
||||||
|
|
||||||
# Pass network opts
|
|
||||||
mkdir -m 0755 -p /run/initramfs/state/etc/sysconfig/network-scripts
|
|
||||||
+mkdir -m 0755 -p /run/initramfs/state/var/lib/dhclient
|
|
||||||
echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
|
|
||||||
+echo "files /var/lib/dhclient" >> /run/initramfs/rwtab
|
|
||||||
{
|
|
||||||
cp /tmp/net.* /run/initramfs/
|
|
||||||
cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/
|
|
||||||
cp -a -t /run/initramfs/state/etc/sysconfig/network-scripts/ /tmp/ifcfg/*
|
|
||||||
+ cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient
|
|
||||||
} > /dev/null 2>&1
|
|
@ -1,40 +0,0 @@
|
|||||||
From b43d651511df184fcdc1677e11166bae2f61073a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 7 Mar 2012 17:22:18 -0500
|
|
||||||
Subject: [PATCH] fix apply-live-updates failing because of /lib symlink
|
|
||||||
|
|
||||||
Since cp won't copy a directory over a symlink, any updates that were
|
|
||||||
supposed to go into e.g. /lib would get dropped if you had /updates/lib
|
|
||||||
as an actual directory, but the target system had /lib->/usr/lib.
|
|
||||||
---
|
|
||||||
modules.d/90dmsquash-live/apply-live-updates.sh | 20 ++++++++++++++------
|
|
||||||
1 file changed, 14 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/90dmsquash-live/apply-live-updates.sh b/modules.d/90dmsquash-live/apply-live-updates.sh
|
|
||||||
index f840d1a..144e8b9 100755
|
|
||||||
--- a/modules.d/90dmsquash-live/apply-live-updates.sh
|
|
||||||
+++ b/modules.d/90dmsquash-live/apply-live-updates.sh
|
|
||||||
@@ -1,9 +1,17 @@
|
|
||||||
#!/bin/sh
|
|
||||||
-if [ -b /dev/mapper/live-rw ]; then
|
|
||||||
- if [ -d /updates ]; then
|
|
||||||
- echo "Applying updates to live image..."
|
|
||||||
+
|
|
||||||
+. /tmp/root.info
|
|
||||||
+
|
|
||||||
+if [ -b /dev/mapper/live-rw ] && [ -d /updates ]; then
|
|
||||||
+ info "Applying updates to live image..."
|
|
||||||
+ # avoid overwriting symlinks (e.g. /lib -> /usr/lib) with directories
|
|
||||||
+ (
|
|
||||||
cd /updates
|
|
||||||
- /bin/cp -a -t $NEWROOT .
|
|
||||||
- cd -
|
|
||||||
- fi
|
|
||||||
+ find . -depth -type d | while read dir; do
|
|
||||||
+ [ -d "$NEWROOT/$dir" ] || mkdir -p "$NEWROOT/$dir"
|
|
||||||
+ done
|
|
||||||
+ find . -depth \! -type d | while read file; do
|
|
||||||
+ cp -a "$file" "$NEWROOT/$file"
|
|
||||||
+ done
|
|
||||||
+ )
|
|
||||||
fi
|
|
@ -1,47 +0,0 @@
|
|||||||
From af8c8ed9f651b1617296a2d7654a981f006c5ad3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 11:39:11 +0100
|
|
||||||
Subject: [PATCH] 40network/net-genrules.sh: move ifup in the initqueue
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/40network/net-genrules.sh | 12 ++++++------
|
|
||||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
|
|
||||||
index 323d185..6c46d9a 100755
|
|
||||||
--- a/modules.d/40network/net-genrules.sh
|
|
||||||
+++ b/modules.d/40network/net-genrules.sh
|
|
||||||
@@ -36,27 +36,27 @@ fix_bootif() {
|
|
||||||
if [ -n "$BOOTIF" ] ; then
|
|
||||||
BOOTIF=$(fix_bootif "$BOOTIF")
|
|
||||||
if [ -n "$netroot" ]; then
|
|
||||||
- printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/ifup $env{INTERFACE}"\n' "$BOOTIF"
|
|
||||||
+ printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE}"\n' "$BOOTIF"
|
|
||||||
else
|
|
||||||
- printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/ifup $env{INTERFACE} -m"\n' "$BOOTIF"
|
|
||||||
+ printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE} -m"\n' "$BOOTIF"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If we have to handle multiple interfaces, handle only them.
|
|
||||||
elif [ -n "$IFACES" ] ; then
|
|
||||||
for iface in $IFACES ; do
|
|
||||||
if [ -n "$netroot" ]; then
|
|
||||||
- printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/ifup $env{INTERFACE}"\n' "$iface"
|
|
||||||
+ printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE}"\n' "$iface"
|
|
||||||
else
|
|
||||||
- printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/ifup $env{INTERFACE} -m"\n' "$iface"
|
|
||||||
+ printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE} -m"\n' "$iface"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Default: We don't know the interface to use, handle all
|
|
||||||
else
|
|
||||||
if [ -n "$netroot" ]; then
|
|
||||||
- printf 'SUBSYSTEM=="net", OPTIONS+="event_timeout=360", RUN+="/sbin/ifup $env{INTERFACE}"\n'
|
|
||||||
+ printf 'SUBSYSTEM=="net", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE}"\n'
|
|
||||||
else
|
|
||||||
- printf 'SUBSYSTEM=="net", OPTIONS+="event_timeout=360", RUN+="/sbin/ifup $env{INTERFACE} -m"\n'
|
|
||||||
+ printf 'SUBSYSTEM=="net", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE} -m"\n'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
|||||||
From 6a2c23d12521c564a3c8bbfc349c677b0e9ac3ad Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 12:01:49 +0100
|
|
||||||
Subject: [PATCH] dracut-functions.sh: check for .kernelmodseen dir, before
|
|
||||||
using it
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index 20fc6e1..5cf24a7 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -994,7 +994,8 @@ install_kmod_with_fw() {
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
- > "$initdir/.kernelmodseen/${1##*/}"
|
|
||||||
+ [ -d "$initdir/.kernelmodseen" ] && \
|
|
||||||
+ > "$initdir/.kernelmodseen/${1##*/}"
|
|
||||||
|
|
||||||
inst_simple "$1" "/lib/modules/$kernel/${1##*/lib/modules/$kernel/}" \
|
|
||||||
|| return $?
|
|
@ -1,22 +0,0 @@
|
|||||||
From 5861184e87e9d9164c093d3600d85c670c828886 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 12:03:38 +0100
|
|
||||||
Subject: [PATCH] ifup.sh: check for "-m" to set manualup
|
|
||||||
|
|
||||||
---
|
|
||||||
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 b138e8e..b55362c 100755
|
|
||||||
--- a/modules.d/40network/ifup.sh
|
|
||||||
+++ b/modules.d/40network/ifup.sh
|
|
||||||
@@ -50,7 +50,7 @@ fi
|
|
||||||
|
|
||||||
# disable manual ifup while netroot is set for simplifying our logic
|
|
||||||
# in netroot case we prefer netroot to bringup $netif automaticlly
|
|
||||||
-[ -n "$2" ] && [ -z "$netroot" ] && manualup="$2"
|
|
||||||
+[ -n "$2" -a "$2" = "-m" ] && [ -z "$netroot" ] && manualup="$2"
|
|
||||||
[ -z "$netroot" ] && [ -z "$manualup" ] && exit 0
|
|
||||||
[ -n "$manualup" ] && >/tmp/net.$netif.manualup
|
|
||||||
|
|
@ -1,130 +0,0 @@
|
|||||||
From 2c0317213ebe3a6cd0f0db5fb5b7a3da0d42cdda Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 14:25:57 +0100
|
|
||||||
Subject: [PATCH] get rid of /tmp/root.info
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/40network/ifup.sh | 2 --
|
|
||||||
modules.d/40network/netroot.sh | 2 --
|
|
||||||
modules.d/90dmsquash-live/apply-live-updates.sh | 2 --
|
|
||||||
modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 --
|
|
||||||
modules.d/90livenet/livenetroot.sh | 1 -
|
|
||||||
modules.d/95iscsi/iscsiroot.sh | 5 +----
|
|
||||||
modules.d/99base/init.sh | 11 ++---------
|
|
||||||
7 files changed, 3 insertions(+), 22 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
|
|
||||||
index b55362c..ffae15c 100755
|
|
||||||
--- a/modules.d/40network/ifup.sh
|
|
||||||
+++ b/modules.d/40network/ifup.sh
|
|
||||||
@@ -45,8 +45,6 @@ fi
|
|
||||||
# bail immediately if the interface is already up
|
|
||||||
# or we don't need the network
|
|
||||||
[ -f "/tmp/net.$netif.up" ] && exit 0
|
|
||||||
-[ -f "/tmp/root.info" ] || exit 0
|
|
||||||
-. /tmp/root.info
|
|
||||||
|
|
||||||
# disable manual ifup while netroot is set for simplifying our logic
|
|
||||||
# in netroot case we prefer netroot to bringup $netif automaticlly
|
|
||||||
diff --git a/modules.d/40network/netroot.sh b/modules.d/40network/netroot.sh
|
|
||||||
index f44a97b..c5ee84c 100755
|
|
||||||
--- a/modules.d/40network/netroot.sh
|
|
||||||
+++ b/modules.d/40network/netroot.sh
|
|
||||||
@@ -15,8 +15,6 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
|
||||||
# instead of real netroot; If It's called without $2, then there's
|
|
||||||
# no sense in doing something if no (net)root info is available
|
|
||||||
# or root is already there
|
|
||||||
-[ -e /tmp/root.info ] || exit 1
|
|
||||||
-. /tmp/root.info
|
|
||||||
if [ -z "$2" ]; then
|
|
||||||
[ -d $NEWROOT/proc ] && exit 0
|
|
||||||
[ -z "$netroot" ] && exit 1
|
|
||||||
diff --git a/modules.d/90dmsquash-live/apply-live-updates.sh b/modules.d/90dmsquash-live/apply-live-updates.sh
|
|
||||||
index 144e8b9..61da4bf 100755
|
|
||||||
--- a/modules.d/90dmsquash-live/apply-live-updates.sh
|
|
||||||
+++ b/modules.d/90dmsquash-live/apply-live-updates.sh
|
|
||||||
@@ -1,7 +1,5 @@
|
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
-. /tmp/root.info
|
|
||||||
-
|
|
||||||
if [ -b /dev/mapper/live-rw ] && [ -d /updates ]; then
|
|
||||||
info "Applying updates to live image..."
|
|
||||||
# avoid overwriting symlinks (e.g. /lib -> /usr/lib) with directories
|
|
||||||
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
|
|
||||||
index e3606cf..8a21e44 100755
|
|
||||||
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
|
|
||||||
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
|
|
||||||
@@ -5,8 +5,6 @@
|
|
||||||
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
|
||||||
type det_fs >/dev/null 2>&1 || . /lib/fs-lib.sh
|
|
||||||
|
|
||||||
-[ -f /tmp/root.info ] && . /tmp/root.info
|
|
||||||
-
|
|
||||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
|
|
||||||
if getargbool 0 rd.live.debug -y rdlivedebug; then
|
|
||||||
diff --git a/modules.d/90livenet/livenetroot.sh b/modules.d/90livenet/livenetroot.sh
|
|
||||||
index bc62760..617be62 100755
|
|
||||||
--- a/modules.d/90livenet/livenetroot.sh
|
|
||||||
+++ b/modules.d/90livenet/livenetroot.sh
|
|
||||||
@@ -2,7 +2,6 @@
|
|
||||||
# livenetroot - fetch a live image from the network and run it
|
|
||||||
|
|
||||||
type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
|
||||||
-[ -f /tmp/root.info ] && . /tmp/root.info
|
|
||||||
|
|
||||||
. /lib/url-lib.sh
|
|
||||||
|
|
||||||
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
|
||||||
index 7b8f63e..1bd6dd3 100755
|
|
||||||
--- a/modules.d/95iscsi/iscsiroot.sh
|
|
||||||
+++ b/modules.d/95iscsi/iscsiroot.sh
|
|
||||||
@@ -37,9 +37,6 @@ iroot=${iroot#iscsi:}
|
|
||||||
# figured out a way how to check whether this is built-in or not
|
|
||||||
modprobe crc32c 2>/dev/null
|
|
||||||
|
|
||||||
-
|
|
||||||
-[ -e /tmp/root.info ] && . /tmp/root.info
|
|
||||||
-
|
|
||||||
[ -e /sys/module/bnx2i ] && iscsiuio
|
|
||||||
|
|
||||||
if getargbool 0 rd.iscsi.firmware -y iscsi_firmware ; then
|
|
||||||
@@ -54,7 +51,7 @@ fi
|
|
||||||
|
|
||||||
unset iscsi_initiator iscsi_target_name iscsi_target_ip iscsi_target_port
|
|
||||||
unset iscsi_target_group iscsi_protocol iscsirw iscsi_lun
|
|
||||||
-unset iscsi_username iscsi_password
|
|
||||||
+unset iscsi_username iscsi_password
|
|
||||||
unset iscsi_in_username iscsi_in_password
|
|
||||||
|
|
||||||
# override conf settings by command line options
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index d197497..96fd5f2 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -131,15 +131,7 @@ source_hook cmdline
|
|
||||||
[ -z "$root" ] && die "No or empty root= argument"
|
|
||||||
[ -z "$rootok" ] && die "Don't know how to handle 'root=$root'"
|
|
||||||
|
|
||||||
-# Network root scripts may need updated root= options,
|
|
||||||
-# so deposit them where they can see them (udev purges the env)
|
|
||||||
-{
|
|
||||||
- echo "root='$root'"
|
|
||||||
- echo "rflags='$rflags'"
|
|
||||||
- echo "fstype='$fstype'"
|
|
||||||
- echo "netroot='$netroot'"
|
|
||||||
- echo "NEWROOT='$NEWROOT'"
|
|
||||||
-} > /tmp/root.info
|
|
||||||
+export root rflags fstype netroot NEWROOT
|
|
||||||
|
|
||||||
# pre-udev scripts run before udev starts, and are run only once.
|
|
||||||
getarg 'rd.break=pre-udev' 'rdbreak=pre-udev' && emergency_shell -n pre-udev "Break before pre-udev"
|
|
||||||
@@ -314,6 +306,7 @@ else
|
|
||||||
fi
|
|
||||||
|
|
||||||
export RD_TIMESTAMP
|
|
||||||
+export -n root rflags fstype netroot NEWROOT
|
|
||||||
set +x # Turn off debugging for this section
|
|
||||||
# Clean up the environment
|
|
||||||
for i in $(export -p); do
|
|
@ -1,47 +0,0 @@
|
|||||||
From b8a9dc2d3fdd7596d4d968f761f56f6ced06e9db Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 13:58:48 +0100
|
|
||||||
Subject: [PATCH] TEST-20-NFS: use ext3 on server and fsck after kill
|
|
||||||
|
|
||||||
---
|
|
||||||
test/TEST-20-NFS/test.sh | 11 ++++++-----
|
|
||||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
|
|
||||||
index c6a9670..fcd424f 100755
|
|
||||||
--- a/test/TEST-20-NFS/test.sh
|
|
||||||
+++ b/test/TEST-20-NFS/test.sh
|
|
||||||
@@ -12,8 +12,9 @@ run_server() {
|
|
||||||
# Start server first
|
|
||||||
echo "NFS TEST SETUP: Starting DHCP/NFS server"
|
|
||||||
|
|
||||||
+ fsck $TESTDIR/server.ext3 || return 1
|
|
||||||
$testdir/run-qemu \
|
|
||||||
- -hda $TESTDIR/server.ext2 -m 256M -nographic \
|
|
||||||
+ -hda $TESTDIR/server.ext3 -m 256M -nographic \
|
|
||||||
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \
|
|
||||||
-net socket,listen=127.0.0.1:12320 \
|
|
||||||
-serial $SERIAL \
|
|
||||||
@@ -203,10 +204,10 @@ test_run() {
|
|
||||||
|
|
||||||
test_setup() {
|
|
||||||
# Make server root
|
|
||||||
- dd if=/dev/null of=$TESTDIR/server.ext2 bs=1M seek=60
|
|
||||||
- mke2fs -F $TESTDIR/server.ext2
|
|
||||||
+ dd if=/dev/null of=$TESTDIR/server.ext3 bs=1M seek=60
|
|
||||||
+ mke2fs -j -F $TESTDIR/server.ext3
|
|
||||||
mkdir $TESTDIR/mnt
|
|
||||||
- sudo mount -o loop $TESTDIR/server.ext2 $TESTDIR/mnt
|
|
||||||
+ sudo mount -o loop $TESTDIR/server.ext3 $TESTDIR/mnt
|
|
||||||
|
|
||||||
kernel=$KVERSION
|
|
||||||
(
|
|
||||||
@@ -307,7 +308,7 @@ test_setup() {
|
|
||||||
# Make server's dracut image
|
|
||||||
$basedir/dracut.sh -l -i $TESTDIR/overlay / \
|
|
||||||
-m "dash udev-rules base rootfs-block debug kernel-modules" \
|
|
||||||
- -d "piix ide-gd_mod ata_piix ext2 sd_mod e1000" \
|
|
||||||
+ -d "piix ide-gd_mod ata_piix ext3 sd_mod e1000" \
|
|
||||||
-f $TESTDIR/initramfs.server $KVERSION || return 1
|
|
||||||
|
|
||||||
# Make client's dracut image
|
|
@ -1,60 +0,0 @@
|
|||||||
From 4fed3ddf16431524f07fc8bbad6aec913b6c0777 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 14:46:11 +0100
|
|
||||||
Subject: [PATCH] add "initqueue/*" to hookdirs and create them in dracut
|
|
||||||
itsself
|
|
||||||
|
|
||||||
now we can just use
|
|
||||||
inst_hook initqueue/settled 99 "$moddir/pollcdrom.sh"
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 6 ++++--
|
|
||||||
dracut.sh | 3 +++
|
|
||||||
modules.d/99base/module-setup.sh | 4 ----
|
|
||||||
3 files changed, 7 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index 5cf24a7..05c1d3a 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -34,8 +34,10 @@ fi
|
|
||||||
|
|
||||||
# export standard hookdirs
|
|
||||||
[[ $hookdirs ]] || {
|
|
||||||
- hookdirs="cmdline pre-udev pre-trigger netroot initqueue pre-mount"
|
|
||||||
- hookdirs+=" pre-pivot mount emergency shutdown-emergency shutdown cleanup"
|
|
||||||
+ hookdirs="cmdline pre-udev pre-trigger netroot "
|
|
||||||
+ hookdirs+="initqueue initqueue/settled initqueue/finished initqueue/timeout "
|
|
||||||
+ hookdirs+="pre-mount pre-pivot mount "
|
|
||||||
+ hookdirs+="emergency shutdown-emergency shutdown cleanup "
|
|
||||||
export hookdirs
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/dracut.sh b/dracut.sh
|
|
||||||
index 88691ae..417008c 100755
|
|
||||||
--- a/dracut.sh
|
|
||||||
+++ b/dracut.sh
|
|
||||||
@@ -674,6 +674,9 @@ fi
|
|
||||||
|
|
||||||
if [[ $kernel_only != yes ]]; then
|
|
||||||
mkdir -p "${initdir}/etc/cmdline.d"
|
|
||||||
+ for _d in $hookdirs; do
|
|
||||||
+ mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d
|
|
||||||
+ done
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$initdir/.kernelmodseen"
|
|
||||||
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
|
|
||||||
index fd92644..5a97770 100755
|
|
||||||
--- a/modules.d/99base/module-setup.sh
|
|
||||||
+++ b/modules.d/99base/module-setup.sh
|
|
||||||
@@ -33,10 +33,6 @@ install() {
|
|
||||||
[ -e "${initdir}/lib" ] || mkdir -m 0755 -p ${initdir}/lib
|
|
||||||
mkdir -m 0755 -p ${initdir}/lib/dracut
|
|
||||||
mkdir -m 0755 -p ${initdir}/lib/dracut/hooks
|
|
||||||
- for _d in $hookdirs emergency \
|
|
||||||
- initqueue initqueue/timeout initqueue/finished initqueue/settled; do
|
|
||||||
- mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d
|
|
||||||
- done
|
|
||||||
|
|
||||||
mkdir -p ${initdir}/tmp
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
|||||||
From 74db72dd0b22973cfd9f3cbe832b09096c4e7ab9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 14:53:22 +0100
|
|
||||||
Subject: [PATCH] 98pollcdrom: factored out the ugly cdrom polling in the main
|
|
||||||
loop
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/98pollcdrom/module-setup.sh | 16 ++++++++++++++++
|
|
||||||
modules.d/98pollcdrom/pollcdrom.sh | 23 +++++++++++++++++++++++
|
|
||||||
modules.d/99base/init.sh | 14 --------------
|
|
||||||
3 files changed, 39 insertions(+), 14 deletions(-)
|
|
||||||
create mode 100755 modules.d/98pollcdrom/module-setup.sh
|
|
||||||
create mode 100644 modules.d/98pollcdrom/pollcdrom.sh
|
|
||||||
|
|
||||||
diff --git a/modules.d/98pollcdrom/module-setup.sh b/modules.d/98pollcdrom/module-setup.sh
|
|
||||||
new file mode 100755
|
|
||||||
index 0000000..e80ae16
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/modules.d/98pollcdrom/module-setup.sh
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+#!/bin/bash
|
|
||||||
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
||||||
+# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
||||||
+
|
|
||||||
+check() {
|
|
||||||
+ return 255
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+depends() {
|
|
||||||
+ return 0
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+install() {
|
|
||||||
+ inst_hook initqueue/settled 99 "$moddir/pollcdrom.sh"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
diff --git a/modules.d/98pollcdrom/pollcdrom.sh b/modules.d/98pollcdrom/pollcdrom.sh
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..4abc9d7
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/modules.d/98pollcdrom/pollcdrom.sh
|
|
||||||
@@ -0,0 +1,23 @@
|
|
||||||
+#!/bin/sh
|
|
||||||
+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
||||||
+# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
||||||
+#
|
|
||||||
+# Licensed under the GPLv2
|
|
||||||
+#
|
|
||||||
+# Copyright 2008-2012, Red Hat, Inc.
|
|
||||||
+# Harald Hoyer <harald@redhat.com>
|
|
||||||
+
|
|
||||||
+if [ ! -e /sys/module/block/parameters/events_dfl_poll_msecs ]; then
|
|
||||||
+ # if the kernel does not support autopolling
|
|
||||||
+ # then we have to do a
|
|
||||||
+ # dirty hack for some cdrom drives,
|
|
||||||
+ # which report no medium for quiet
|
|
||||||
+ # some time.
|
|
||||||
+ for cdrom in /sys/block/sr*; do
|
|
||||||
+ [ -e "$cdrom" ] || continue
|
|
||||||
+ # skip, if cdrom medium was already found
|
|
||||||
+ strstr "$(udevadm info --query=env --path=${cdrom##/sys})" \
|
|
||||||
+ ID_CDROM_MEDIA && continue
|
|
||||||
+ echo change > "$cdrom/uevent"
|
|
||||||
+ done
|
|
||||||
+fi
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index 96fd5f2..f6e4027 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -199,20 +199,6 @@ while :; do
|
|
||||||
# no more udev jobs and queues empty.
|
|
||||||
sleep 0.5
|
|
||||||
|
|
||||||
- if [ ! -e /sys/module/block/parameters/events_dfl_poll_msecs ]; then
|
|
||||||
- # if the kernel does not support autopolling
|
|
||||||
- # then we have to do a
|
|
||||||
- # dirty hack for some cdrom drives,
|
|
||||||
- # which report no medium for quiet
|
|
||||||
- # some time.
|
|
||||||
- for cdrom in /sys/block/sr*; do
|
|
||||||
- [ -e "$cdrom" ] || continue
|
|
||||||
- # skip, if cdrom medium was already found
|
|
||||||
- strstr "$(udevadm info --query=env --path=${cdrom##/sys})" \
|
|
||||||
- ID_CDROM_MEDIA && continue
|
|
||||||
- echo change > "$cdrom/uevent"
|
|
||||||
- done
|
|
||||||
- fi
|
|
||||||
|
|
||||||
if [ $main_loop -gt $(($RDRETRY/2)) ]; then
|
|
||||||
for job in $hookdir/initqueue/timeout/*.sh; do
|
|
@ -1,88 +0,0 @@
|
|||||||
From 4d518aec8614cafe96f585458f97e43d80fe3aa5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Fri, 2 Mar 2012 15:08:25 +0100
|
|
||||||
Subject: [PATCH] move wait_for_loginit() to dracut-lib.sh
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/99base/dracut-lib.sh | 28 ++++++++++++++++++++++++++++
|
|
||||||
modules.d/99base/init.sh | 28 ----------------------------
|
|
||||||
2 files changed, 28 insertions(+), 28 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
|
||||||
index c31854e..80e093b 100755
|
|
||||||
--- a/modules.d/99base/dracut-lib.sh
|
|
||||||
+++ b/modules.d/99base/dracut-lib.sh
|
|
||||||
@@ -754,6 +754,34 @@ need_shutdown() {
|
|
||||||
>/run/initramfs/.need_shutdown
|
|
||||||
}
|
|
||||||
|
|
||||||
+wait_for_loginit()
|
|
||||||
+{
|
|
||||||
+ set +x
|
|
||||||
+ [ "$RD_DEBUG" = "yes" ] || return
|
|
||||||
+ [ -e /run/initramfs/loginit.pipe ] || return
|
|
||||||
+ echo "DRACUT_LOG_END"
|
|
||||||
+ exec 0<>/dev/console 1<>/dev/console 2<>/dev/console
|
|
||||||
+ # wait for loginit
|
|
||||||
+ i=0
|
|
||||||
+ while [ $i -lt 10 ]; do
|
|
||||||
+ if [ ! -e /run/initramfs/loginit.pipe ]; then
|
|
||||||
+ j=$(jobs)
|
|
||||||
+ [ -z "$j" ] && break
|
|
||||||
+ [ -z "${j##*Running*}" ] || break
|
|
||||||
+ fi
|
|
||||||
+ sleep 0.1
|
|
||||||
+ i=$(($i+1))
|
|
||||||
+ done
|
|
||||||
+
|
|
||||||
+ if [ $i -eq 10 ]; then
|
|
||||||
+ kill %1 >/dev/null 2>&1
|
|
||||||
+ kill $(while read line;do echo $line;done</run/initramfs/loginit.pid)
|
|
||||||
+ fi
|
|
||||||
+
|
|
||||||
+ set -x
|
|
||||||
+ rm -f /run/initramfs/loginit.pipe /run/initramfs/loginit.pid
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
emergency_shell()
|
|
||||||
{
|
|
||||||
local _ctty
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index f6e4027..5d51c9d 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -10,34 +10,6 @@
|
|
||||||
|
|
||||||
export -p > /tmp/export.orig
|
|
||||||
|
|
||||||
-wait_for_loginit()
|
|
||||||
-{
|
|
||||||
- set +x
|
|
||||||
- [ "$RD_DEBUG" = "yes" ] || return
|
|
||||||
- [ -e /run/initramfs/loginit.pipe ] || return
|
|
||||||
- echo "DRACUT_LOG_END"
|
|
||||||
- exec 0<>/dev/console 1<>/dev/console 2<>/dev/console
|
|
||||||
- # wait for loginit
|
|
||||||
- i=0
|
|
||||||
- while [ $i -lt 10 ]; do
|
|
||||||
- if [ ! -e /run/initramfs/loginit.pipe ]; then
|
|
||||||
- j=$(jobs)
|
|
||||||
- [ -z "$j" ] && break
|
|
||||||
- [ -z "${j##*Running*}" ] || break
|
|
||||||
- fi
|
|
||||||
- sleep 0.1
|
|
||||||
- i=$(($i+1))
|
|
||||||
- done
|
|
||||||
-
|
|
||||||
- if [ $i -eq 10 ]; then
|
|
||||||
- kill %1 >/dev/null 2>&1
|
|
||||||
- kill $(while read line;do echo $line;done</run/initramfs/loginit.pid)
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- set -x
|
|
||||||
- rm -f /run/initramfs/loginit.pipe /run/initramfs/loginit.pid
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
NEWROOT="/sysroot"
|
|
||||||
[ -d $NEWROOT ] || mkdir -p -m 0755 $NEWROOT
|
|
||||||
|
|
@ -1,322 +0,0 @@
|
|||||||
From 25aa3c5a6eb48d14972b5c658cc7231d8f100ea8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Tue, 6 Mar 2012 18:25:24 -0500
|
|
||||||
Subject: [PATCH] network: refactor stuff from netroot/parse-ip-opts to
|
|
||||||
net-lib
|
|
||||||
|
|
||||||
Add new functions: all_ifaces_up, get_netroot_ip, ip_is_local, ifdown,
|
|
||||||
setup_net, set_ifname, ibft_to_cmdline
|
|
||||||
|
|
||||||
Use them in netroot.sh and parse-ip-opts.sh.
|
|
||||||
|
|
||||||
There's also a couple little unrelated cleanups.
|
|
||||||
---
|
|
||||||
modules.d/40network/net-lib.sh | 108 ++++++++++++++++++++++++++++++++++
|
|
||||||
modules.d/40network/netroot.sh | 71 ++--------------------
|
|
||||||
modules.d/40network/parse-ip-opts.sh | 46 ++-------------
|
|
||||||
3 files changed, 120 insertions(+), 105 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
|
|
||||||
index e3987a4..e51ce94 100644
|
|
||||||
--- a/modules.d/40network/net-lib.sh
|
|
||||||
+++ b/modules.d/40network/net-lib.sh
|
|
||||||
@@ -31,3 +31,111 @@ iface_has_link() {
|
|
||||||
[ "$(cat $interface/carrier)" = 1 ] || return 1
|
|
||||||
# XXX Do we need to reset the flags here? anaconda never bothered..
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+all_ifaces_up() {
|
|
||||||
+ local iface="" IFACES=""
|
|
||||||
+ [ -e "/tmp/net.ifaces" ] && read IFACES < /tmp/net.ifaces
|
|
||||||
+ for iface in $IFACES; do
|
|
||||||
+ [ -e /tmp/net.$iface.up ] || return 1
|
|
||||||
+ done
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+get_netroot_ip() {
|
|
||||||
+ local prefix="" server="" rest=""
|
|
||||||
+ splitsep "$1" ":" prefix server rest
|
|
||||||
+ case $server in
|
|
||||||
+ [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*) echo "$server"; return 0 ;;
|
|
||||||
+ esac
|
|
||||||
+ return 1
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+ip_is_local() {
|
|
||||||
+ strstr "$(ip route get $1 2>/dev/null)" " via "
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+ifdown() {
|
|
||||||
+ local netif="$1"
|
|
||||||
+ # ip down/flush ensures that routing info goes away as well
|
|
||||||
+ ip link set $netif down
|
|
||||||
+ ip addr flush dev $netif
|
|
||||||
+ echo "#empty" > /etc/resolv.conf
|
|
||||||
+ # TODO: send "offline" uevent?
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+setup_net() {
|
|
||||||
+ local netif="$1" f="" gw_ip="" netroot_ip="" iface="" IFACES=""
|
|
||||||
+ [ -e /tmp/net.$netif.up ] || return 1
|
|
||||||
+ [ -e "/tmp/net.ifaces" ] && read IFACES < /tmp/net.ifaces
|
|
||||||
+ [ -z "$IFACES" ] && IFACES="$netif"
|
|
||||||
+ for iface in $IFACES ; do
|
|
||||||
+ . /tmp/net.$iface.up
|
|
||||||
+ done
|
|
||||||
+ # run the scripts written by ifup
|
|
||||||
+ [ -e /tmp/net.$netif.gw ] && . /tmp/net.$netif.gw
|
|
||||||
+ [ -e /tmp/net.$netif.hostname ] && . /tmp/net.$netif.hostname
|
|
||||||
+ [ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
|
|
||||||
+ [ -e /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
|
|
||||||
+ # set up resolv.conf
|
|
||||||
+ [ -e /tmp/net.$netif.resolv.conf ] && \
|
|
||||||
+ cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf
|
|
||||||
+
|
|
||||||
+ # Handle STP Timeout: arping the default gateway.
|
|
||||||
+ # (or the root server, if a) it's local or b) there's no gateway.)
|
|
||||||
+ # Note: This assumes that if no router is present the
|
|
||||||
+ # root server is on the same subnet.
|
|
||||||
+
|
|
||||||
+ # Get DHCP-provided router IP, or the cmdline-provided "gw=" argument
|
|
||||||
+ [ -n "$new_routers" ] && gw_ip=${new_routers%%,*}
|
|
||||||
+ [ -n "$gw" ] && gw_ip=$gw
|
|
||||||
+
|
|
||||||
+ # Get the "netroot" IP (if there's an IP address in there)
|
|
||||||
+ netroot_ip=$(get_netroot_ip $netroot)
|
|
||||||
+
|
|
||||||
+ # try netroot if it's local (or there's no gateway)
|
|
||||||
+ if ip_is_local $netroot_ip || [ -z "$gw_ip" ]; then
|
|
||||||
+ dest="$netroot_ip"
|
|
||||||
+ else
|
|
||||||
+ dest="$gw_ip"
|
|
||||||
+ fi
|
|
||||||
+ if [ -n "$dest" ] && ! arping -q -f -w 60 -I $netif $dest ; then
|
|
||||||
+ info "Resolving $dest via ARP on $netif failed"
|
|
||||||
+ fi
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+set_ifname() {
|
|
||||||
+ local name="$1" mac="$2" num=0 n=""
|
|
||||||
+ # if it's already set, return the existing name
|
|
||||||
+ for n in $(getargs ifname=); do
|
|
||||||
+ strstr "$n" "$mac" && echo ${n%%:*} && return
|
|
||||||
+ done
|
|
||||||
+ # otherwise, pick a new name and use that
|
|
||||||
+ while [ -e /sys/class/$name$num ]; do num=$(($num+1)); done
|
|
||||||
+ echo "ifname=$name$num:$mac" >> /etc/cmdline.d/45-ifname.conf
|
|
||||||
+ echo "$name$num"
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+ibft_to_cmdline() {
|
|
||||||
+ local iface="" mac="" dev=""
|
|
||||||
+ local dhcp="" ip="" gw="" mask="" hostname=""
|
|
||||||
+ modprobe -q iscsi_ibft
|
|
||||||
+ (
|
|
||||||
+ for iface in /sys/firmware/ibft/ethernet*; do
|
|
||||||
+ [ -e ${iface}/mac ] || continue
|
|
||||||
+ mac=$(read a < ${iface}/mac; echo $a)
|
|
||||||
+ [ -z "$ifname_mac" ] && continue
|
|
||||||
+ dev=$(set_ifname ibft $ifname_mac)
|
|
||||||
+ dhcp=$(read a < ${iface}/dhcp; echo $a)
|
|
||||||
+ if [ -n "$dhcp" ]; then
|
|
||||||
+ echo "ip=$dev:dhcp"
|
|
||||||
+ else
|
|
||||||
+ ip=$(read a < ${iface}/ip-addr; echo $a)
|
|
||||||
+ gw=$(read a < ${iface}/gateway; echo $a)
|
|
||||||
+ mask=$(read a < ${iface}/subnet-mask; echo $a)
|
|
||||||
+ hostname=$(read a < ${iface}/hostname; echo $a)
|
|
||||||
+ echo "ip=$ip::$gw:$mask:$hostname:$dev:none"
|
|
||||||
+ fi
|
|
||||||
+ done
|
|
||||||
+ ) >> /etc/cmdline.d/40-ibft.conf
|
|
||||||
+ # reread cmdline
|
|
||||||
+ unset CMDLINE
|
|
||||||
+}
|
|
||||||
diff --git a/modules.d/40network/netroot.sh b/modules.d/40network/netroot.sh
|
|
||||||
index c5ee84c..ac1c215 100755
|
|
||||||
--- a/modules.d/40network/netroot.sh
|
|
||||||
+++ b/modules.d/40network/netroot.sh
|
|
||||||
@@ -3,14 +3,12 @@
|
|
||||||
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
||||||
|
|
||||||
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
-type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
|
||||||
+command -v getarg >/dev/null || . /lib/dracut-lib.sh
|
|
||||||
+command -v setup_net >/dev/null || . /lib/net-lib.sh
|
|
||||||
|
|
||||||
# Huh? Empty $1?
|
|
||||||
[ -z "$1" ] && exit 1
|
|
||||||
|
|
||||||
-# Huh? No interface config?
|
|
||||||
-[ ! -e /tmp/net.$1.up ] && exit 1
|
|
||||||
-
|
|
||||||
# [ ! -z $2 ] means this is for manually bringing up network
|
|
||||||
# instead of real netroot; If It's called without $2, then there's
|
|
||||||
# no sense in doing something if no (net)root info is available
|
|
||||||
@@ -23,10 +21,7 @@ fi
|
|
||||||
# Let's see if we have to wait for other interfaces
|
|
||||||
# Note: exit works just fine, since the last interface to be
|
|
||||||
# online'd should see all files
|
|
||||||
-[ -e "/tmp/net.ifaces" ] && read IFACES < /tmp/net.ifaces
|
|
||||||
-for iface in $IFACES ; do
|
|
||||||
- [ -e /tmp/net.$iface.up ] || exit 1
|
|
||||||
-done
|
|
||||||
+all_ifaces_up || exit 1
|
|
||||||
|
|
||||||
# Set or override primary interface
|
|
||||||
netif=$1
|
|
||||||
@@ -78,62 +73,13 @@ if [ -z "$2" ]; then
|
|
||||||
fi
|
|
||||||
|
|
||||||
# We're here, so we can assume that upping interfaces is now ok
|
|
||||||
-[ -z "$IFACES" ] && IFACES="$netif"
|
|
||||||
-for iface in $IFACES ; do
|
|
||||||
- . /tmp/net.$iface.up
|
|
||||||
-done
|
|
||||||
-
|
|
||||||
-[ -e /tmp/net.$netif.gw ] && . /tmp/net.$netif.gw
|
|
||||||
-[ -e /tmp/net.$netif.hostname ] && . /tmp/net.$netif.hostname
|
|
||||||
-[ -e /tmp/net.$netif.resolv.conf ] && cp -f /tmp/net.$netif.resolv.conf /etc/resolv.conf
|
|
||||||
-
|
|
||||||
-# Load interface options
|
|
||||||
-[ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
|
|
||||||
-[ -e /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
|
|
||||||
-
|
|
||||||
-# Handle STP Timeout: arping the default router if root server is
|
|
||||||
-# unknown or not local, or if not available the root server.
|
|
||||||
-# Note: This assumes that if no router is present the
|
|
||||||
-# root server is on the same subnet.
|
|
||||||
-#
|
|
||||||
-# TODO There's some netroot variants that don't (yet) have their
|
|
||||||
-# server-ip netroot
|
|
||||||
-
|
|
||||||
-# Get router IP if set
|
|
||||||
-[ -n "$new_routers" ] && gw_ip=${new_routers%%,*}
|
|
||||||
-[ -n "$gw" ] && gw_ip=$gw
|
|
||||||
-# Get root server IP if set
|
|
||||||
-if [ -n "$netroot" ]; then
|
|
||||||
- dummy=${netroot#*:}
|
|
||||||
- dummy=${dummy%%:*}
|
|
||||||
- case "$dummy" in
|
|
||||||
- [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*) netroot_ip=$dummy;;
|
|
||||||
- esac
|
|
||||||
-fi
|
|
||||||
-# Default arping dest to router
|
|
||||||
-dest="$gw_ip"
|
|
||||||
-# Change to arping root server if appropriate
|
|
||||||
-if [ -n "$netroot_ip" ]; then
|
|
||||||
- if [ -z "$dest" ]; then
|
|
||||||
- # no gateway so check root server
|
|
||||||
- dest="$netroot_ip"
|
|
||||||
- else
|
|
||||||
- r=$(ip route get "$netroot_ip")
|
|
||||||
- if ! strstr "$r" ' via ' ; then
|
|
||||||
- # local root server, so don't arping gateway
|
|
||||||
- dest="$netroot_ip"
|
|
||||||
- fi
|
|
||||||
- fi
|
|
||||||
-fi
|
|
||||||
-if [ -n "$dest" ] && ! arping -q -f -w 60 -I $netif $dest ; then
|
|
||||||
- dinfo "Resolving $dest via ARP on $netif failed"
|
|
||||||
-fi
|
|
||||||
+setup_net $netif
|
|
||||||
|
|
||||||
# exit in case manually bring up network
|
|
||||||
[ -n "$2" ] && exit 0
|
|
||||||
|
|
||||||
# Source netroot hooks before we start the handler
|
|
||||||
-source_all $hookdir/netroot
|
|
||||||
+source_hook netroot
|
|
||||||
|
|
||||||
# Run the handler; don't store the root, it may change from device to device
|
|
||||||
# XXX other variables to export?
|
|
||||||
@@ -149,11 +95,6 @@ if $handler $netif $netroot $NEWROOT; then
|
|
||||||
else
|
|
||||||
warn "Mounting root via '$netif' failed"
|
|
||||||
# If we're trying with multiple interfaces, put that one down.
|
|
||||||
- # ip down/flush ensures that routeing info goes away as well
|
|
||||||
- if [ -z "$BOOTDEV" ] ; then
|
|
||||||
- ip link set $netif down
|
|
||||||
- ip addr flush dev $netif
|
|
||||||
- echo "#empty" > /etc/resolv.conf
|
|
||||||
- fi
|
|
||||||
+ [ -z "$BOOTDEV" ] && ifdown $netif
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
|
|
||||||
index c97941e..7851329 100755
|
|
||||||
--- a/modules.d/40network/parse-ip-opts.sh
|
|
||||||
+++ b/modules.d/40network/parse-ip-opts.sh
|
|
||||||
@@ -14,7 +14,8 @@
|
|
||||||
# routing,dns,dhcp-options,etc.
|
|
||||||
#
|
|
||||||
|
|
||||||
-type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
|
||||||
+command -v getarg >/dev/null || . /lib/dracut-lib.sh
|
|
||||||
+command -v ibft_to_cmdline >/dev/null || . /lib/net-lib.sh
|
|
||||||
|
|
||||||
# Check if ip= lines should be used
|
|
||||||
if getarg ip= >/dev/null ; then
|
|
||||||
@@ -52,50 +53,15 @@ if [ -n "$NEEDBOOTDEV" ] ; then
|
|
||||||
[ -z "$BOOTDEV" ] && die "Bootdev argument is empty"
|
|
||||||
fi
|
|
||||||
|
|
||||||
-if [ "ibft" = "$(getarg ip=)" ]; then
|
|
||||||
- modprobe iscsi_ibft
|
|
||||||
- num=0
|
|
||||||
- (
|
|
||||||
- for iface in /sys/firmware/ibft/ethernet*; do
|
|
||||||
- [ -e ${iface}/mac ] || continue
|
|
||||||
- ifname_mac=$(read a < ${iface}/mac; echo $a)
|
|
||||||
- [ -z "$ifname_mac" ] && continue
|
|
||||||
- unset dev
|
|
||||||
- for ifname in $(getargs ifname=); do
|
|
||||||
- if strstr "$ifname" "$ifname_mac"; then
|
|
||||||
- dev=${ifname%%:*}
|
|
||||||
- break
|
|
||||||
- fi
|
|
||||||
- done
|
|
||||||
- if [ -z "$dev" ]; then
|
|
||||||
- ifname_if=ibft$num
|
|
||||||
- num=$(( $num + 1 ))
|
|
||||||
- echo "ifname=$ifname_if:$ifname_mac"
|
|
||||||
- dev=$ifname_if
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- dhcp=$(read a < ${iface}/dhcp; echo $a)
|
|
||||||
- if [ -n "$dhcp" ]; then
|
|
||||||
- echo "ip=$dev:dhcp"
|
|
||||||
- else
|
|
||||||
- ip=$(read a < ${iface}/ip-addr; echo $a)
|
|
||||||
- gw=$(read a < ${iface}/gateway; echo $a)
|
|
||||||
- mask=$(read a < ${iface}/subnet-mask; echo $a)
|
|
||||||
- hostname=$(read a < ${iface}/hostname; echo $a)
|
|
||||||
- echo "ip=$ip::$gw:$mask:$hostname:$dev:none"
|
|
||||||
- fi
|
|
||||||
- done
|
|
||||||
- ) >> /etc/cmdline
|
|
||||||
- # reread cmdline
|
|
||||||
- unset CMDLINE
|
|
||||||
-fi
|
|
||||||
+# If ibft is requested, read ibft vals and write ip=XXX cmdline args
|
|
||||||
+[ "ibft" = "$(getarg ip=)" ] && ibft_to_cmdline
|
|
||||||
|
|
||||||
# Check ip= lines
|
|
||||||
# XXX Would be nice if we could errorcheck ip addresses here as well
|
|
||||||
for p in $(getargs ip=); do
|
|
||||||
ip_to_var $p
|
|
||||||
|
|
||||||
- # skip ibft
|
|
||||||
+ # skip ibft since we did it above
|
|
||||||
[ "$autoconf" = "ibft" ] && continue
|
|
||||||
|
|
||||||
# We need to have an ip= line for the specified bootdev
|
|
||||||
@@ -111,7 +77,7 @@ for p in $(getargs ip=); do
|
|
||||||
case $autoconf in
|
|
||||||
error) die "Error parsing option 'ip=$p'";;
|
|
||||||
bootp|rarp|both) die "Sorry, ip=$autoconf is currenty unsupported";;
|
|
||||||
- none|off) \
|
|
||||||
+ none|off)
|
|
||||||
[ -z "$ip" ] && \
|
|
||||||
die "For argument 'ip=$p'\nValue '$autoconf' without static configuration does not make sense"
|
|
||||||
[ -z "$mask" ] && \
|
|
@ -1,109 +0,0 @@
|
|||||||
From 6e3cc00f4882edbabea75945308f8ae7c353bf82 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Tue, 6 Mar 2012 18:25:25 -0500
|
|
||||||
Subject: [PATCH] add initqueue --env and "online" hook
|
|
||||||
|
|
||||||
The "online" hook runs whenever a network interface comes online (that
|
|
||||||
is, once it's actually up and configured).
|
|
||||||
|
|
||||||
The initqueue --env argument is used to set "$netif" to the name of the
|
|
||||||
newly-online network interface.
|
|
||||||
---
|
|
||||||
dracut-functions.sh | 2 +-
|
|
||||||
modules.d/40network/net-genrules.sh | 24 +++++++++---------------
|
|
||||||
modules.d/99base/initqueue.sh | 15 +++++++--------
|
|
||||||
3 files changed, 17 insertions(+), 24 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
|
||||||
index 05c1d3a..f4ccf53 100755
|
|
||||||
--- a/dracut-functions.sh
|
|
||||||
+++ b/dracut-functions.sh
|
|
||||||
@@ -35,7 +35,7 @@ fi
|
|
||||||
# export standard hookdirs
|
|
||||||
[[ $hookdirs ]] || {
|
|
||||||
hookdirs="cmdline pre-udev pre-trigger netroot "
|
|
||||||
- hookdirs+="initqueue initqueue/settled initqueue/finished initqueue/timeout "
|
|
||||||
+ hookdirs+="initqueue initqueue/settled initqueue/online initqueue/finished initqueue/timeout "
|
|
||||||
hookdirs+="pre-mount pre-pivot mount "
|
|
||||||
hookdirs+="emergency shutdown-emergency shutdown cleanup "
|
|
||||||
export hookdirs
|
|
||||||
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
|
|
||||||
index 6c46d9a..84fd3ac 100755
|
|
||||||
--- a/modules.d/40network/net-genrules.sh
|
|
||||||
+++ b/modules.d/40network/net-genrules.sh
|
|
||||||
@@ -31,33 +31,27 @@ fix_bootif() {
|
|
||||||
IFACES=${bondslaves%% *}
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ ifup='/sbin/ifup $env{INTERFACE}'
|
|
||||||
+ [ -z "$netroot" ] && ifup="$ifup -m"
|
|
||||||
+
|
|
||||||
# BOOTIF says everything, use only that one
|
|
||||||
BOOTIF=$(getarg 'BOOTIF=')
|
|
||||||
if [ -n "$BOOTIF" ] ; then
|
|
||||||
BOOTIF=$(fix_bootif "$BOOTIF")
|
|
||||||
- if [ -n "$netroot" ]; then
|
|
||||||
- printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE}"\n' "$BOOTIF"
|
|
||||||
- else
|
|
||||||
- printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE} -m"\n' "$BOOTIF"
|
|
||||||
- fi
|
|
||||||
+ printf 'ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="%s", RUN+="%s"\n' "$BOOTIF" "/sbin/initqueue --onetime $ifup"
|
|
||||||
|
|
||||||
# If we have to handle multiple interfaces, handle only them.
|
|
||||||
elif [ -n "$IFACES" ] ; then
|
|
||||||
for iface in $IFACES ; do
|
|
||||||
- if [ -n "$netroot" ]; then
|
|
||||||
- printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE}"\n' "$iface"
|
|
||||||
- else
|
|
||||||
- printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE} -m"\n' "$iface"
|
|
||||||
- fi
|
|
||||||
+ printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", RUN+="%s"\n' "$iface" "/sbin/initqueue --onetime $ifup"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Default: We don't know the interface to use, handle all
|
|
||||||
else
|
|
||||||
- if [ -n "$netroot" ]; then
|
|
||||||
- printf 'SUBSYSTEM=="net", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE}"\n'
|
|
||||||
- else
|
|
||||||
- printf 'SUBSYSTEM=="net", OPTIONS+="event_timeout=360", RUN+="/sbin/initqueue --onetime /sbin/ifup $env{INTERFACE} -m"\n'
|
|
||||||
- fi
|
|
||||||
+ printf 'SUBSYSTEM=="net", RUN+="%s"\n' "/sbin/initqueue --onetime $ifup"
|
|
||||||
fi
|
|
||||||
|
|
||||||
+ # Run the "online" hook
|
|
||||||
+ printf 'SUBSYSTEM=="net", ACTION=="online", RUN+="/sbin/initqueue --onetime --env netif=$env{INTERFACE} source_hook initqueue/online"\n'
|
|
||||||
+
|
|
||||||
} > /etc/udev/rules.d/60-net.rules
|
|
||||||
diff --git a/modules.d/99base/initqueue.sh b/modules.d/99base/initqueue.sh
|
|
||||||
index 2c06a0b..3387e88 100755
|
|
||||||
--- a/modules.d/99base/initqueue.sh
|
|
||||||
+++ b/modules.d/99base/initqueue.sh
|
|
||||||
@@ -25,6 +25,8 @@ while [ $# -gt 0 ]; do
|
|
||||||
unique="yes";;
|
|
||||||
--name)
|
|
||||||
name="$2";shift;;
|
|
||||||
+ --env)
|
|
||||||
+ env="$2"; shift;;
|
|
||||||
*)
|
|
||||||
break;;
|
|
||||||
esac
|
|
||||||
@@ -43,14 +45,11 @@ shift
|
|
||||||
|
|
||||||
[ -x "$exe" ] || exe=$(command -v $exe)
|
|
||||||
|
|
||||||
-if [ -n "$onetime" ]; then
|
|
||||||
- {
|
|
||||||
- echo '[ -e "$job" ] && rm "$job"'
|
|
||||||
- echo "$exe $@"
|
|
||||||
- } > "/tmp/$$-${job}.sh"
|
|
||||||
-else
|
|
||||||
- echo "$exe $@" > "/tmp/$$-${job}.sh"
|
|
||||||
-fi
|
|
||||||
+{
|
|
||||||
+ [ -n "$onetime" ] && echo '[ -e "$job" ] && rm "$job"'
|
|
||||||
+ [ -n "$env" ] && echo "$env"
|
|
||||||
+ echo "$exe $@"
|
|
||||||
+} > "/tmp/$$-${job}.sh"
|
|
||||||
|
|
||||||
mv -f "/tmp/$$-${job}.sh" "$hookdir/initqueue${qname}/${job}.sh"
|
|
||||||
[ -z "$qname" ] && >> $hookdir/initqueue/work
|
|
@ -1,22 +0,0 @@
|
|||||||
From 0635530dda6e12e2475b43bd65ca4943ce36a7e7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 12:25:30 +0100
|
|
||||||
Subject: [PATCH] TEST-20-NFS/test.sh: fsck with "-a"
|
|
||||||
|
|
||||||
---
|
|
||||||
test/TEST-20-NFS/test.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/test/TEST-20-NFS/test.sh b/test/TEST-20-NFS/test.sh
|
|
||||||
index fcd424f..a6bde0e 100755
|
|
||||||
--- a/test/TEST-20-NFS/test.sh
|
|
||||||
+++ b/test/TEST-20-NFS/test.sh
|
|
||||||
@@ -12,7 +12,7 @@ run_server() {
|
|
||||||
# Start server first
|
|
||||||
echo "NFS TEST SETUP: Starting DHCP/NFS server"
|
|
||||||
|
|
||||||
- fsck $TESTDIR/server.ext3 || return 1
|
|
||||||
+ fsck -a $TESTDIR/server.ext3 || return 1
|
|
||||||
$testdir/run-qemu \
|
|
||||||
-hda $TESTDIR/server.ext3 -m 256M -nographic \
|
|
||||||
-net nic,macaddr=52:54:00:12:34:56,model=e1000 \
|
|
@ -1,50 +0,0 @@
|
|||||||
From f8208d682fad279bebb2019c5df57f8d42b133c6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 12:26:00 +0100
|
|
||||||
Subject: [PATCH] 95iscsi/iscsiroot.sh: fix for empty $root
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/95iscsi/iscsiroot.sh | 15 ++++++---------
|
|
||||||
1 file changed, 6 insertions(+), 9 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
|
|
||||||
index 1bd6dd3..7fa2715 100755
|
|
||||||
--- a/modules.d/95iscsi/iscsiroot.sh
|
|
||||||
+++ b/modules.d/95iscsi/iscsiroot.sh
|
|
||||||
@@ -40,7 +40,7 @@ modprobe crc32c 2>/dev/null
|
|
||||||
[ -e /sys/module/bnx2i ] && iscsiuio
|
|
||||||
|
|
||||||
if getargbool 0 rd.iscsi.firmware -y iscsi_firmware ; then
|
|
||||||
- if [ -n "${root%%block:*}" ]; then
|
|
||||||
+ if [ -z "$root" -o -n "${root%%block:*}" ]; then
|
|
||||||
# if root is not specified try to mount the whole iSCSI LUN
|
|
||||||
printf 'ENV{DEVTYPE}!="partition", SYMLINK=="disk/by-path/*-iscsi-*-*", SYMLINK+="root"\n' >> /etc/udev/rules.d/99-iscsi-root.rules
|
|
||||||
udevadm control --reload
|
|
||||||
@@ -167,9 +167,12 @@ handle_netroot()
|
|
||||||
|
|
||||||
# FIXME $iscsi_protocol??
|
|
||||||
|
|
||||||
- if [ -n "${root%%block:*}" ]; then
|
|
||||||
- # if root is not specified try to mount the whole iSCSI LUN
|
|
||||||
+ if [ -z "$root" -o -n "${root%%block:*}" ]; then
|
|
||||||
+ # if root is not specified try to mount the whole iSCSI LUN
|
|
||||||
printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' $iscsi_lun >> /etc/udev/rules.d/99-iscsi-root.rules
|
|
||||||
+
|
|
||||||
+ # install mount script
|
|
||||||
+ echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
|
|
||||||
fi
|
|
||||||
|
|
||||||
# inject new exit_if_exists
|
|
||||||
@@ -185,12 +188,6 @@ handle_netroot()
|
|
||||||
${iscsi_password+-w $iscsi_password} \
|
|
||||||
${iscsi_in_username+-U $iscsi_in_username} \
|
|
||||||
${iscsi_in_password+-W $iscsi_in_password} || :
|
|
||||||
-
|
|
||||||
-# install mount script
|
|
||||||
- if [ -n "${root%%block:*}" ]; then
|
|
||||||
- # if root is not specified try to mount the whole iSCSI LUN
|
|
||||||
- echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
|
|
||||||
- fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# loop over all netroot parameter
|
|
@ -1,21 +0,0 @@
|
|||||||
From d33d60774f38f43053c2cd1811b78c4f1af0fdc9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 13:40:21 +0100
|
|
||||||
Subject: [PATCH] dracut.spec: add 98pollcdrom
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut.spec | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
|
||||||
index 91b3451..0275af3 100644
|
|
||||||
--- a/dracut.spec
|
|
||||||
+++ b/dracut.spec
|
|
||||||
@@ -272,6 +272,7 @@ rm -rf $RPM_BUILD_ROOT
|
|
||||||
%{dracutlibdir}/modules.d/97masterkey
|
|
||||||
%{dracutlibdir}/modules.d/98ecryptfs
|
|
||||||
%{dracutlibdir}/modules.d/98integrity
|
|
||||||
+%{dracutlibdir}/modules.d/98pollcdrom
|
|
||||||
%{dracutlibdir}/modules.d/98selinux
|
|
||||||
%{dracutlibdir}/modules.d/98syslog
|
|
||||||
%{dracutlibdir}/modules.d/98usrmount
|
|
@ -1,26 +0,0 @@
|
|||||||
From 2ff3fc73c81e0170c46683589d9ad705f3a5ad45 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
|
|
||||||
Date: Fri, 2 Mar 2012 11:41:37 +0100
|
|
||||||
Subject: [PATCH] install ctcm network module on s390
|
|
||||||
|
|
||||||
The ctcm module is not loaded automagically because it doesn't pass the
|
|
||||||
"ether_type_trans" test in 40net/module-setup.sh, so load it explicitly.
|
|
||||||
---
|
|
||||||
modules.d/95znet/module-setup.sh | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh
|
|
||||||
index fbb79aa..b354947 100755
|
|
||||||
--- a/modules.d/95znet/module-setup.sh
|
|
||||||
+++ b/modules.d/95znet/module-setup.sh
|
|
||||||
@@ -13,6 +13,10 @@ depends() {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
+installkernel() {
|
|
||||||
+ instmods ctcm
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
install() {
|
|
||||||
inst_hook cmdline 30 "$moddir/parse-ccw.sh"
|
|
||||||
inst /lib/udev/ccw_init
|
|
@ -1,48 +0,0 @@
|
|||||||
From 04febed7822979d38cecb47b8675d021bbd7bd72 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 18:02:29 -0500
|
|
||||||
Subject: [PATCH] img-lib: fix unpack_img()
|
|
||||||
|
|
||||||
- det_img should have been det_archive
|
|
||||||
- for ft=xz|gzip|bzip2, decompr should be "$ft -dc"
|
|
||||||
---
|
|
||||||
modules.d/99img-lib/img-lib.sh | 7 ++++---
|
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99img-lib/img-lib.sh b/modules.d/99img-lib/img-lib.sh
|
|
||||||
index f6be26d..22507aa 100755
|
|
||||||
--- a/modules.d/99img-lib/img-lib.sh
|
|
||||||
+++ b/modules.d/99img-lib/img-lib.sh
|
|
||||||
@@ -1,12 +1,13 @@
|
|
||||||
#!/bin/sh
|
|
||||||
# img-lib.sh: utilities for dealing with archives and filesystem images.
|
|
||||||
#
|
|
||||||
-# TODO: identify/unpack rpm, deb?
|
|
||||||
+# TODO: identify/unpack rpm, deb, maybe others?
|
|
||||||
|
|
||||||
|
|
||||||
# super-simple "file" that only identifies archives.
|
|
||||||
# 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 headerblock="$(dd ${1:+if=$1} bs=262 count=1 2>/dev/null)"
|
|
||||||
case "$headerblock" in
|
|
||||||
@@ -32,7 +33,7 @@ unpack_archive() {
|
|
||||||
local img="$1" outdir="$2" archiver="" decompr=""
|
|
||||||
local ft="$(det_archive $img)"
|
|
||||||
case "$ft" in
|
|
||||||
- xz|gzip|bzip2) decompr="$decompr -dc" ;;
|
|
||||||
+ xz|gzip|bzip2) decompr="$ft -dc" ;;
|
|
||||||
cpio|tar) decompr="cat";;
|
|
||||||
*) return 1 ;;
|
|
||||||
esac
|
|
||||||
@@ -64,7 +65,7 @@ unpack_img() {
|
|
||||||
[ -r "$img" ] || { warn "can't read img!"; return 1; }
|
|
||||||
[ -n "$outdir" ] || { warn "unpack_img: no output dir given"; return 1; }
|
|
||||||
|
|
||||||
- if [ "$(det_img $img)" ]; then
|
|
||||||
+ if [ "$(det_archive $img)" ]; then
|
|
||||||
unpack_archive "$@" || { warn "can't unpack archive file!"; return 1; }
|
|
||||||
else
|
|
||||||
unpack_fs "$@" || { warn "can't unpack filesystem image!"; return 1; }
|
|
@ -1,48 +0,0 @@
|
|||||||
From 7e60091c6b1aefb52581066d9dc04fa0ecc0e5fc Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 18:03:39 -0500
|
|
||||||
Subject: [PATCH] url-lib: clean up output
|
|
||||||
|
|
||||||
For curl_fetch_url (http/https/ftp):
|
|
||||||
- use --progress-bar (the output is less messy)
|
|
||||||
- print the URL we're fetching so the user know's what's happening
|
|
||||||
|
|
||||||
For curl and nfs:
|
|
||||||
- don't echo the filename if it was provided by the user
|
|
||||||
---
|
|
||||||
modules.d/45url-lib/url-lib.sh | 7 ++++---
|
|
||||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/45url-lib/url-lib.sh b/modules.d/45url-lib/url-lib.sh
|
|
||||||
index 043a700..e305a68 100755
|
|
||||||
--- a/modules.d/45url-lib/url-lib.sh
|
|
||||||
+++ b/modules.d/45url-lib/url-lib.sh
|
|
||||||
@@ -53,9 +53,10 @@ add_url_handler() {
|
|
||||||
|
|
||||||
export CURL_HOME="/run/initramfs/url-lib"
|
|
||||||
mkdir -p $CURL_HOME
|
|
||||||
-curl_args="--location --retry 3 --fail --show-error"
|
|
||||||
+curl_args="--location --retry 3 --fail --show-error --progress-bar"
|
|
||||||
curl_fetch_url() {
|
|
||||||
local url="$1" outloc="$2"
|
|
||||||
+ echo "$url" > /proc/self/fd/0
|
|
||||||
if [ -n "$outloc" ]; then
|
|
||||||
curl $curl_args --output "$outloc" "$url" || return $?
|
|
||||||
else
|
|
||||||
@@ -64,7 +65,7 @@ curl_fetch_url() {
|
|
||||||
outloc="$outdir/$(ls -A $outdir)"
|
|
||||||
fi
|
|
||||||
[ -f "$outloc" ] || return 253
|
|
||||||
- echo "$outloc"
|
|
||||||
+ if [ -z "$2" ]; then echo "$outloc" ; fi
|
|
||||||
}
|
|
||||||
add_url_handler curl_fetch_url http https ftp
|
|
||||||
|
|
||||||
@@ -110,6 +111,6 @@ nfs_fetch_url() {
|
|
||||||
cp -f "$mntdir/$filename" "$outloc" || return $?
|
|
||||||
fi
|
|
||||||
[ -f "$outloc" ] || return 253
|
|
||||||
- echo "$outloc"
|
|
||||||
+ if [ -z "$2" ]; then echo "$outloc" ; fi
|
|
||||||
}
|
|
||||||
command -v nfs_to_var >/dev/null && add_url_handler nfs_fetch_url nfs nfs4
|
|
@ -1,94 +0,0 @@
|
|||||||
From 52c4c9484d0cdccad7d9a3cc684677e784edab53 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Thu, 8 Mar 2012 18:03:48 -0500
|
|
||||||
Subject: [PATCH] Add 'live.updates' to livenet module
|
|
||||||
|
|
||||||
live.updates allows you to specify the URL for an "updates image" that
|
|
||||||
should be applied to the live runtime before switch_root.
|
|
||||||
|
|
||||||
The URL can be anything supported by url-lib (http, https, ftp, possibly
|
|
||||||
nfs) and the image can be anything supported by img-lib (xz/gzip
|
|
||||||
compressed cpio/tar, uncompressed cpio/tar, filesystem image, etc.)
|
|
||||||
---
|
|
||||||
modules.d/90livenet/fetch-liveupdate.sh | 32 +++++++++++++++++++++++++++++++
|
|
||||||
modules.d/90livenet/module-setup.sh | 1 +
|
|
||||||
modules.d/90livenet/parse-livenet.sh | 12 +++++++++++-
|
|
||||||
3 files changed, 44 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100755 modules.d/90livenet/fetch-liveupdate.sh
|
|
||||||
|
|
||||||
diff --git a/modules.d/90livenet/fetch-liveupdate.sh b/modules.d/90livenet/fetch-liveupdate.sh
|
|
||||||
new file mode 100755
|
|
||||||
index 0000000..8a5fdec
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/modules.d/90livenet/fetch-liveupdate.sh
|
|
||||||
@@ -0,0 +1,32 @@
|
|
||||||
+#!/bin/sh
|
|
||||||
+# fetch-liveupdate - fetch an update image for dmsquash-live media.
|
|
||||||
+# this gets called by the "initqueue/online" hook for each network interface
|
|
||||||
+# that comes online.
|
|
||||||
+
|
|
||||||
+# no updates requested? we're not needed.
|
|
||||||
+[ -e /tmp/liveupdates.info ] || return 0
|
|
||||||
+
|
|
||||||
+command -v getarg >/dev/null || . /lib/dracut-lib.sh
|
|
||||||
+command -v fetch_url >/dev/null || . /lib/url-lib.sh
|
|
||||||
+command -v unpack_img >/dev/null || . /lib/img-lib.sh
|
|
||||||
+
|
|
||||||
+read url < /tmp/liveupdates.info
|
|
||||||
+
|
|
||||||
+info "fetching live updates from $url"
|
|
||||||
+
|
|
||||||
+fetch_url "$url" /tmp/updates.img
|
|
||||||
+if [ $? != 0 ]; then
|
|
||||||
+ warn "failed to fetch update image!"
|
|
||||||
+ warn "url: $url"
|
|
||||||
+ return 1
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
+unpack_img /tmp/updates.img /updates.tmp.$$
|
|
||||||
+if [ $? != 0 ]; then
|
|
||||||
+ warn "failed to unpack update image!"
|
|
||||||
+ warn "url: $url"
|
|
||||||
+ return 1
|
|
||||||
+fi
|
|
||||||
+rm -rf /updates
|
|
||||||
+mv -f /updates.tmp.$$ /updates
|
|
||||||
+mv /tmp/liveupdates.info /tmp/liveupdates.done
|
|
||||||
diff --git a/modules.d/90livenet/module-setup.sh b/modules.d/90livenet/module-setup.sh
|
|
||||||
index c650ef3..2071553 100755
|
|
||||||
--- a/modules.d/90livenet/module-setup.sh
|
|
||||||
+++ b/modules.d/90livenet/module-setup.sh
|
|
||||||
@@ -12,6 +12,7 @@ depends() {
|
|
||||||
|
|
||||||
install() {
|
|
||||||
inst_hook cmdline 29 "$moddir/parse-livenet.sh"
|
|
||||||
+ inst_hook initqueue/online 95 "$moddir/fetch-liveupdate.sh"
|
|
||||||
inst "$moddir/livenetroot.sh" "/sbin/livenetroot"
|
|
||||||
}
|
|
||||||
|
|
||||||
diff --git a/modules.d/90livenet/parse-livenet.sh b/modules.d/90livenet/parse-livenet.sh
|
|
||||||
index 926dba2..3553cef 100755
|
|
||||||
--- a/modules.d/90livenet/parse-livenet.sh
|
|
||||||
+++ b/modules.d/90livenet/parse-livenet.sh
|
|
||||||
@@ -1,10 +1,20 @@
|
|
||||||
-#!/bin/bash
|
|
||||||
+#!/bin/sh
|
|
||||||
# live net images - just like live images, but specified like:
|
|
||||||
# root=live:[url-to-backing-file]
|
|
||||||
|
|
||||||
[ -z "$root" ] && root=$(getarg root=)
|
|
||||||
. /lib/url-lib.sh
|
|
||||||
|
|
||||||
+# live updates
|
|
||||||
+updates=$(getarg live.updates=)
|
|
||||||
+if [ -n "$updates" ]; then
|
|
||||||
+ # make sure network comes up even if we're doing a local live device
|
|
||||||
+ [ -z "$netroot" ] && echo "rd.neednet=1" > /etc/cmdline.d/90livenet.conf
|
|
||||||
+ echo "$updates" > /tmp/liveupdates.info
|
|
||||||
+ echo '[ -e /tmp/liveupdates.done ]' > \
|
|
||||||
+ $hookdir/initqueue/finished/liveupdates.sh
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
str_starts "$root" "live:" && liveurl="$root"
|
|
||||||
str_starts "$liveurl" "live:" || return
|
|
||||||
liveurl="${liveurl#live:}"
|
|
@ -1,31 +0,0 @@
|
|||||||
From 803be5aa50b4ad7c76b83a2df23a47ae4744aabf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 11:48:48 +0100
|
|
||||||
Subject: [PATCH] README: added github and sourceforge git links
|
|
||||||
|
|
||||||
---
|
|
||||||
README | 8 ++++++++
|
|
||||||
1 file changed, 8 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/README b/README
|
|
||||||
index 6edc2c0..f9198bf 100644
|
|
||||||
--- a/README
|
|
||||||
+++ b/README
|
|
||||||
@@ -62,9 +62,17 @@ Git:
|
|
||||||
http://git.kernel.org/pub/scm/boot/dracut/dracut.git
|
|
||||||
https://git.kernel.org/pub/scm/boot/dracut/dracut.git
|
|
||||||
|
|
||||||
+ git://github.com/haraldh/dracut.git
|
|
||||||
+
|
|
||||||
+ git://dracut.git.sourceforge.net/gitroot/dracut/dracut
|
|
||||||
+
|
|
||||||
Git Web:
|
|
||||||
http://git.kernel.org/?p=boot/dracut/dracut.git
|
|
||||||
|
|
||||||
+ https://haraldh@github.com/haraldh/dracut.git
|
|
||||||
+
|
|
||||||
+ http://dracut.git.sourceforge.net/git/gitweb.cgi?p=dracut/dracut
|
|
||||||
+
|
|
||||||
Git Web RSS Feed:
|
|
||||||
http://git.kernel.org/?p=boot/dracut/dracut.git;a=rss
|
|
||||||
|
|
@ -1,51 +0,0 @@
|
|||||||
From 3a00cf9eccaadb44fd22d8f49c99b4d6dfe16009 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 11:50:07 +0100
|
|
||||||
Subject: [PATCH] AUTHORS: update
|
|
||||||
|
|
||||||
---
|
|
||||||
AUTHORS | 11 ++++++-----
|
|
||||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/AUTHORS b/AUTHORS
|
|
||||||
index 12dbe15..f7a1007 100644
|
|
||||||
--- a/AUTHORS
|
|
||||||
+++ b/AUTHORS
|
|
||||||
@@ -5,24 +5,24 @@ Warren Togami <wtogami@redhat.com>
|
|
||||||
Amadeusz Żołnowski <aidecoe@aidecoe.name>
|
|
||||||
Jeremy Katz <katzj@redhat.com>
|
|
||||||
David Dillow <dave@thedillows.org>
|
|
||||||
-Michal Soltys <soltys@ziu.info>
|
|
||||||
Will Woods <wwoods@redhat.com>
|
|
||||||
+Michal Soltys <soltys@ziu.info>
|
|
||||||
+Dave Young <dyoung@redhat.com>
|
|
||||||
+Amerigo Wang <amwang@redhat.com>
|
|
||||||
Andrey Borzenkov <arvidjaar@gmail.com>
|
|
||||||
+Colin Guthrie <colin@mageia.org>
|
|
||||||
Andreas Thienemann <andreas@bawue.net>
|
|
||||||
Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Peter Jones <pjones@redhat.com>
|
|
||||||
-Amerigo Wang <amwang@redhat.com>
|
|
||||||
-Colin Guthrie <colin@mageia.org>
|
|
||||||
John Reiser <jreiser@bitwagon.com>
|
|
||||||
Luca Berra <bluca@vodka.it>
|
|
||||||
-Dave Young <dyoung@redhat.com>
|
|
||||||
Daniel Drake <dsd@laptop.org>
|
|
||||||
Marc Grimme <grimme@atix.de>
|
|
||||||
+Dan Horák <dhorak@redhat.com>
|
|
||||||
Roberto Sassu <roberto.sassu@polito.it>
|
|
||||||
Anton Blanchard <anton@samba.org>
|
|
||||||
Bill Nottingham <notting@redhat.com>
|
|
||||||
Brian C. Lane <bcl@redhat.com>
|
|
||||||
-Dan Horák <dhorak@redhat.com>
|
|
||||||
David Cantrell <dcantrell@redhat.com>
|
|
||||||
Lance Albertson <lance@osuosl.org>
|
|
||||||
Marian Ganisin <mganisin@redhat.com>
|
|
||||||
@@ -47,6 +47,7 @@ Frederic Crozat <fcrozat@mandriva.com>
|
|
||||||
Glen Gray <slaine@slaine.org>
|
|
||||||
Hermann Gausterer <git-dracut-2012@mrq1.org>
|
|
||||||
James Laska <jlaska@redhat.com>
|
|
||||||
+Jan Stodola <jstodola@redhat.com>
|
|
||||||
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
|
||||||
Leho Kraav <leho@kraav.com>
|
|
||||||
Lubomir Rintel <lkundrak@v3.sk>
|
|
@ -1,831 +0,0 @@
|
|||||||
From dc824f19943d31bfba33f017be63e0c8ed74bb47 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 13:27:13 +0100
|
|
||||||
Subject: [PATCH] remove dracut-gencmdline
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile | 4 +-
|
|
||||||
dracut-gencmdline.8.xml | 46 ---
|
|
||||||
dracut-gencmdline.sh | 716 -----------------------------------------------
|
|
||||||
dracut.spec | 2 -
|
|
||||||
4 files changed, 1 insertion(+), 767 deletions(-)
|
|
||||||
delete mode 100644 dracut-gencmdline.8.xml
|
|
||||||
delete mode 100755 dracut-gencmdline.sh
|
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index 13c6c84..d79b2b0 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -9,7 +9,7 @@ sysconfdir ?= ${prefix}/etc
|
|
||||||
bindir ?= ${prefix}/bin
|
|
||||||
mandir ?= ${prefix}/share/man
|
|
||||||
|
|
||||||
-manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8 dracut-gencmdline.8
|
|
||||||
+manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
|
|
||||||
|
|
||||||
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
|
|
||||||
|
|
||||||
@@ -32,7 +32,6 @@ install: doc
|
|
||||||
mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
|
|
||||||
mkdir -p $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
|
|
||||||
install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
|
|
||||||
- install -m 0755 dracut-gencmdline.sh $(DESTDIR)$(bindir)/dracut-gencmdline
|
|
||||||
install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
|
|
||||||
install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
|
|
||||||
install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
|
|
||||||
@@ -45,7 +44,6 @@ install: doc
|
|
||||||
cp -arx modules.d $(DESTDIR)$(pkglibdir)
|
|
||||||
install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
|
|
||||||
install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8/dracut-catimages.8
|
|
||||||
- install -m 0644 dracut-gencmdline.8 $(DESTDIR)$(mandir)/man8/dracut-gencmdline.8
|
|
||||||
install -m 0644 dracut.conf.5 $(DESTDIR)$(mandir)/man5/dracut.conf.5
|
|
||||||
install -m 0644 dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.cmdline.7
|
|
||||||
ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
|
|
||||||
diff --git a/dracut-gencmdline.8.xml b/dracut-gencmdline.8.xml
|
|
||||||
deleted file mode 100644
|
|
||||||
index a893d0b..0000000
|
|
||||||
--- a/dracut-gencmdline.8.xml
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,46 +0,0 @@
|
|
||||||
-<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
||||||
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" []>
|
|
||||||
-<!-- lifted from troff+man by doclifter -->
|
|
||||||
-<refentry id='dracutgencmdline8'>
|
|
||||||
-<refmeta>
|
|
||||||
-<refentrytitle>DRACUT-GENCMDLINE</refentrytitle>
|
|
||||||
-<manvolnum>8</manvolnum>
|
|
||||||
-<refmiscinfo class='source'>June 2009</refmiscinfo>
|
|
||||||
-<refmiscinfo class='manual'>Linux</refmiscinfo>
|
|
||||||
-</refmeta>
|
|
||||||
-<refnamediv id='name'>
|
|
||||||
-<refname>dracut-gencmdline</refname>
|
|
||||||
-<refpurpose>generates kernel command line parameters for the dracut generated initramfs</refpurpose>
|
|
||||||
-</refnamediv>
|
|
||||||
-<!-- body begins here -->
|
|
||||||
-<refsynopsisdiv id='synopsis'>
|
|
||||||
-<cmdsynopsis>
|
|
||||||
- <command>dracut-gencmdline</command>
|
|
||||||
- <sbr/>
|
|
||||||
-</cmdsynopsis>
|
|
||||||
-</refsynopsisdiv>
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-<refsect1 id='description'><title>DESCRIPTION</title>
|
|
||||||
-<para><command>dracut-gencmdline</command>
|
|
||||||
-generates kernel command line parameters for the dracut generated initramfs, which are very specific to the host system.</para>
|
|
||||||
-
|
|
||||||
-</refsect1>
|
|
||||||
-
|
|
||||||
-<refsect1 id='authors'><title>AUTHORS</title>
|
|
||||||
-<literallayout remap='.nf'>
|
|
||||||
-Harald Hoyer <harald@redhat.com>
|
|
||||||
-</literallayout> <!-- .fi -->
|
|
||||||
-</refsect1>
|
|
||||||
-
|
|
||||||
-<refsect1 id='availability'><title>AVAILABILITY</title>
|
|
||||||
-<para>The dracut-gencmdline command is part of the dracut package and is available from
|
|
||||||
-<ulink url='https://dracut.wiki.kernel.org'>https://dracut.wiki.kernel.org</ulink></para>
|
|
||||||
-
|
|
||||||
-</refsect1>
|
|
||||||
-
|
|
||||||
-<refsect1 id='see_also'><title>SEE ALSO</title>
|
|
||||||
-<para><citerefentry><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry></para>
|
|
||||||
-</refsect1>
|
|
||||||
-</refentry>
|
|
||||||
-
|
|
||||||
diff --git a/dracut-gencmdline.sh b/dracut-gencmdline.sh
|
|
||||||
deleted file mode 100755
|
|
||||||
index c909e27..0000000
|
|
||||||
--- a/dracut-gencmdline.sh
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,716 +0,0 @@
|
|
||||||
-#!/bin/bash --norc
|
|
||||||
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
||||||
-# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
||||||
-#
|
|
||||||
-# Copyright 2005-2009 Red Hat, Inc. All rights reserved.
|
|
||||||
-#
|
|
||||||
-# This program 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 2 of the License, or
|
|
||||||
-# (at your option) any later version.
|
|
||||||
-#
|
|
||||||
-# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
-#
|
|
||||||
-# code taken from mkinitrd
|
|
||||||
-#
|
|
||||||
-#. /usr/libexec/initrd-functions
|
|
||||||
-
|
|
||||||
-IF_verbose=""
|
|
||||||
-function set_verbose() {
|
|
||||||
- case $1 in
|
|
||||||
- 1|true|yes|on)
|
|
||||||
- IF_verbose="-v"
|
|
||||||
- ;;
|
|
||||||
- 0|false|no|off)
|
|
||||||
- IF_verbose=""
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-function is_verbose() {
|
|
||||||
- [ -n "$IF_verbose" ] && return 0
|
|
||||||
- return 1
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-function get_verbose() {
|
|
||||||
- echo "$IF_verbose"
|
|
||||||
- is_verbose
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-function get_numeric_dev() {
|
|
||||||
- (
|
|
||||||
- fmt="%d:%d"
|
|
||||||
- if [ "$1" == "hex" ]; then
|
|
||||||
- fmt="%x:%x"
|
|
||||||
- fi
|
|
||||||
- ls -lH "$2" | awk '{ sub(/,/, "", $5); printf("'"$fmt"'", $5, $6); }'
|
|
||||||
- ) 2>/dev/null
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-function error() {
|
|
||||||
- echo "$@" >&2
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-function vecho() {
|
|
||||||
- is_verbose && echo "$@"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-# module dep finding and installation functions
|
|
||||||
-moduledep() {
|
|
||||||
- MPARGS=""
|
|
||||||
- if [ "$1" == "--ignore-install" ]; then
|
|
||||||
- MPARGS="$MPARGS --ignore-install"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- vecho -n "Looking for deps of module $1"
|
|
||||||
- deps=""
|
|
||||||
- deps=$(modprobe $MPARGS --set-version $kernel --quiet --show-depends $1 | awk '/^insmod / { print gensub(".*/","","g",$2) }' | while read foo ; do [ "${foo%%.ko}" != "$1" ] && echo -n "${foo%%.ko} " ; done)
|
|
||||||
- [ -n "$deps" ] && vecho ": $deps" || vecho
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-export MALLOC_PERTURB_=204
|
|
||||||
-
|
|
||||||
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:$PATH
|
|
||||||
-export PATH
|
|
||||||
-
|
|
||||||
-# Set the umask. For iscsi, the initrd can contain plaintext
|
|
||||||
-# password (chap secret), so only allow read by owner.
|
|
||||||
-umask 077
|
|
||||||
-
|
|
||||||
-VERSION=6.0.87
|
|
||||||
-
|
|
||||||
-PROBE="yes"
|
|
||||||
-MODULES=""
|
|
||||||
-GRAPHICSMODS=""
|
|
||||||
-PREMODS=""
|
|
||||||
-DMRAIDS=""
|
|
||||||
-ncryptodevs=0
|
|
||||||
-ncryptoparts=0
|
|
||||||
-ncryptolvs=0
|
|
||||||
-ncryptoraids=0
|
|
||||||
-root=""
|
|
||||||
-scsi_wait_scan="no"
|
|
||||||
-
|
|
||||||
-NET_LIST=""
|
|
||||||
-LD_SO_CONF=/etc/ld.so.conf
|
|
||||||
-LD_SO_CONF_D=/etc/ld.so.conf.d/
|
|
||||||
-
|
|
||||||
-[ -e /etc/sysconfig/mkinitrd ] && . /etc/sysconfig/mkinitrd
|
|
||||||
-
|
|
||||||
-CONFMODS="$MODULES"
|
|
||||||
-MODULES=""
|
|
||||||
-ARCH=$(uname -m | sed -e 's/s390x/s390/')
|
|
||||||
-
|
|
||||||
-compress=1
|
|
||||||
-allowmissing=""
|
|
||||||
-target=""
|
|
||||||
-kernel=""
|
|
||||||
-force=""
|
|
||||||
-img_vers=""
|
|
||||||
-builtins=""
|
|
||||||
-modulefile=/etc/modules.conf
|
|
||||||
-[ "$ARCH" != "s390" ] && withusb=1
|
|
||||||
-rc=0
|
|
||||||
-nolvm=""
|
|
||||||
-nodmraid=""
|
|
||||||
-
|
|
||||||
-IMAGESIZE=8000
|
|
||||||
-PRESCSIMODS=""
|
|
||||||
-fstab="/etc/fstab"
|
|
||||||
-
|
|
||||||
-vg_list=""
|
|
||||||
-net_list="$NET_LIST"
|
|
||||||
-
|
|
||||||
-usage () {
|
|
||||||
- if [ "$1" == "-n" ]; then
|
|
||||||
- cmd=echo
|
|
||||||
- else
|
|
||||||
- cmd=error
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- $cmd "usage: `basename $0` [--version] [--help] [-v] [-f]"
|
|
||||||
-
|
|
||||||
- if [ "$1" == "-n" ]; then
|
|
||||||
- exit 0
|
|
||||||
- else
|
|
||||||
- exit 1
|
|
||||||
- fi
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-qpushd() {
|
|
||||||
- pushd "$1" >/dev/null 2>&1
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-qpopd() {
|
|
||||||
- popd >/dev/null 2>&1
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-freadlink() {
|
|
||||||
- readlink -f "$1"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-resolve_device_name() {
|
|
||||||
- if [ -z "${1##UUID=*}" ]; then
|
|
||||||
- real=$(freadlink /dev/disk/by-uuid/${1##UUID=})
|
|
||||||
- [ -b $real ] && { echo $real; return; }
|
|
||||||
- fi
|
|
||||||
- if [ -z "${1##LABEL=*}" ]; then
|
|
||||||
- real=$(freadlink /dev/disk/by-label/${1##LABEL=})
|
|
||||||
- [ -b $real ] && { echo $real; return; }
|
|
||||||
- fi
|
|
||||||
- echo "$1"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-finddevnoinsys() {
|
|
||||||
- majmin="$1"
|
|
||||||
- if [ -n "$majmin" ]; then
|
|
||||||
- dev=$(for x in /sys/block/* ; do find $x/ -name dev ; done | while read device ; do \
|
|
||||||
- echo "$majmin" | cmp -s $device && echo $device ; done)
|
|
||||||
- if [ -n "$dev" ]; then
|
|
||||||
- dev=${dev%%/dev}
|
|
||||||
- dev=${dev%%/}
|
|
||||||
- echo "$dev"
|
|
||||||
- return 0
|
|
||||||
- fi
|
|
||||||
- fi
|
|
||||||
- return 1
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-finddevicedriverinsys () {
|
|
||||||
- if is_iscsi $PWD; then
|
|
||||||
- handleiscsi "$PWD"
|
|
||||||
- return
|
|
||||||
- fi
|
|
||||||
- while [ "$PWD" != "/sys/devices" ]; do
|
|
||||||
- deps=
|
|
||||||
- if [ -f modalias ]; then
|
|
||||||
- MODALIAS=$(cat modalias)
|
|
||||||
- if [ "${MODALIAS::7}" == "scsi:t-" ]; then
|
|
||||||
- scsi_wait_scan=yes
|
|
||||||
- fi
|
|
||||||
- moduledep $MODALIAS
|
|
||||||
- unset MODALIAS
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- cd ..
|
|
||||||
- done
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-findstoragedriverinsys () {
|
|
||||||
- local sysfs=$(freadlink "$1")
|
|
||||||
-
|
|
||||||
- # if its a partition look at the device holding the partition
|
|
||||||
- if [ -f "$sysfs/start" ]; then
|
|
||||||
- sysfs=$(freadlink ${sysfs%/*})
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- if [[ ! "$sysfs" =~ ^/sys/.*block/.*$ ]]; then
|
|
||||||
- #error "WARNING: $sysfs is a not a block sysfs path, skipping"
|
|
||||||
- return
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- case " $handleddevices " in
|
|
||||||
- *" $sysfs "*)
|
|
||||||
- return ;;
|
|
||||||
- *) handleddevices="$handleddevices $sysfs" ;;
|
|
||||||
- esac
|
|
||||||
-
|
|
||||||
- if [[ "$sysfs" =~ ^/sys/.*block/md[0-9]+$ ]]; then
|
|
||||||
- local raid=${sysfs##*/}
|
|
||||||
- vecho "Found MDRAID component $raid"
|
|
||||||
- handleraid $raid
|
|
||||||
- fi
|
|
||||||
- if [[ "$sysfs" =~ ^/sys/.*block/dm-[0-9]+$ ]]; then
|
|
||||||
- vecho "Found DeviceMapper component ${sysfs##*/}"
|
|
||||||
- handledm $(cat $sysfs/dev |cut -d : -f 1) $(cat $sysfs/dev |cut -d : -f 2)
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- for slave in $(ls -d "$sysfs"/slaves/* 2>/dev/null) ; do
|
|
||||||
- findstoragedriverinsys "$slave"
|
|
||||||
- done
|
|
||||||
-
|
|
||||||
- if [ -L "$sysfs/device" ]; then
|
|
||||||
- qpushd $(freadlink "$sysfs/device")
|
|
||||||
- finddevicedriverinsys
|
|
||||||
- qpopd
|
|
||||||
- fi
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-findstoragedriver () {
|
|
||||||
- local device="$1"
|
|
||||||
-
|
|
||||||
- if [ ! -b "$device" ]; then
|
|
||||||
- #error "WARNING: $device is a not a block device, skipping"
|
|
||||||
- return
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- local majmin=$(get_numeric_dev dec "$device")
|
|
||||||
- local sysfs=$(finddevnoinsys "$majmin")
|
|
||||||
-
|
|
||||||
- if [ -z "$sysfs" ]; then
|
|
||||||
- #error "WARNING: $device major:minor $majmin not found, skipping"
|
|
||||||
- return
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- vecho "Looking for driver for $device in $sysfs"
|
|
||||||
- findstoragedriverinsys "$sysfs"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-iscsi_get_rec_val() {
|
|
||||||
-
|
|
||||||
- # The open-iscsi 742 release changed to using flat files in
|
|
||||||
- # /var/lib/iscsi.
|
|
||||||
-
|
|
||||||
- result=$(grep "^${2} = " "$1" | sed -e s'/.* = //')
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-iscsi_set_parameters() {
|
|
||||||
- path=$1
|
|
||||||
- vecho setting iscsi parameters
|
|
||||||
-
|
|
||||||
- tmpfile=$(mktemp)
|
|
||||||
-
|
|
||||||
- # Check once before getting explicit values, so we can output a decent
|
|
||||||
- # error message.
|
|
||||||
- /sbin/iscsiadm --show -m session -r $path > $tmpfile
|
|
||||||
- if [ ! -s $tmpfile ]; then
|
|
||||||
- echo Unable to find iscsi record for $path
|
|
||||||
- exit 1
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- nit_name=$(grep "^InitiatorName=" /etc/iscsi/initiatorname.iscsi | \
|
|
||||||
- sed -e "s/^InitiatorName=//")
|
|
||||||
-
|
|
||||||
- iscsi_get_rec_val $tmpfile "node.name"
|
|
||||||
- tgt_name=${result}
|
|
||||||
- iscsi_get_rec_val $tmpfile "node.tpgt"
|
|
||||||
- tpgt=${result}
|
|
||||||
- # iscsistart wants node.conn[0].address / port
|
|
||||||
- iscsi_get_rec_val $tmpfile 'node.conn\[0\].address'
|
|
||||||
- tgt_ipaddr=${result}
|
|
||||||
- iscsi_get_rec_val $tmpfile 'node.conn\[0\].port'
|
|
||||||
- tgt_port=${result}
|
|
||||||
-
|
|
||||||
- # Note: we get chap secrets (passwords) in plaintext, and also store
|
|
||||||
- # them in the initrd.
|
|
||||||
-
|
|
||||||
- iscsi_get_rec_val $tmpfile "node.session.auth.username"
|
|
||||||
- chap=${result}
|
|
||||||
- if [ -n "${chap}" -a "${chap}" != "<empty>" ]; then
|
|
||||||
- chap="-u ${chap}"
|
|
||||||
- iscsi_get_rec_val $tmpfile "node.session.auth.password"
|
|
||||||
- chap_pw="-w ${result}"
|
|
||||||
- else
|
|
||||||
- chap=""
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- iscsi_get_rec_val $tmpfile "node.session.auth.username_in"
|
|
||||||
- chap_in=${result}
|
|
||||||
- if [ -n "${chap_in}" -a "${chap_in}" != "<empty>" ]; then
|
|
||||||
- chap_in="-U ${chap_in}"
|
|
||||||
- iscsi_get_rec_val $tmpfile "node.session.auth.password_in"
|
|
||||||
- chap_in_pw="-W ${result}"
|
|
||||||
- else
|
|
||||||
- chap_in=""
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- rm $tmpfile
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-emit_iscsi () {
|
|
||||||
- if [ -n "${iscsi_devs}" ]; then
|
|
||||||
- for dev in ${iscsi_devs}; do
|
|
||||||
- iscsi_set_parameters $dev
|
|
||||||
- # recid is not really used, just use 0 for it
|
|
||||||
- echo "/bin/iscsistart -t ${tgt_name} -i ${nit_name} \
|
|
||||||
- -g ${tpgt} -a ${tgt_ipaddr} ${chap} ${chap_pw} \
|
|
||||||
- ${chap_in} ${chap_in_pw}"
|
|
||||||
- done
|
|
||||||
- fi
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-is_iscsi() {
|
|
||||||
- path=$1
|
|
||||||
- if echo $path | grep -q "/platform/host[0-9]*/session[0-9]*/target[0-9]*:[0-9]*:[0-9]*/[0-9]*:[0-9]*:[0-9]*:[0-9]*"; then
|
|
||||||
- return 0
|
|
||||||
- else
|
|
||||||
- return 1
|
|
||||||
- fi
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-handledm() {
|
|
||||||
- major=$1
|
|
||||||
- minor=$2
|
|
||||||
- while read dmstart dmend dmtype r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 ; do
|
|
||||||
- case "$dmtype" in
|
|
||||||
- crypt)
|
|
||||||
- # this device is encrypted; find the slave device and see
|
|
||||||
- # whether the encryption is LUKS; if not, bail.
|
|
||||||
- slavedev=$(finddevnoinsys $r3)
|
|
||||||
- # get the basename, then s,!,/, in case it's a cciss device
|
|
||||||
- slavedev=$(echo ${slavedev##*/} | tr '!' '/')
|
|
||||||
- cryptsetup isLuks "/dev/$slavedev" 2>/dev/null || continue
|
|
||||||
- find_base_dm_mods
|
|
||||||
- dmname=$(dmsetup info -j $major -m $minor -c --noheadings -o name)
|
|
||||||
- # do the device resolution dance to get /dev/mapper/foo
|
|
||||||
- # since 'lvm lvs' doesn't like dm-X device nodes
|
|
||||||
- if [[ "$slavedev" =~ ^dm- ]]; then
|
|
||||||
- majmin=$(get_numeric_dev dec "/dev/$slavedev")
|
|
||||||
- for dmdev in /dev/mapper/* ; do
|
|
||||||
- dmnum=$(get_numeric_dev dev $dmdev)
|
|
||||||
- if [ $dmnum = $majmin ]; then
|
|
||||||
- slavedev=${dmdev#/dev/}
|
|
||||||
- break
|
|
||||||
- fi
|
|
||||||
- done
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- # determine if $slavedev is an LV
|
|
||||||
- # if so, add the device to latecryptodevs
|
|
||||||
- # if not, add the device to cryptodevs
|
|
||||||
- local vg=$(lvshow /dev/$slavedev)
|
|
||||||
- if [ -n "$vg" ]; then
|
|
||||||
- eval cryptolv${ncryptolvs}='"'/dev/$slavedev $dmname'"'
|
|
||||||
- let ncryptolvs++
|
|
||||||
- elif grep -q "^$slavedev :" /proc/mdstat ; then
|
|
||||||
- eval cryptoraid${ncryptoraids}='"'/dev/$slavedev $dmname'"'
|
|
||||||
- let ncryptoraids++
|
|
||||||
- else
|
|
||||||
- eval cryptoparts${ncryptoparts}='"'/dev/$slavedev $dmname'"'
|
|
||||||
- let ncryptoparts++
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- let ncryptodevs++
|
|
||||||
- findstoragedriver "/dev/$slavedev"
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
- done << EOF
|
|
||||||
- $(dmsetup table -j $major -m $minor 2>/dev/null)
|
|
||||||
-EOF
|
|
||||||
- local name=$(dmsetup info --noheadings -c -j $major -m $minor -o name)
|
|
||||||
- local vg=$(lvshow "/dev/mapper/$name")
|
|
||||||
- local raids=$(/sbin/dmraid -s -craidname 2>/dev/null | grep -vi "no raid disks")
|
|
||||||
- if [ -n "$vg" ]; then
|
|
||||||
- vg=`echo $vg` # strip whitespace
|
|
||||||
- case " $vg_list " in
|
|
||||||
- *" $vg "*) ;;
|
|
||||||
- *) vg_list="$vg_list $vg"
|
|
||||||
- [ -z "$nolvm" ] && find_base_dm_mods
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
- fi
|
|
||||||
- for raid in $raids ; do
|
|
||||||
- if [ "$raid" == "$name" ]; then
|
|
||||||
- case " $DMRAIDS " in
|
|
||||||
- *" $raid "*) ;;
|
|
||||||
- *) DMRAIDS="$DMRAIDS $raid"
|
|
||||||
- [ -z "$nodmraid" ] && find_base_dm_mods
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
- break
|
|
||||||
- fi
|
|
||||||
- done
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-handleiscsi() {
|
|
||||||
- vecho "Found iscsi component $1"
|
|
||||||
-
|
|
||||||
- # We call iscsi_set_parameters once here to figure out what network to
|
|
||||||
- # use (it sets tgt_ipaddr), and once again to emit iscsi values,
|
|
||||||
- # not very efficient.
|
|
||||||
- iscsi_set_parameters $1
|
|
||||||
- iscsi_devs="$iscsi_devs $1"
|
|
||||||
- netdev=$(/sbin/ip route get to $tgt_ipaddr | \
|
|
||||||
- sed 's|.*dev \(.*\).*|\1|g' | awk '{ print $1; exit }')
|
|
||||||
- addnetdev $netdev
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-handleraid() {
|
|
||||||
- local start=0
|
|
||||||
-
|
|
||||||
- if [ -n "$noraid" -o ! -f /proc/mdstat ]; then
|
|
||||||
- return 0
|
|
||||||
- fi
|
|
||||||
-
|
|
||||||
- levels=$(awk "/^$1[ ]*:/ { print\$4 }" /proc/mdstat)
|
|
||||||
-
|
|
||||||
- for level in $levels ; do
|
|
||||||
- case $level in
|
|
||||||
- linear)
|
|
||||||
- start=1
|
|
||||||
- ;;
|
|
||||||
- multipath)
|
|
||||||
- start=1
|
|
||||||
- ;;
|
|
||||||
- raid[01] | raid10)
|
|
||||||
- start=1
|
|
||||||
- ;;
|
|
||||||
- raid[456])
|
|
||||||
- start=1
|
|
||||||
- ;;
|
|
||||||
- *)
|
|
||||||
- error "raid level $level (in /proc/mdstat) not recognized"
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
- done
|
|
||||||
- if [ "$start" = 1 ]; then
|
|
||||||
- raiddevices="$raiddevices $1"
|
|
||||||
- fi
|
|
||||||
- return $start
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-lvshow() {
|
|
||||||
- lvm lvs --ignorelockingfailure --noheadings -o vg_name \
|
|
||||||
- $1 2>/dev/null | egrep -v '^ *(WARNING:|Volume Groups with)'
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-vgdisplay() {
|
|
||||||
- lvm vgdisplay --ignorelockingfailure -v $1 2>/dev/null |
|
|
||||||
- sed -n 's/PV Name//p'
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-dmmods_found="n"
|
|
||||||
-find_base_dm_mods()
|
|
||||||
-{
|
|
||||||
- [ "$dmmods_found" == "n" ] || return
|
|
||||||
- dmmods_found="y"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-savedargs=$*
|
|
||||||
-while [ $# -gt 0 ]; do
|
|
||||||
- case $1 in
|
|
||||||
- --fstab*)
|
|
||||||
- if [ "$1" != "${1##--fstab=}" ]; then
|
|
||||||
- fstab=${1##--fstab=}
|
|
||||||
- else
|
|
||||||
- fstab=$2
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
-
|
|
||||||
-
|
|
||||||
- -v|--verbose)
|
|
||||||
- set_verbose true
|
|
||||||
- ;;
|
|
||||||
- --net-dev*)
|
|
||||||
- if [ "$1" != "${1##--net-dev=}" ]; then
|
|
||||||
- net_list="$net_list ${1##--net-dev=}"
|
|
||||||
- else
|
|
||||||
- net_list="$net_list $2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --rootdev*)
|
|
||||||
- if [ "$1" != "${1##--rootdev=}" ]; then
|
|
||||||
- rootdev="${1##--rootdev=}"
|
|
||||||
- else
|
|
||||||
- rootdev="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --thawdev*)
|
|
||||||
- if [ "$1" != "${1##--thawdev=}" ]; then
|
|
||||||
- thawdev="${1##--thawdev=}"
|
|
||||||
- else
|
|
||||||
- thawdev="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --rootfs*)
|
|
||||||
- if [ "$1" != "${1##--rootfs=}" ]; then
|
|
||||||
- rootfs="${1##--rootfs=}"
|
|
||||||
- else
|
|
||||||
- rootfs="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --rootopts*)
|
|
||||||
- if [ "$1" != "${1##--rootopts=}" ]; then
|
|
||||||
- rootopts="${1##--rootopts=}"
|
|
||||||
- else
|
|
||||||
- rootopts="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --root*)
|
|
||||||
- if [ "$1" != "${1##--root=}" ]; then
|
|
||||||
- root="${1##--root=}"
|
|
||||||
- else
|
|
||||||
- root="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --loopdev*)
|
|
||||||
- if [ "$1" != "${1##--loopdev=}" ]; then
|
|
||||||
- loopdev="${1##--loopdev=}"
|
|
||||||
- else
|
|
||||||
- loopdev="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --loopfs*)
|
|
||||||
- if [ "$1" != "${1##--loopfs=}" ]; then
|
|
||||||
- loopfs="${1##--loopfs=}"
|
|
||||||
- else
|
|
||||||
- loopfs="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --loopopts*)
|
|
||||||
- if [ "$1" != "${1##--loopopts=}" ]; then
|
|
||||||
- loopopts="${1##--loopopts=}"
|
|
||||||
- else
|
|
||||||
- loopopts="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --looppath*)
|
|
||||||
- if [ "$1" != "${1##--looppath=}" ]; then
|
|
||||||
- looppath="${1##--looppath=}"
|
|
||||||
- else
|
|
||||||
- looppath="$2"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- --help)
|
|
||||||
- usage -n
|
|
||||||
- ;;
|
|
||||||
- *)
|
|
||||||
- if [ -z "$target" ]; then
|
|
||||||
- target=$1
|
|
||||||
- elif [ -z "$kernel" ]; then
|
|
||||||
- kernel=$1
|
|
||||||
- else
|
|
||||||
- usage
|
|
||||||
- fi
|
|
||||||
- ;;
|
|
||||||
- esac
|
|
||||||
-
|
|
||||||
- shift
|
|
||||||
-done
|
|
||||||
-
|
|
||||||
-[ -z "$rootfs" ] && rootfs=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $3; }}' $fstab)
|
|
||||||
-[ -z "$rootopts" ] && rootopts=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $4; }}' $fstab)
|
|
||||||
-[ -z "$rootopts" ] && rootopts="defaults"
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-[ -z "$rootdev" ] && rootdev=$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' $fstab)
|
|
||||||
- # check if it's nfsroot
|
|
||||||
-physdev=""
|
|
||||||
-if [ "$rootfs" == "nfs" ]; then
|
|
||||||
- if [ "x$net_list" == "x" ]; then
|
|
||||||
- handlenfs $rootdev
|
|
||||||
- fi
|
|
||||||
-else
|
|
||||||
- # check if it's root by label
|
|
||||||
- rdev=$rootdev
|
|
||||||
- rdev=$(resolve_device_name "$rdev")
|
|
||||||
- rootopts=$(echo $rootopts | sed -e 's/^r[ow],//' -e 's/,_netdev//' -e 's/_netdev//' -e 's/,_rnetdev//' -e 's/_rnetdev//' -e 's/,r[ow],$//' -e 's/,r[ow],/,/' -e 's/^r[ow]$/defaults/' -e 's/$/,ro/')
|
|
||||||
- findstoragedriver "$rdev"
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
- # find the first swap dev which would get used for swsusp
|
|
||||||
-[ -z "$thawdev" ] && thawdev=$(awk '/^[ \t]*[^#]/ { if ($3 == "swap") { print $1; exit }}' $fstab)
|
|
||||||
-swsuspdev="$thawdev"
|
|
||||||
-if [ -n "$swsuspdev" ]; then
|
|
||||||
- swsuspdev=$(resolve_device_name "$swsuspdev")
|
|
||||||
- findstoragedriver "$swsuspdev"
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-cemit()
|
|
||||||
-{
|
|
||||||
- cat
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-emit()
|
|
||||||
-{
|
|
||||||
- NONL=""
|
|
||||||
- if [ "$1" == "-n" ]; then
|
|
||||||
- NONL="-n"
|
|
||||||
- shift
|
|
||||||
- fi
|
|
||||||
- echo $NONL "$@"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-emitdmraids()
|
|
||||||
-{
|
|
||||||
- if [ -z "$nodmraid" -a -n "$DMRAIDS" ]; then
|
|
||||||
- for raid in $DMRAIDS; do
|
|
||||||
- echo -n "rd_DM_UUID=$raid "
|
|
||||||
- done
|
|
||||||
- fi
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-
|
|
||||||
-# HACK: module loading + device creation isn't necessarily synchronous...
|
|
||||||
-# this will make sure that we have all of our devices before trying
|
|
||||||
-# things like RAID or LVM
|
|
||||||
-emitdmraids
|
|
||||||
-
|
|
||||||
-emitcrypto()
|
|
||||||
-{
|
|
||||||
- local luksuuid=$(grep "^$2 " /etc/crypttab 2>/dev/null| awk '{ print $2 }')
|
|
||||||
- if [ -z "$luksuuid" ]; then
|
|
||||||
- luksuuid="$2"
|
|
||||||
- fi
|
|
||||||
- luksuuid=${luksuuid##UUID=}
|
|
||||||
- echo -n "rd_LUKS_UUID=$luksuuid "
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-if [ -n "$raiddevices" ]; then
|
|
||||||
- for dev in $raiddevices; do
|
|
||||||
- uid=$(udevadm info --query=env --name /dev/${dev}|grep MD_UUID)
|
|
||||||
- uid=${uid##MD_UUID=}
|
|
||||||
- [ -n "$uid" ] && echo -n "rd_MD_UUID=$uid "
|
|
||||||
- done
|
|
||||||
-else
|
|
||||||
- echo -n "rd_NO_MD "
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
-if [ -z "$nolvm" -a -n "$vg_list" ]; then
|
|
||||||
- for vg in $vg_list; do
|
|
||||||
- echo -n "rd_LVM_VG=$vg "
|
|
||||||
- done
|
|
||||||
-else
|
|
||||||
- echo -n "rd_NO_LVM "
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
-cryptdevs="$(echo ${!cryptoraid@} ${!cryptopart@} ${!cryptolv@})"
|
|
||||||
-
|
|
||||||
-if [ -z "$cryptdevs" ]; then
|
|
||||||
- echo -n "rd_NO_LUKS "
|
|
||||||
-else
|
|
||||||
- for cryptdev in ${!cryptoraid@} ${!cryptopart@} ${!cryptolv@} ; do
|
|
||||||
- emitcrypto `eval echo '$'$cryptdev`
|
|
||||||
- done
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
-# output local keyboard/18n settings
|
|
||||||
-[ -e /etc/sysconfig/keyboard ] && . /etc/sysconfig/keyboard
|
|
||||||
-[ -e /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
|
|
||||||
-
|
|
||||||
-for i in KEYTABLE SYSFONT SYSFONTACM UNIMAP LANG; do
|
|
||||||
- val=$(eval echo \$$i)
|
|
||||||
- [[ $val ]] && echo -n "$i=$val "
|
|
||||||
-done
|
|
||||||
-
|
|
||||||
-if [ -n "$KEYBOARDTYPE" -a "$KEYBOARDTYPE" != "pc" ]; then
|
|
||||||
- echo -n "KEYBOARDTYPE=$KEYBOARDTYPE "
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
-if [ -n "$rootdev" ]; then
|
|
||||||
- echo -n "root=$rootdev "
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
-echo
|
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
|
||||||
index 0275af3..7a058ae 100644
|
|
||||||
--- a/dracut.spec
|
|
||||||
+++ b/dracut.spec
|
|
||||||
@@ -318,9 +318,7 @@ rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%files tools
|
|
||||||
%defattr(-,root,root,0755)
|
|
||||||
-%{_mandir}/man8/dracut-gencmdline.8*
|
|
||||||
%{_mandir}/man8/dracut-catimages.8*
|
|
||||||
-%{_bindir}/dracut-gencmdline
|
|
||||||
%{_bindir}/dracut-catimages
|
|
||||||
%dir /boot/dracut
|
|
||||||
%dir /var/lib/dracut
|
|
File diff suppressed because it is too large
Load Diff
@ -1,98 +0,0 @@
|
|||||||
From 4ce3a1b1bbd08c3d5031632b88036335d2d2dfee Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 15:19:39 +0100
|
|
||||||
Subject: [PATCH] precompile doc
|
|
||||||
|
|
||||||
---
|
|
||||||
Makefile | 27 +++++++++++++++++----------
|
|
||||||
dracut.spec | 6 ++++--
|
|
||||||
2 files changed, 21 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/Makefile b/Makefile
|
|
||||||
index bd27d06..f0af487 100644
|
|
||||||
--- a/Makefile
|
|
||||||
+++ b/Makefile
|
|
||||||
@@ -13,9 +13,10 @@ manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
|
|
||||||
|
|
||||||
.PHONY: install clean archive rpm testimage test all check AUTHORS doc
|
|
||||||
|
|
||||||
-doc: $(manpages) dracut.html
|
|
||||||
all: syncheck
|
|
||||||
|
|
||||||
+doc: $(manpages) dracut.html
|
|
||||||
+
|
|
||||||
%: %.xml
|
|
||||||
xsltproc -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
|
|
||||||
|
|
||||||
@@ -26,7 +27,8 @@ dracut.html: dracut.asc $(manpages)
|
|
||||||
asciidoc -a numbered -d book -b docbook -o dracut.xml dracut.asc
|
|
||||||
xsltproc -o dracut.html --xinclude -nonet \
|
|
||||||
--stringparam draft.mode yes \
|
|
||||||
- --stringparam html.stylesheet http://docs.redhat.com/docs/en-US/Common_Content/css/default.css \
|
|
||||||
+ --stringparam html.stylesheet \
|
|
||||||
+ http://docs.redhat.com/docs/en-US/Common_Content/css/default.css \
|
|
||||||
http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl dracut.xml
|
|
||||||
rm dracut.xml
|
|
||||||
|
|
||||||
@@ -57,8 +59,10 @@ install: doc
|
|
||||||
install -m 0644 dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir); \
|
|
||||||
mkdir -p $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants; \
|
|
||||||
mkdir -p $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants; \
|
|
||||||
- ln -s ../dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-shutdown.service; \
|
|
||||||
- ln -s ../dracut-shutdown.service $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
|
|
||||||
+ ln -s ../dracut-shutdown.service \
|
|
||||||
+ $(DESTDIR)$(systemdsystemunitdir)/reboot.target.wants/dracut-shutdown.service; \
|
|
||||||
+ ln -s ../dracut-shutdown.service \
|
|
||||||
+ $(DESTDIR)$(systemdsystemunitdir)/shutdown.target.wants/dracut-shutdown.service; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@@ -72,13 +76,16 @@ clean:
|
|
||||||
|
|
||||||
archive: dracut-$(VERSION)-$(GITVERSION).tar.bz2
|
|
||||||
|
|
||||||
-dist: dracut-$(VERSION).tar.gz
|
|
||||||
-
|
|
||||||
-dracut-$(VERSION).tar.bz2:
|
|
||||||
- git archive --format=tar $(VERSION) --prefix=dracut-$(VERSION)/ |bzip2 > dracut-$(VERSION).tar.bz2
|
|
||||||
+dist: dracut-$(VERSION).tar.bz2
|
|
||||||
|
|
||||||
-dracut-$(VERSION).tar.gz:
|
|
||||||
- git archive --format=tar $(VERSION) --prefix=dracut-$(VERSION)/ |gzip > dracut-$(VERSION).tar.gz
|
|
||||||
+dracut-$(VERSION).tar.bz2: doc
|
|
||||||
+ git archive --format=tar $(VERSION) --prefix=dracut-$(VERSION)/ > dracut-$(VERSION).tar
|
|
||||||
+ mkdir -p dracut-$(VERSION)
|
|
||||||
+ cp $(manpages) dracut.html dracut-$(VERSION)
|
|
||||||
+ tar -rf dracut-$(VERSION).tar dracut-$(VERSION)/*.[0-9] dracut-$(VERSION)/dracut.html
|
|
||||||
+ rm -fr dracut-$(VERSION).tar.bz2 dracut-$(VERSION)
|
|
||||||
+ bzip2 -9 dracut-$(VERSION).tar
|
|
||||||
+ rm -f dracut-$(VERSION).tar
|
|
||||||
|
|
||||||
rpm: dracut-$(VERSION).tar.bz2
|
|
||||||
rpmbuild=$$(mktemp -d -t rpmbuild-dracut.XXXXXX); src=$$(pwd); \
|
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
|
||||||
index 7a058ae..be7ba8a 100644
|
|
||||||
--- a/dracut.spec
|
|
||||||
+++ b/dracut.spec
|
|
||||||
@@ -40,9 +40,11 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?suse_version}
|
|
||||||
-BuildRequires: docbook-xsl-stylesheets libxslt
|
|
||||||
+-BuildRequires: docbook-xsl-stylesheets libxslt
|
|
||||||
%endif
|
|
||||||
|
|
||||||
+BuildRequires: asciidoc
|
|
||||||
+
|
|
||||||
%if 0%{?fedora} > 12 || 0%{?rhel}
|
|
||||||
# no "provides", because dracut does not offer
|
|
||||||
# all functionality of the obsoleted packages
|
|
||||||
@@ -161,7 +163,7 @@ git am -p1 %{patches}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
|
||||||
-make
|
|
||||||
+make all
|
|
||||||
|
|
||||||
%install
|
|
||||||
%if 0%{?fedora} || 0%{?rhel}
|
|
@ -1,48 +0,0 @@
|
|||||||
From f94ceb13b8e6eb825b29f453a68657c508481942 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 15:52:35 +0100
|
|
||||||
Subject: [PATCH] TEST-10-RAID: wait for udev settle before deconstructing
|
|
||||||
|
|
||||||
---
|
|
||||||
test/TEST-10-RAID/create-root.sh | 25 ++++++++++++++-----------
|
|
||||||
1 file changed, 14 insertions(+), 11 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/TEST-10-RAID/create-root.sh b/test/TEST-10-RAID/create-root.sh
|
|
||||||
index 099d619..3dd86cb 100755
|
|
||||||
--- a/test/TEST-10-RAID/create-root.sh
|
|
||||||
+++ b/test/TEST-10-RAID/create-root.sh
|
|
||||||
@@ -16,20 +16,23 @@ mdadm --create /dev/md0 --run --auto=yes --level=5 --raid-devices=3 /dev/sda2 /d
|
|
||||||
# wait for the array to finish initailizing, otherwise this sometimes fails
|
|
||||||
# randomly.
|
|
||||||
mdadm -W /dev/md0
|
|
||||||
+set -e
|
|
||||||
echo -n test >keyfile
|
|
||||||
cryptsetup -q luksFormat /dev/md0 /keyfile
|
|
||||||
echo "The passphrase is test"
|
|
||||||
-cryptsetup luksOpen /dev/md0 dracut_crypt_test </keyfile && \
|
|
||||||
-lvm pvcreate -ff -y /dev/mapper/dracut_crypt_test && \
|
|
||||||
-lvm vgcreate dracut /dev/mapper/dracut_crypt_test && \
|
|
||||||
+cryptsetup luksOpen /dev/md0 dracut_crypt_test </keyfile
|
|
||||||
+lvm pvcreate -ff -y /dev/mapper/dracut_crypt_test
|
|
||||||
+lvm vgcreate dracut /dev/mapper/dracut_crypt_test
|
|
||||||
lvm lvcreate -l 100%FREE -n root dracut && \
|
|
||||||
-lvm vgchange -ay && \
|
|
||||||
-mke2fs /dev/dracut/root && \
|
|
||||||
-mkdir -p /sysroot && \
|
|
||||||
-mount /dev/dracut/root /sysroot && \
|
|
||||||
-cp -a -t /sysroot /source/* && \
|
|
||||||
-umount /sysroot && \
|
|
||||||
-lvm lvchange -a n /dev/dracut/root && \
|
|
||||||
-cryptsetup luksClose /dev/mapper/dracut_crypt_test && \
|
|
||||||
+lvm vgchange -ay
|
|
||||||
+mke2fs /dev/dracut/root
|
|
||||||
+mkdir -p /sysroot
|
|
||||||
+mount /dev/dracut/root /sysroot
|
|
||||||
+cp -a -t /sysroot /source/*
|
|
||||||
+umount /sysroot
|
|
||||||
+lvm lvchange -a n /dev/dracut/root
|
|
||||||
+udevadm settle
|
|
||||||
+cryptsetup luksClose /dev/mapper/dracut_crypt_test
|
|
||||||
+udevadm settle
|
|
||||||
echo "dracut-root-block-created" >/dev/sda1
|
|
||||||
poweroff -f
|
|
@ -1,32 +0,0 @@
|
|||||||
From 08842612835a2ccf4051afc43213af9243dc6ecf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 16:00:42 +0100
|
|
||||||
Subject: [PATCH] NEWS: update
|
|
||||||
|
|
||||||
---
|
|
||||||
NEWS | 15 +++++++++++++++
|
|
||||||
1 file changed, 15 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/NEWS b/NEWS
|
|
||||||
index bed32ca..017fc9d 100644
|
|
||||||
--- a/NEWS
|
|
||||||
+++ b/NEWS
|
|
||||||
@@ -1,3 +1,18 @@
|
|
||||||
+dracut-018
|
|
||||||
+==========
|
|
||||||
+- converted manpage and documentation source to asciidoc
|
|
||||||
+- write-ifcfg fixes and cleanups
|
|
||||||
+- ifup is now done in the initqueue
|
|
||||||
+- netroot cleanup
|
|
||||||
+- initqueue/online is now for hooks, which require network
|
|
||||||
+- no more /tmp/root.info
|
|
||||||
+- 98pollcdrom: factored out the ugly cdrom polling in the main loop
|
|
||||||
+- simplified rd.luks.uuid testing
|
|
||||||
+- removed "egrep" and "ls" calls
|
|
||||||
+- speedup kernel module installation
|
|
||||||
+- make bzip2 optional
|
|
||||||
+- lots of bugfixes
|
|
||||||
+
|
|
||||||
dracut-017
|
|
||||||
==========
|
|
||||||
- a _lot_ faster than dracut-016 in image creation
|
|
@ -1,84 +0,0 @@
|
|||||||
From 02aa795514b4f6febcedd1d0f3079c6eacdfd3f2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 16:13:48 +0100
|
|
||||||
Subject: [PATCH] remove --ctty
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut.8.asc | 3 ---
|
|
||||||
dracut.cmdline.7.asc | 6 ------
|
|
||||||
dracut.sh | 4 +---
|
|
||||||
modules.d/99base/module-setup.sh | 1 -
|
|
||||||
4 files changed, 1 insertion(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut.8.asc b/dracut.8.asc
|
|
||||||
index 6ca7347..891246d 100644
|
|
||||||
--- a/dracut.8.asc
|
|
||||||
+++ b/dracut.8.asc
|
|
||||||
@@ -193,9 +193,6 @@ example:
|
|
||||||
**--noprefix**::
|
|
||||||
do not prefix initramfs files (default)
|
|
||||||
|
|
||||||
-**--ctty**::
|
|
||||||
- if possible, try to spawn an emergency shell on a terminal with job control
|
|
||||||
-
|
|
||||||
**-h, --help**::
|
|
||||||
display help text and exit.
|
|
||||||
|
|
||||||
diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
|
|
||||||
index 8924b89..738d464 100644
|
|
||||||
--- a/dracut.cmdline.7.asc
|
|
||||||
+++ b/dracut.cmdline.7.asc
|
|
||||||
@@ -78,12 +78,6 @@ Misc
|
|
||||||
force loading kernel module <drivername> after all automatic loading modules
|
|
||||||
have been loaded. This parameter can be specified multiple times.
|
|
||||||
|
|
||||||
-**rd.ctty=**_<terminal>_::
|
|
||||||
- if the dracut image was generated with --ctty option, try to spawn an
|
|
||||||
- emergency shell on the specified terminal; if rd.ctty is specified without a
|
|
||||||
- value or not provided at all, the default is /dev/tty1. The '/dev' prefix
|
|
||||||
- can be omitted.
|
|
||||||
-
|
|
||||||
[[dracutkerneldebug]]
|
|
||||||
Debug
|
|
||||||
~~~~~
|
|
||||||
diff --git a/dracut.sh b/dracut.sh
|
|
||||||
index 417008c..1bf8ad9 100755
|
|
||||||
--- a/dracut.sh
|
|
||||||
+++ b/dracut.sh
|
|
||||||
@@ -121,7 +121,6 @@ Creates initial ramdisk images for preloading modules
|
|
||||||
build.
|
|
||||||
--keep Keep the temporary initramfs for debugging purposes
|
|
||||||
--sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module)
|
|
||||||
- --ctty Add control tty for emergency shells
|
|
||||||
|
|
||||||
If [LIST] has multiple arguments, then you have to put these in quotes.
|
|
||||||
For example:
|
|
||||||
@@ -241,7 +240,6 @@ while (($# > 0)); do
|
|
||||||
--nolvmconf) lvmconf_l="no";;
|
|
||||||
--debug) debug="yes";;
|
|
||||||
--profile) profile="yes";;
|
|
||||||
- --ctty) cttyhack="yes";;
|
|
||||||
--sshkey) read_arg sshkey "$@" || shift;;
|
|
||||||
-v|--verbose) ((verbosity_mod_l++));;
|
|
||||||
-q|--quiet) ((verbosity_mod_l--));;
|
|
||||||
@@ -625,7 +623,7 @@ done
|
|
||||||
export initdir dracutbasedir dracutmodules drivers \
|
|
||||||
fw_dir drivers_dir debug no_kernel kernel_only \
|
|
||||||
add_drivers omit_drivers mdadmconf lvmconf filesystems \
|
|
||||||
- use_fstab fstab_lines libdir usrlibdir fscks nofscks cttyhack \
|
|
||||||
+ use_fstab fstab_lines libdir usrlibdir fscks nofscks \
|
|
||||||
stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
|
|
||||||
debug host_fs_types host_devs sshkey
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
|
|
||||||
index 5a97770..98742f5 100755
|
|
||||||
--- a/modules.d/99base/module-setup.sh
|
|
||||||
+++ b/modules.d/99base/module-setup.sh
|
|
||||||
@@ -16,7 +16,6 @@ install() {
|
|
||||||
dracut_install mount mknod mkdir modprobe pidof sleep chroot \
|
|
||||||
sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink
|
|
||||||
dracut_install -o less
|
|
||||||
- [[ $cttyhack = yes ]] && dracut_install -o setsid
|
|
||||||
if [ ! -e "${initdir}/bin/sh" ]; then
|
|
||||||
dracut_install bash
|
|
||||||
(ln -s bash "${initdir}/bin/sh" || :)
|
|
@ -1,101 +0,0 @@
|
|||||||
From c3d81de59b3828c35bbab6973f2ab0777777cf51 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 16:19:53 +0100
|
|
||||||
Subject: [PATCH] remove openvt and use "setsid -c", if possible
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut.conf.d/fedora.conf.example | 2 +-
|
|
||||||
modules.d/99base/dracut-lib.sh | 21 ++++++++++++---------
|
|
||||||
modules.d/99base/module-setup.sh | 2 +-
|
|
||||||
modules.d/99shutdown/shutdown.sh | 21 ++++++++++++---------
|
|
||||||
4 files changed, 26 insertions(+), 20 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example
|
|
||||||
index efec77e..02a530e 100644
|
|
||||||
--- a/dracut.conf.d/fedora.conf.example
|
|
||||||
+++ b/dracut.conf.d/fedora.conf.example
|
|
||||||
@@ -7,4 +7,4 @@ omit_dracutmodules+=" dash "
|
|
||||||
omit_drivers+=" .*/fs/ocfs/.* "
|
|
||||||
stdloglvl=3
|
|
||||||
realinitpath="/usr/lib/systemd/systemd"
|
|
||||||
-install_items+=" vi /etc/virc ps grep cat rm openvt "
|
|
||||||
+install_items+=" vi /etc/virc ps grep cat rm "
|
|
||||||
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
|
||||||
index 80e093b..a6c4e24 100755
|
|
||||||
--- a/modules.d/99base/dracut-lib.sh
|
|
||||||
+++ b/modules.d/99base/dracut-lib.sh
|
|
||||||
@@ -803,16 +803,19 @@ emergency_shell()
|
|
||||||
echo
|
|
||||||
export PS1="$_rdshell_name:\${PWD}# "
|
|
||||||
[ -e /.profile ] || >/.profile
|
|
||||||
- _ctty=/dev/console
|
|
||||||
- if [ -n "$(command -v setsid)" ]; then
|
|
||||||
- _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
|
|
||||||
- [ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
- setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
- elif [ -n "$(command -v openvt)" ] && ! getarg "console=" >/dev/null 2>&1 && getargbool 1 "rd.openvt" ; then
|
|
||||||
- openvt -f -c 1 -w -s -l -- sh
|
|
||||||
- else
|
|
||||||
- sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
+
|
|
||||||
+ _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
|
|
||||||
+ if [ -z "$_ctty" ]; then
|
|
||||||
+ _ctty=console
|
|
||||||
+ while [ -f /sys/class/tty/$_ctty/active ]; do
|
|
||||||
+ _ctty=$(cat /sys/class/tty/$_ctty/active)
|
|
||||||
+ _ctty=${_ctty##* } # last one in the list
|
|
||||||
+ done
|
|
||||||
+ _ctty=/dev/$_ctty
|
|
||||||
fi
|
|
||||||
+ [ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
+ strstr "$(setsid --help)" "control" && CTTY="-c"
|
|
||||||
+ setsid $CTTY /bin/sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
else
|
|
||||||
warn "Boot has failed. To debug this issue add \"rdshell\" to the kernel command line."
|
|
||||||
# cause a kernel panic
|
|
||||||
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
|
|
||||||
index 98742f5..581ba93 100755
|
|
||||||
--- a/modules.d/99base/module-setup.sh
|
|
||||||
+++ b/modules.d/99base/module-setup.sh
|
|
||||||
@@ -14,7 +14,7 @@ depends() {
|
|
||||||
install() {
|
|
||||||
local _d
|
|
||||||
dracut_install mount mknod mkdir modprobe pidof sleep chroot \
|
|
||||||
- sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink
|
|
||||||
+ sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink setsid
|
|
||||||
dracut_install -o less
|
|
||||||
if [ ! -e "${initdir}/bin/sh" ]; then
|
|
||||||
dracut_install bash
|
|
||||||
diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh
|
|
||||||
index 2576687..c8ca664 100755
|
|
||||||
--- a/modules.d/99shutdown/shutdown.sh
|
|
||||||
+++ b/modules.d/99shutdown/shutdown.sh
|
|
||||||
@@ -30,16 +30,19 @@ emergency_shell()
|
|
||||||
echo
|
|
||||||
export PS1="$_rdshell_name:\${PWD}# "
|
|
||||||
[ -e /.profile ] || >/.profile
|
|
||||||
- _ctty=/dev/console
|
|
||||||
- if [ -n "$(command -v setsid)" ]; then
|
|
||||||
- _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
|
|
||||||
- [ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
- setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
- elif [ -n "$(command -v openvt)" ] && ! getarg "console=" >/dev/null 2>&1 && getargbool 1 "rd.openvt" ; then
|
|
||||||
- openvt -f -c 1 -w -s -l -- sh
|
|
||||||
- else
|
|
||||||
- sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
+
|
|
||||||
+ _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
|
|
||||||
+ if [ -z "$_ctty" ]; then
|
|
||||||
+ _ctty=console
|
|
||||||
+ while [ -f /sys/class/tty/$_ctty/active ]; do
|
|
||||||
+ _ctty=$(cat /sys/class/tty/$_ctty/active)
|
|
||||||
+ _ctty=${_ctty##* } # last one in the list
|
|
||||||
+ done
|
|
||||||
+ _ctty=/dev/$_ctty
|
|
||||||
fi
|
|
||||||
+ [ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
+ strstr "$(setsid --help)" "control" && CTTY="-c"
|
|
||||||
+ setsid $CTTY /bin/sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
else
|
|
||||||
exec /lib/systemd/systemd-shutdown "$@"
|
|
||||||
warn "Shutdown has failed. To debug this issue add \"rdshell\" to the kernel command line."
|
|
@ -1,39 +0,0 @@
|
|||||||
From d8eb522e8062751f53def079ac1bab8f1c05a401 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 16:32:19 +0100
|
|
||||||
Subject: [PATCH] TEST-01-BASIC: add setsid
|
|
||||||
|
|
||||||
---
|
|
||||||
test/TEST-01-BASIC/test-init.sh | 5 ++++-
|
|
||||||
test/TEST-01-BASIC/test.sh | 2 +-
|
|
||||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/test/TEST-01-BASIC/test-init.sh b/test/TEST-01-BASIC/test-init.sh
|
|
||||||
index fd03aa5..f8d6693 100755
|
|
||||||
--- a/test/TEST-01-BASIC/test-init.sh
|
|
||||||
+++ b/test/TEST-01-BASIC/test-init.sh
|
|
||||||
@@ -11,7 +11,10 @@ export PS1='initramfs-test:\w\$ '
|
|
||||||
[ -f /etc/fstab ] || ln -sfn /proc/mounts /etc/fstab
|
|
||||||
stty sane
|
|
||||||
echo "made it to the rootfs!"
|
|
||||||
-strstr "$CMDLINE" "rd.shell" && sh -i
|
|
||||||
+if strstr "$CMDLINE" "rd.shell"; then
|
|
||||||
+ strstr "$(setsid --help)" "control" && CTTY="-c"
|
|
||||||
+ setsid $CTTY sh -i
|
|
||||||
+fi
|
|
||||||
echo "Powering down."
|
|
||||||
mount -n -o remount,ro /
|
|
||||||
poweroff -f
|
|
||||||
diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
|
|
||||||
index ca7a1fe..6187144 100755
|
|
||||||
--- a/test/TEST-01-BASIC/test.sh
|
|
||||||
+++ b/test/TEST-01-BASIC/test.sh
|
|
||||||
@@ -29,7 +29,7 @@ test_setup() {
|
|
||||||
. $basedir/dracut-functions.sh
|
|
||||||
dracut_install sh df free ls shutdown poweroff stty cat ps ln ip route \
|
|
||||||
mount dmesg ifconfig dhclient mkdir cp ping dhclient \
|
|
||||||
- umount strace less
|
|
||||||
+ umount strace less setsid
|
|
||||||
for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
|
|
||||||
[ -f ${_terminfodir}/l/linux ] && break
|
|
||||||
done
|
|
@ -1,24 +0,0 @@
|
|||||||
From 8cd592dfcb6a5c41ae0dae0b4ec7571fdfa36f92 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 17:09:40 -0400
|
|
||||||
Subject: [PATCH] fix "execvp: No such file or directory" in emergency_shell
|
|
||||||
|
|
||||||
Older versions of setsid emit this message on stderr if you try to run
|
|
||||||
"setsid --help". Redirect it to /dev/null.
|
|
||||||
---
|
|
||||||
modules.d/99base/dracut-lib.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
|
||||||
index a6c4e24..f0d426c 100755
|
|
||||||
--- a/modules.d/99base/dracut-lib.sh
|
|
||||||
+++ b/modules.d/99base/dracut-lib.sh
|
|
||||||
@@ -814,7 +814,7 @@ emergency_shell()
|
|
||||||
_ctty=/dev/$_ctty
|
|
||||||
fi
|
|
||||||
[ -c "$_ctty" ] || _ctty=/dev/tty1
|
|
||||||
- strstr "$(setsid --help)" "control" && CTTY="-c"
|
|
||||||
+ strstr "$(setsid --help 2>/dev/null)" "control" && CTTY="-c"
|
|
||||||
setsid $CTTY /bin/sh -i -l 0<$_ctty 1>$_ctty 2>&1
|
|
||||||
else
|
|
||||||
warn "Boot has failed. To debug this issue add \"rdshell\" to the kernel command line."
|
|
@ -1,37 +0,0 @@
|
|||||||
From 478314a90e4c8db40c483d7ad5f9337fc561d3ad Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 14 Mar 2012 17:09:49 -0400
|
|
||||||
Subject: [PATCH] Make sure 'set -x' gets turned back on in wait_for_loginit
|
|
||||||
|
|
||||||
wait_for_loginit does set +x (to turn off debugging temporarily), but
|
|
||||||
sometimes it would return before turning it back on. Move the set +x
|
|
||||||
line to fix that, then use 'setdebug' to make sure we don't turn it back
|
|
||||||
on unless it was needed.
|
|
||||||
---
|
|
||||||
modules.d/99base/dracut-lib.sh | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
|
|
||||||
index f0d426c..6f506b6 100755
|
|
||||||
--- a/modules.d/99base/dracut-lib.sh
|
|
||||||
+++ b/modules.d/99base/dracut-lib.sh
|
|
||||||
@@ -756,9 +756,9 @@ need_shutdown() {
|
|
||||||
|
|
||||||
wait_for_loginit()
|
|
||||||
{
|
|
||||||
- set +x
|
|
||||||
[ "$RD_DEBUG" = "yes" ] || return
|
|
||||||
[ -e /run/initramfs/loginit.pipe ] || return
|
|
||||||
+ set +x
|
|
||||||
echo "DRACUT_LOG_END"
|
|
||||||
exec 0<>/dev/console 1<>/dev/console 2<>/dev/console
|
|
||||||
# wait for loginit
|
|
||||||
@@ -778,7 +778,7 @@ wait_for_loginit()
|
|
||||||
kill $(while read line;do echo $line;done</run/initramfs/loginit.pid)
|
|
||||||
fi
|
|
||||||
|
|
||||||
- set -x
|
|
||||||
+ setdebug
|
|
||||||
rm -f /run/initramfs/loginit.pipe /run/initramfs/loginit.pid
|
|
||||||
}
|
|
||||||
|
|
@ -1,66 +0,0 @@
|
|||||||
From abbb76fe930763ca48878f3c8098633b10e6f579 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Tue, 20 Mar 2012 13:30:42 +0100
|
|
||||||
Subject: [PATCH] Do not mount --bind /run anymore
|
|
||||||
|
|
||||||
switch_root in util-linux 2.21 does mount --move /run also
|
|
||||||
---
|
|
||||||
dracut.spec | 6 +++---
|
|
||||||
modules.d/99base/init.sh | 16 +++-------------
|
|
||||||
2 files changed, 6 insertions(+), 16 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/dracut.spec b/dracut.spec
|
|
||||||
index be7ba8a..d197173 100644
|
|
||||||
--- a/dracut.spec
|
|
||||||
+++ b/dracut.spec
|
|
||||||
@@ -76,11 +76,11 @@ Requires: hardlink
|
|
||||||
Requires: gzip
|
|
||||||
Requires: module-init-tools >= 3.7-9
|
|
||||||
Requires: sed
|
|
||||||
-Requires: udev
|
|
||||||
+Requires: udev > 166
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 6
|
|
||||||
-Requires: util-linux >= 2.20
|
|
||||||
+Requires: util-linux >= 2.21
|
|
||||||
%else
|
|
||||||
-Requires: util-linux-ng >= 2.17.2
|
|
||||||
+Requires: util-linux-ng >= 2.21
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 6
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index 5d51c9d..fa712a7 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -68,7 +68,7 @@ fi
|
|
||||||
if ! ismounted /run; then
|
|
||||||
mkdir -m 0755 /newrun
|
|
||||||
mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /newrun >/dev/null
|
|
||||||
- cp -a /run/* /newrun
|
|
||||||
+ mv /run/* /newrun >/dev/null 2>&1
|
|
||||||
mount --move /newrun /run
|
|
||||||
rm -fr /newrun
|
|
||||||
fi
|
|
||||||
@@ -312,20 +312,10 @@ else
|
|
||||||
fi
|
|
||||||
[ "$RD_DEBUG" = "yes" ] && set -x
|
|
||||||
|
|
||||||
-if [ -d "$NEWROOT"/run ]; then
|
|
||||||
- NEWRUN="${NEWROOT}/run"
|
|
||||||
- mount --bind /run "$NEWRUN"
|
|
||||||
- NEWINITRAMFSROOT="$NEWRUN/initramfs"
|
|
||||||
-
|
|
||||||
- if [ "$NEWINITRAMFSROOT/lib" -ef "/lib" ]; then
|
|
||||||
- for d in bin etc lib lib64 sbin tmp usr var; do
|
|
||||||
- [ -h /$d ] && ln -fsn $NEWINITRAMFSROOT/$d /$d
|
|
||||||
- done
|
|
||||||
- fi
|
|
||||||
-else
|
|
||||||
+if ! [ -d "$NEWROOT"/run ]; then
|
|
||||||
NEWRUN=/dev/.initramfs
|
|
||||||
mkdir -m 0755 "$NEWRUN"
|
|
||||||
- mount --bind /run/initramfs "$NEWRUN"
|
|
||||||
+ mount --rbind /run/initramfs "$NEWRUN"
|
|
||||||
fi
|
|
||||||
|
|
||||||
wait_for_loginit
|
|
@ -1,23 +0,0 @@
|
|||||||
From 5055abb615a0b4f7519d24a6a37d8af5b5bea6d5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Tue, 20 Mar 2012 13:31:36 +0100
|
|
||||||
Subject: [PATCH] 98selinux/selinux-loadpolicy.sh: use mount --rbind for /dev
|
|
||||||
|
|
||||||
This preserves /dev/shm and /dev/pts for the selinux relabel.
|
|
||||||
---
|
|
||||||
modules.d/98selinux/selinux-loadpolicy.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/98selinux/selinux-loadpolicy.sh b/modules.d/98selinux/selinux-loadpolicy.sh
|
|
||||||
index 6eb1dbb..d6e24d6 100755
|
|
||||||
--- a/modules.d/98selinux/selinux-loadpolicy.sh
|
|
||||||
+++ b/modules.d/98selinux/selinux-loadpolicy.sh
|
|
||||||
@@ -43,7 +43,7 @@ rd_load_policy()
|
|
||||||
if [ $ret -eq 0 -o $ret -eq 2 ]; then
|
|
||||||
# If machine requires a relabel, force to permissive mode
|
|
||||||
[ -e "$NEWROOT"/.autorelabel ] && LANG=C /usr/sbin/setenforce 0
|
|
||||||
- mount --bind /dev "$NEWROOT/dev"
|
|
||||||
+ mount --rbind /dev "$NEWROOT/dev"
|
|
||||||
LANG=C chroot "$NEWROOT" /sbin/restorecon -R /dev
|
|
||||||
return 0
|
|
||||||
fi
|
|
@ -1,36 +0,0 @@
|
|||||||
From 4e25cf6edf94755219a822ebc0e108e13377cc27 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Drake <dsd@laptop.org>
|
|
||||||
Date: Fri, 16 Mar 2012 21:11:24 +0000
|
|
||||||
Subject: [PATCH] Avoid use of "export -n"
|
|
||||||
|
|
||||||
"export -n" is a bash extension, not part of POSIX, and is hence
|
|
||||||
incompatible with the busybox shell.
|
|
||||||
|
|
||||||
This was breaking boot when the busybox module was used.
|
|
||||||
|
|
||||||
Reimplement the scope change in a few lines of standard shell code.
|
|
||||||
---
|
|
||||||
modules.d/99base/init.sh | 9 ++++++++-
|
|
||||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index fa712a7..84c13e0 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -263,8 +263,15 @@ else
|
|
||||||
udevadm info --cleanup-db
|
|
||||||
fi
|
|
||||||
|
|
||||||
+# Retain the values of these variables but ensure that they are unexported
|
|
||||||
+# This is a POSIX-compliant equivalent of bash's "export -n"
|
|
||||||
+for var in root rflags fstype netroot NEWROOT; do
|
|
||||||
+ eval tmp=\$$var
|
|
||||||
+ unset $var
|
|
||||||
+ [ -n "$tmp" ] && eval $var=\"$tmp\"
|
|
||||||
+done
|
|
||||||
+
|
|
||||||
export RD_TIMESTAMP
|
|
||||||
-export -n root rflags fstype netroot NEWROOT
|
|
||||||
set +x # Turn off debugging for this section
|
|
||||||
# Clean up the environment
|
|
||||||
for i in $(export -p); do
|
|
@ -1,27 +0,0 @@
|
|||||||
From b7b062ba795521433ecd82fa4f214084d17f1ffa Mon Sep 17 00:00:00 2001
|
|
||||||
From: Wim Muskee <wimmuskee@gmail.com>
|
|
||||||
Date: Sat, 17 Mar 2012 12:33:55 +0100
|
|
||||||
Subject: [PATCH] provide name based nbd connects
|
|
||||||
|
|
||||||
Because nbd-server also provides name-based exports instead of
|
|
||||||
port-based ones, make it possible to connect to those.
|
|
||||||
---
|
|
||||||
modules.d/95nbd/nbdroot.sh | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh
|
|
||||||
index e20b4e4..0e7dd9b 100755
|
|
||||||
--- a/modules.d/95nbd/nbdroot.sh
|
|
||||||
+++ b/modules.d/95nbd/nbdroot.sh
|
|
||||||
@@ -30,6 +30,11 @@ nbdfstype=${root%%:*}; root=${root#*:}
|
|
||||||
nbdflags=${root%%:*}
|
|
||||||
nbdopts=${root#*:}
|
|
||||||
|
|
||||||
+# If nbdport not an integer, then assume name based import
|
|
||||||
+if [[ $nbdport != [0-9]* ]]; then
|
|
||||||
+ nbdport="-N $nbdport"
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
if [ "$nbdopts" = "$nbdflags" ]; then
|
|
||||||
unset nbdopts
|
|
||||||
fi
|
|
@ -1,30 +0,0 @@
|
|||||||
From 3d3f32aea3d2cfb8bffe3e487aca0296d0939ea2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Wed, 21 Mar 2012 17:40:08 +0100
|
|
||||||
Subject: [PATCH] dracut.asc: set level down for the manpage includes
|
|
||||||
|
|
||||||
---
|
|
||||||
dracut.asc | 3 +++
|
|
||||||
1 file changed, 3 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/dracut.asc b/dracut.asc
|
|
||||||
index a4bf726..1a0e3d2 100644
|
|
||||||
--- a/dracut.asc
|
|
||||||
+++ b/dracut.asc
|
|
||||||
@@ -1007,6 +1007,8 @@ FIXME
|
|
||||||
|
|
||||||
FIXME
|
|
||||||
|
|
||||||
+
|
|
||||||
+:leveloffset: 1
|
|
||||||
[[dracut8]]
|
|
||||||
include::dracut.8.asc[]
|
|
||||||
|
|
||||||
@@ -1016,6 +1018,7 @@ include::dracut.conf.5.asc[]
|
|
||||||
[[dracutcmdline7]]
|
|
||||||
include::dracut.cmdline.7.asc[]
|
|
||||||
|
|
||||||
+:leveloffset: 0
|
|
||||||
[appendix]
|
|
||||||
License
|
|
||||||
-------
|
|
@ -1,23 +0,0 @@
|
|||||||
From 317191848a64006249de30fb3ed388a88ff22a90 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Will Woods <wwoods@redhat.com>
|
|
||||||
Date: Wed, 21 Mar 2012 19:47:46 -0400
|
|
||||||
Subject: [PATCH] shutdown: fix PATH
|
|
||||||
|
|
||||||
Some systems might not use /bin:/sbin in their paths anymore, but we're
|
|
||||||
still using it in initramfs, so make sure our PATH is correct.
|
|
||||||
---
|
|
||||||
modules.d/99shutdown/shutdown.sh | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh
|
|
||||||
index c8ca664..8817a4c 100755
|
|
||||||
--- a/modules.d/99shutdown/shutdown.sh
|
|
||||||
+++ b/modules.d/99shutdown/shutdown.sh
|
|
||||||
@@ -10,6 +10,7 @@
|
|
||||||
#!/bin/sh
|
|
||||||
. /lib/dracut-lib.sh
|
|
||||||
export TERM=linux
|
|
||||||
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
|
||||||
|
|
||||||
emergency_shell()
|
|
||||||
{
|
|
@ -1,23 +0,0 @@
|
|||||||
From 56bf6156d6022b30f5354467f552496e8b87a71b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Harald Hoyer <harald@redhat.com>
|
|
||||||
Date: Thu, 22 Mar 2012 17:05:20 +0100
|
|
||||||
Subject: [PATCH] 99base/init.sh: revert the "cp" "mv" change for
|
|
||||||
/run/initramfs
|
|
||||||
|
|
||||||
---
|
|
||||||
modules.d/99base/init.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
|
|
||||||
index 84c13e0..2f87a20 100755
|
|
||||||
--- a/modules.d/99base/init.sh
|
|
||||||
+++ b/modules.d/99base/init.sh
|
|
||||||
@@ -68,7 +68,7 @@ fi
|
|
||||||
if ! ismounted /run; then
|
|
||||||
mkdir -m 0755 /newrun
|
|
||||||
mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /newrun >/dev/null
|
|
||||||
- mv /run/* /newrun >/dev/null 2>&1
|
|
||||||
+ cp -a /run/* /newrun >/dev/null 2>&1
|
|
||||||
mount --move /newrun /run
|
|
||||||
rm -fr /newrun
|
|
||||||
fi
|
|
71
dracut.spec
71
dracut.spec
@ -9,8 +9,8 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
Name: dracut
|
Name: dracut
|
||||||
Version: 017
|
Version: 018
|
||||||
Release: 62.git20120322%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
Summary: Initramfs generator using udev
|
Summary: Initramfs generator using udev
|
||||||
%if 0%{?fedora} || 0%{?rhel}
|
%if 0%{?fedora} || 0%{?rhel}
|
||||||
@ -24,67 +24,6 @@ URL: https://dracut.wiki.kernel.org/
|
|||||||
# Source can be generated by
|
# Source can be generated by
|
||||||
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
|
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
|
||||||
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
|
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
|
||||||
Patch1: 0001-99fs-lib-module-setup.sh-removed-touch.patch
|
|
||||||
Patch2: 0002-95nfs-module-setup.sh-removed-egrep-and-ls-calls.patch
|
|
||||||
Patch3: 0003-30convertfs-convertfs.sh-use-hardlinks-for-inter-usr.patch
|
|
||||||
Patch4: 0004-dracut-functions.sh-get_fs_env-replaced-egrep-with-s.patch
|
|
||||||
Patch5: 0005-dracut-functions.sh-instmods-replace-egrep-with-shel.patch
|
|
||||||
Patch6: 0006-dracut-functions.sh-instmods-removed-special-case-fo.patch
|
|
||||||
Patch7: 0007-dracut-functions.sh-instmods-print-only-filename-ins.patch
|
|
||||||
Patch8: 0008-dracut.sh-dracut-functions.sh-use-a-marker-dir-for-k.patch
|
|
||||||
Patch9: 0009-dracut.spec-require-hardlink.patch
|
|
||||||
Patch10: 0010-95terminfo-module-setup.sh-no-need-to-call-find.patch
|
|
||||||
Patch11: 0011-10i18n-module-setup.sh-optimize-install-of-all-kbd-f.patch
|
|
||||||
Patch12: 0012-make-bzip2-optional.patch
|
|
||||||
Patch13: 0013-TODO-update.patch
|
|
||||||
Patch14: 0014-98usrmount-mount-usr.sh-ignore-comments-in-fstab.patch
|
|
||||||
Patch15: 0015-98usrmount-mount-usr.sh-check-if-we-have-NEWROOT-etc.patch
|
|
||||||
Patch16: 0016-30convertfs-convertfs.sh-correct-check-for-usr-bin.patch
|
|
||||||
Patch17: 0017-90crypt-parse-crypt.sh-simplify-rd.luks.uuid-testing.patch
|
|
||||||
Patch18: 0018-dracut-functions.sh-install_kmod_with_fw-delay-.kern.patch
|
|
||||||
Patch19: 0019-Fix-correct-nfs-path.patch
|
|
||||||
Patch20: 0020-move-emergency_shell-to-dracut-lib.sh.patch
|
|
||||||
Patch21: 0021-url-lib-make-nfs-support-optional.patch
|
|
||||||
Patch22: 0022-40network-kill-dhclient.sh-kill-dhclient-silently.patch
|
|
||||||
Patch23: 0023-write-ifcfg.sh-cleanups.patch
|
|
||||||
Patch24: 0024-write-ifcfg.sh-add-UUID-.-and-save-the-lease-files-w.patch
|
|
||||||
Patch25: 0025-fix-apply-live-updates-failing-because-of-lib-symlin.patch
|
|
||||||
Patch26: 0026-40network-net-genrules.sh-move-ifup-in-the-initqueue.patch
|
|
||||||
Patch27: 0027-dracut-functions.sh-check-for-.kernelmodseen-dir-bef.patch
|
|
||||||
Patch28: 0028-ifup.sh-check-for-m-to-set-manualup.patch
|
|
||||||
Patch29: 0029-get-rid-of-tmp-root.info.patch
|
|
||||||
Patch30: 0030-TEST-20-NFS-use-ext3-on-server-and-fsck-after-kill.patch
|
|
||||||
Patch31: 0031-add-initqueue-to-hookdirs-and-create-them-in-dracut-.patch
|
|
||||||
Patch32: 0032-98pollcdrom-factored-out-the-ugly-cdrom-polling-in-t.patch
|
|
||||||
Patch33: 0033-move-wait_for_loginit-to-dracut-lib.sh.patch
|
|
||||||
Patch34: 0034-network-refactor-stuff-from-netroot-parse-ip-opts-to.patch
|
|
||||||
Patch35: 0035-add-initqueue-env-and-online-hook.patch
|
|
||||||
Patch36: 0036-TEST-20-NFS-test.sh-fsck-with-a.patch
|
|
||||||
Patch37: 0037-95iscsi-iscsiroot.sh-fix-for-empty-root.patch
|
|
||||||
Patch38: 0038-dracut.spec-add-98pollcdrom.patch
|
|
||||||
Patch39: 0039-install-ctcm-network-module-on-s390.patch
|
|
||||||
Patch40: 0040-img-lib-fix-unpack_img.patch
|
|
||||||
Patch41: 0041-url-lib-clean-up-output.patch
|
|
||||||
Patch42: 0042-Add-live.updates-to-livenet-module.patch
|
|
||||||
Patch43: 0043-README-added-github-and-sourceforge-git-links.patch
|
|
||||||
Patch44: 0044-AUTHORS-update.patch
|
|
||||||
Patch45: 0045-remove-dracut-gencmdline.patch
|
|
||||||
Patch46: 0046-replace-xml-documentation-with-asciidoc.patch
|
|
||||||
Patch47: 0047-precompile-doc.patch
|
|
||||||
Patch48: 0048-TEST-10-RAID-wait-for-udev-settle-before-deconstruct.patch
|
|
||||||
Patch49: 0049-NEWS-update.patch
|
|
||||||
Patch50: 0050-remove-ctty.patch
|
|
||||||
Patch51: 0051-remove-openvt-and-use-setsid-c-if-possible.patch
|
|
||||||
Patch52: 0052-TEST-01-BASIC-add-setsid.patch
|
|
||||||
Patch53: 0053-fix-execvp-No-such-file-or-directory-in-emergency_sh.patch
|
|
||||||
Patch54: 0054-Make-sure-set-x-gets-turned-back-on-in-wait_for_logi.patch
|
|
||||||
Patch55: 0055-Do-not-mount-bind-run-anymore.patch
|
|
||||||
Patch56: 0056-98selinux-selinux-loadpolicy.sh-use-mount-rbind-for-.patch
|
|
||||||
Patch57: 0057-Avoid-use-of-export-n.patch
|
|
||||||
Patch58: 0058-provide-name-based-nbd-connects.patch
|
|
||||||
Patch59: 0059-dracut.asc-set-level-down-for-the-manpage-includes.patch
|
|
||||||
Patch60: 0060-shutdown-fix-PATH.patch
|
|
||||||
Patch61: 0061-99base-init.sh-revert-the-cp-mv-change-for-run-initr.patch
|
|
||||||
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@ -135,7 +74,7 @@ Requires: filesystem >= 2.1.0
|
|||||||
Requires: findutils
|
Requires: findutils
|
||||||
Requires: grep
|
Requires: grep
|
||||||
Requires: hardlink
|
Requires: hardlink
|
||||||
Requires: gzip
|
Requires: gzip xz
|
||||||
Requires: module-init-tools >= 3.7-9
|
Requires: module-init-tools >= 3.7-9
|
||||||
Requires: sed
|
Requires: sed
|
||||||
Requires: udev > 166
|
Requires: udev > 166
|
||||||
@ -312,6 +251,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{dracutlibdir}/modules.d/30convertfs
|
%{dracutlibdir}/modules.d/30convertfs
|
||||||
%{dracutlibdir}/modules.d/45url-lib
|
%{dracutlibdir}/modules.d/45url-lib
|
||||||
%{dracutlibdir}/modules.d/50plymouth
|
%{dracutlibdir}/modules.d/50plymouth
|
||||||
|
%{dracutlibdir}/modules.d/80cms
|
||||||
%{dracutlibdir}/modules.d/90btrfs
|
%{dracutlibdir}/modules.d/90btrfs
|
||||||
%{dracutlibdir}/modules.d/90crypt
|
%{dracutlibdir}/modules.d/90crypt
|
||||||
%{dracutlibdir}/modules.d/90dm
|
%{dracutlibdir}/modules.d/90dm
|
||||||
@ -389,6 +329,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%dir /var/lib/dracut/overlay
|
%dir /var/lib/dracut/overlay
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 05 2012 Harald Hoyer <harald@redhat.com> 018-1
|
||||||
|
- version 018
|
||||||
|
|
||||||
* Thu Mar 22 2012 Harald Hoyer <harald@redhat.com> 017-62.git20120322
|
* Thu Mar 22 2012 Harald Hoyer <harald@redhat.com> 017-62.git20120322
|
||||||
- fixed /run prefix copying
|
- fixed /run prefix copying
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user