dracut-027-81.git20130531

- fix btrfs mount flags for /usr
- degrade message about missing tools for stripping
Resolves: rhbz#958519
- set environment vars DRACUT_SYSTEMD, NEWROOT in service file
Resolves: rhbz#963159
- don't add volatile swap partitions to host_devs
- add libssl.so.10 to make kdump work with fips mode
- readd selinux dracut module for kdump
- url-lib/url-lib.sh: turn off curl globbing
Resolves: rhbz#907497
- include btrfs-zero-log in the initramfs
Resolves: rhbz#963257
- proper NAME the network interfaces
Resolves: rhbz#965842
- install default font latarcyrheb-sun16
Resolves: rhbz#927564
- optionally install /etc/pcmcia/config.opts
Resolves: rhbz#920076
- fix ONBOOT for slaves, set TYPE=Bond for bonding
Resolves: rhbz#919001
- add nvme kernel module
Resolves: rhbz#910734
- add xfs_metadump
- selinux: load_policy script fix
- add hid-hyperv and hv-vmbus kernel modules
- add parameter rd.live.squashimg
Resolves: rhbz#789036 rhbz#782108
- wait for all required interfaces if "rd.neednet=1"
Resolves: rhbz#801829
- lvm: add tools for thin provisioning
Resolves: rhbz#921235
- ifcfg/write-ifcfg.sh: fixed ifcfg file generation
- do not wait for mpath* devices
Resolves: rhbz#969068
This commit is contained in:
Harald Hoyer 2013-05-31 10:01:36 +02:00
parent 3d3710b922
commit 75f812af59
37 changed files with 1713 additions and 13 deletions

View File

@ -0,0 +1,35 @@
From d57b8833c43d297004d8393d8e54a2ab2655a899 Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Fri, 3 May 2013 17:16:05 +0100
Subject: [PATCH] usrmount: Fix miss-detection of btrfs subvolumes.
This causes the root FS options to be incorrectly applied to to /usr
In some cases this can cause boot failure e.g. due to and XFS /usr
not supporting the 'acl' option from the ext4 root FS.
https://bugs.mageia.org/show_bug.cgi?id=9884
---
modules.d/98usrmount/mount-usr.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
index a4a66ae..de7dcc2 100755
--- a/modules.d/98usrmount/mount-usr.sh
+++ b/modules.d/98usrmount/mount-usr.sh
@@ -61,14 +61,14 @@ mount_usr()
LABEL=*)
_dev="$(echo $_dev | sed 's,/,\\x2f,g')"
_dev="/dev/disk/by-label/${_dev#LABEL=}"
- ;;
+ ;;
UUID=*)
_dev="${_dev#block:}"
_dev="/dev/disk/by-uuid/${_dev#UUID=}"
;;
esac
if strstr "$_opts" "subvol=" && \
- [ "${root#block:}" -ef $_dev ]
+ [ "${root#block:}" -ef $_dev ] && \
[ -n "$rflags" ]; then
# for btrfs subvolumes we have to mount /usr with the same rflags
rflags=$(filtersubvol "$rflags")

View File

@ -0,0 +1,25 @@
From fefd3f66f9802f3309c44f45e4959e5fa6683a07 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Mon, 6 May 2013 14:06:29 +0200
Subject: [PATCH] dracut.sh: degrade message about missing tools for stripping
warning -> info
https://bugzilla.redhat.com/show_bug.cgi?id=958519
---
dracut.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut.sh b/dracut.sh
index 5f0a1b3..88b0645 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1162,7 +1162,7 @@ fi
if [[ $do_strip = yes ]] ; then
for p in strip xargs find; do
if ! type -P $p >/dev/null; then
- dwarn "Could not find '$p'. Not stripping the initramfs."
+ dinfo "Could not find '$p'. Not stripping the initramfs."
do_strip=no
fi
done

View File

@ -1,8 +1,8 @@
From 96dd416ac2ea8ea0f5bbbdce2abafbbce84f0ad6 Mon Sep 17 00:00:00 2001
From 8d7c07f191524f2ac59e3083910db985fa4bbcd5 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Wed, 22 May 2013 13:56:58 -0700
Subject: [PATCH 45/45] don't specify "p" as a separator for dmraid arrays
(RHBZ #966162)
Subject: [PATCH] don't specify "p" as a separator for dmraid arrays (RHBZ
#966162)
As per RHBZ #966162, parted stopped unconditionally using "p" as a
separator for dmraid device names in version 3.1, so other things need
@ -33,6 +33,3 @@ index 68e0515..3753ddd 100755
done
fi
--
1.8.2.1

View File

@ -0,0 +1,163 @@
From 780cb337416a21b000353d1f2dbb362690265b3b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 12:50:57 +0200
Subject: [PATCH] systemd: set environment vars DRACUT_SYSTEMD, NEWROOT in
service file
---
modules.d/98systemd/dracut-cmdline.service | 2 ++
modules.d/98systemd/dracut-cmdline.sh | 2 --
modules.d/98systemd/dracut-emergency.service | 2 ++
modules.d/98systemd/dracut-initqueue.service | 2 ++
modules.d/98systemd/dracut-mount.service | 2 ++
modules.d/98systemd/dracut-pre-mount.service | 2 ++
modules.d/98systemd/dracut-pre-pivot.service | 2 ++
modules.d/98systemd/dracut-pre-trigger.service | 2 ++
modules.d/98systemd/dracut-pre-udev.service | 2 ++
modules.d/98systemd/emergency.service | 2 ++
modules.d/98systemd/rescue.service | 2 ++
11 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/modules.d/98systemd/dracut-cmdline.service b/modules.d/98systemd/dracut-cmdline.service
index 33a37f9..07f6939 100644
--- a/modules.d/98systemd/dracut-cmdline.service
+++ b/modules.d/98systemd/dracut-cmdline.service
@@ -23,6 +23,8 @@ ConditionKernelCommandLine=|resume
ConditionKernelCommandLine=|noresume
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-cmdline
StandardInput=null
diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh
index ad51142..a6738bd 100755
--- a/modules.d/98systemd/dracut-cmdline.sh
+++ b/modules.d/98systemd/dracut-cmdline.sh
@@ -2,8 +2,6 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
-export DRACUT_SYSTEMD=1
-export NEWROOT="/sysroot"
[ -d $NEWROOT ] || mkdir -p -m 0755 $NEWROOT
[ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs
[ -d /run/lock ] || mkdir -p -m 0755 /run/lock
diff --git a/modules.d/98systemd/dracut-emergency.service b/modules.d/98systemd/dracut-emergency.service
index 153931b..12eef6c 100644
--- a/modules.d/98systemd/dracut-emergency.service
+++ b/modules.d/98systemd/dracut-emergency.service
@@ -16,6 +16,8 @@ Conflicts=emergency.service emergency.target
[Service]
Environment=HOME=/
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
WorkingDirectory=/
ExecStart=/bin/dracut-emergency
ExecStopPost=-/bin/rm -f /.console_lock
diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service
index c19cfea..f4c1dd4 100644
--- a/modules.d/98systemd/dracut-initqueue.service
+++ b/modules.d/98systemd/dracut-initqueue.service
@@ -19,6 +19,8 @@ ConditionPathExistsGlob=|/lib/dracut/hooks/initqueue/*.sh
ConditionKernelCommandLine=|rd.break=pre-mount
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-initqueue
StandardInput=null
diff --git a/modules.d/98systemd/dracut-mount.service b/modules.d/98systemd/dracut-mount.service
index db18f86..20c633d 100644
--- a/modules.d/98systemd/dracut-mount.service
+++ b/modules.d/98systemd/dracut-mount.service
@@ -17,6 +17,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/mount
ConditionKernelCommandLine=|rd.break=mount
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-mount
StandardInput=null
diff --git a/modules.d/98systemd/dracut-pre-mount.service b/modules.d/98systemd/dracut-pre-mount.service
index bec3c75..d7be48d 100644
--- a/modules.d/98systemd/dracut-pre-mount.service
+++ b/modules.d/98systemd/dracut-pre-mount.service
@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-mount
ConditionKernelCommandLine=|rd.break=pre-mount
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-pre-mount
StandardInput=null
diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
index 9d0143c..36394aa 100644
--- a/modules.d/98systemd/dracut-pre-pivot.service
+++ b/modules.d/98systemd/dracut-pre-pivot.service
@@ -18,6 +18,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-pivot
ConditionKernelCommandLine=|rd.break=pre-pivot
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-pre-pivot
StandardInput=null
diff --git a/modules.d/98systemd/dracut-pre-trigger.service b/modules.d/98systemd/dracut-pre-trigger.service
index e49e405..bb34196 100644
--- a/modules.d/98systemd/dracut-pre-trigger.service
+++ b/modules.d/98systemd/dracut-pre-trigger.service
@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-trigger
ConditionKernelCommandLine=|rd.break=pre-trigger
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-pre-trigger
StandardInput=null
diff --git a/modules.d/98systemd/dracut-pre-udev.service b/modules.d/98systemd/dracut-pre-udev.service
index b372373..d125b37 100644
--- a/modules.d/98systemd/dracut-pre-udev.service
+++ b/modules.d/98systemd/dracut-pre-udev.service
@@ -22,6 +22,8 @@ ConditionKernelCommandLine=|rd.driver.pre
ConditionKernelCommandLine=|rd.driver.post
[Service]
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=-/bin/dracut-pre-udev
StandardInput=null
diff --git a/modules.d/98systemd/emergency.service b/modules.d/98systemd/emergency.service
index a932739..35d9c31 100644
--- a/modules.d/98systemd/emergency.service
+++ b/modules.d/98systemd/emergency.service
@@ -15,6 +15,8 @@ Wants=systemd-vconsole-setup.service
[Service]
Environment=HOME=/
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
WorkingDirectory=/
ExecStart=/bin/dracut-emergency
ExecStopPost=-/usr/bin/systemctl --fail --no-block default
diff --git a/modules.d/98systemd/rescue.service b/modules.d/98systemd/rescue.service
index b5fb663..62f2067 100644
--- a/modules.d/98systemd/rescue.service
+++ b/modules.d/98systemd/rescue.service
@@ -13,6 +13,8 @@ DefaultDependencies=no
[Service]
Environment=HOME=/
+Environment=DRACUT_SYSTEMD=1
+Environment=NEWROOT=/sysroot
WorkingDirectory=/
ExecStartPre=-/bin/plymouth quit
ExecStart=-/bin/sh -i -l

View File

@ -0,0 +1,68 @@
From bcfbddefe13d179d553da77cf66ada5e6fd804c8 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 13:26:05 +0200
Subject: [PATCH] don't add volatile swap partitions to host_devs
---
TODO | 1 +
dracut.sh | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/TODO b/TODO
index 9eeedfa..e275324 100644
--- a/TODO
+++ b/TODO
@@ -22,6 +22,7 @@ INITRAMFS TODO
GENERATOR TODO
+- remove wait for swap devs, if no "resume=" is given on the kernel command line
- add presets (predefined set of modules)
- add interpreter/plugin-scripts to be sourced at the beginning or end (can use dracut-functions)
- add mechanism for module specific command line options
diff --git a/dracut.sh b/dracut.sh
index 88b0645..7481ac0 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -830,7 +830,7 @@ if [[ $hostonly ]]; then
# in hostonly mode, determine all devices, which have to be accessed
# and examine them for filesystem types
- push host_mp \
+ for mp in \
"/" \
"/etc" \
"/usr" \
@@ -838,9 +838,8 @@ if [[ $hostonly ]]; then
"/usr/sbin" \
"/usr/lib" \
"/usr/lib64" \
- "/boot"
-
- for mp in "${host_mp[@]}"; do
+ "/boot";
+ do
mountpoint "$mp" >/dev/null 2>&1 || continue
push host_devs $(readlink -f "/dev/block/$(find_block_device "$mp")")
done
@@ -856,11 +855,19 @@ if [[ $hostonly ]]; then
[[ "$_d" == UUID\=* ]] && _d="/dev/disk/by-uuid/${_d#UUID=}"
[[ "$_d" == LABEL\=* ]] && _d="/dev/disk/by-label/$_d#LABEL=}"
[[ "$_d" -ef "$dev" ]] || continue
+
+ while read _mapper _a _p _o; do
+ [[ $_mapper = \#* ]] && continue
+ [[ "$_d" -ef /dev/mapper/"$_mapper" ]] || continue
+ [[ "$_o" ]] || _o="$_p"
+ # skip mkswap swap
+ [[ $_o == *swap* ]] && continue 2
+ done < /etc/crypttab
+
push host_devs $(readlink -f $dev)
break
done < /etc/fstab
done < /proc/swaps
-
fi
_get_fs_type() (

View File

@ -0,0 +1,31 @@
From 19b5c10963e80cc6899ee4131474c1955754f8c6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 14:25:49 +0200
Subject: [PATCH] dracut-functions.sh: clarify instmods() error message
---
dracut-functions.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 96d3c6e..4a0e81a 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -1608,7 +1608,7 @@ instmods() {
while read _mod; do
inst1mod "${_mod%.ko*}" || {
if [[ "$_check" == "yes" ]]; then
- [[ "$_silent" == "no" ]] && dfatal "Failed to install $_mod"
+ [[ "$_silent" == "no" ]] && dfatal "Failed to install module $_mod"
return 1
fi
}
@@ -1617,7 +1617,7 @@ instmods() {
while (($# > 0)); do # filenames as arguments
inst1mod ${1%.ko*} || {
if [[ "$_check" == "yes" ]]; then
- [[ "$_silent" == "no" ]] && dfatal "Failed to install $1"
+ [[ "$_silent" == "no" ]] && dfatal "Failed to install module $1"
return 1
fi
}

View File

@ -0,0 +1,28 @@
From 15b93069bba031169eeccb8b16fe0382a4bb2968 Mon Sep 17 00:00:00 2001
From: Baoquan He <bhe@redhat.com>
Date: Thu, 9 May 2013 16:38:53 +0800
Subject: [PATCH] 01fips/module-setup.sh: add libssl.so.10 to make kdump work
with fips mode
FIPS can work well in 1st kernel, but failed in kdump kernel. the
libssl.so.10 and related hmac file are needed. Now add it and it
works.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
modules.d/01fips/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index a7f5be8..6013318 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -38,7 +38,7 @@ install() {
inst_libdir_file libsoftokn3.so libsoftokn3.so \
libsoftokn3.chk libfreebl3.so libfreebl3.chk \
- libssl.so 'hmaccalc/sha512hmac.hmac'
+ libssl.so 'hmaccalc/sha512hmac.hmac' libssl.so.10
dracut_install -o prelink
}

View File

@ -0,0 +1,24 @@
From 6a736cc129ed29157a4e5460382d17154f8fc381 Mon Sep 17 00:00:00 2001
From: Kamil Rytarowski <n54@gmx.com>
Date: Sat, 11 May 2013 11:39:46 +0200
Subject: [PATCH] Fix parsing command line arguments
Adjust correctly the *optstring argument of getopt_long. Add support
for a missing option -v|--verbose and drop unknown options -D, -I and -L.
---
install/dracut-install.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index b4bf681..584a30b 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -619,7 +619,7 @@ static int parse_argv(int argc, char *argv[])
{NULL, 0, NULL, 0}
};
- while ((c = getopt_long(argc, argv, "adhloD:DHILR", options, NULL)) != -1) {
+ while ((c = getopt_long(argc, argv, "adhloD:HR", options, NULL)) != -1) {
switch (c) {
case ARG_VERSION:
puts(PROGRAM_VERSION_STRING);

View File

@ -0,0 +1,53 @@
From 599182b10870a826360091246f0a5f26c691f690 Mon Sep 17 00:00:00 2001
From: Kamil Rytarowski <n54@gmx.com>
Date: Sat, 11 May 2013 17:06:45 +0200
Subject: [PATCH] Introduce stricter type correctness
---
install/dracut-install.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 584a30b..33fad4a 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -80,9 +80,9 @@ static char *convert_abs_rel(const char *from, const char *target)
_cleanup_free_ char *realtarget = NULL;
_cleanup_free_ char *target_dir_p = NULL, *realpath_p = NULL;
const char *realfrom = from;
- int level = 0, fromlevel = 0, targetlevel = 0;
- int l, i, rl;
- int dirlen;
+ size_t level = 0, fromlevel = 0, targetlevel = 0;
+ int l;
+ size_t i, rl, dirlen;
target_dir_p = strdup(target);
if (!target_dir_p)
@@ -215,7 +215,7 @@ static int cp(const char *src, const char *dst)
if (ret == 0) {
struct timeval tv[2];
if (fchown(dest_desc, sb.st_uid, sb.st_gid) != 0)
- fchown(dest_desc, -1, sb.st_gid);
+ fchown(dest_desc, (__uid_t)-1, sb.st_gid);
tv[0].tv_sec = sb.st_atime;
tv[0].tv_usec = 0;
tv[1].tv_sec = sb.st_mtime;
@@ -297,7 +297,7 @@ static int resolve_deps(const char *src)
log_debug("ldd: '%s'", buf);
if (strstr(buf, "you do not have execution permission")) {
- log_error(buf);
+ log_error("%s", buf);
ret+=1;
break;
}
@@ -670,7 +670,7 @@ static int parse_argv(int argc, char *argv[])
static int resolve_lazy(int argc, char **argv)
{
int i;
- int destrootdirlen = strlen(destrootdir);
+ size_t destrootdirlen = strlen(destrootdir);
int ret = 0;
char *item;
for (i = 0; i < argc; i++) {

View File

@ -0,0 +1,34 @@
From 8974102f6b4d59a29e01d080262cbbb0a08571d3 Mon Sep 17 00:00:00 2001
From: Kamil Rytarowski <n54@gmx.com>
Date: Sat, 11 May 2013 13:49:00 +0200
Subject: [PATCH] Use consistiently termination code macros
Operate in install_all and install_one consequently on EXIT_SUCCESS
and EXIT_FAILURE termination code macros as they are meant to be
returned from these functions.
---
install/dracut-install.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 33fad4a..0b9502e 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -757,7 +757,7 @@ static char *find_binary(const char *src)
static int install_one(const char *src, const char *dst)
{
- int r = 0;
+ int r = EXIT_SUCCESS;
int ret;
if (strchr(src, '/') == NULL) {
@@ -786,7 +786,7 @@ static int install_one(const char *src, const char *dst)
static int install_all(int argc, char **argv)
{
- int r = 0;
+ int r = EXIT_SUCCESS;
int i;
for (i = 0; i < argc; i++) {
int ret;

View File

@ -0,0 +1,144 @@
From d9eff33ce203a9010067a15ddf1d279132abf437 Mon Sep 17 00:00:00 2001
From: Kamil Rytarowski <n54@gmx.com>
Date: Sat, 11 May 2013 14:40:19 +0200
Subject: [PATCH] Always check the return number of asprintf
asprintf prints to an allocated string. When successful, the
functions return the number of bytes printed. If memory allocation
wasn't possible, or some other error occurs, the function will return
-1.
Don't check strp as a result of asprintf, it's content may be undefined.
man 3 asprintf
---
install/dracut-install.c | 59 +++++++++++++++++++++++++++++++++++++++---------
1 file changed, 48 insertions(+), 11 deletions(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index 0b9502e..c8328b0 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -83,6 +83,7 @@ static char *convert_abs_rel(const char *from, const char *target)
size_t level = 0, fromlevel = 0, targetlevel = 0;
int l;
size_t i, rl, dirlen;
+ int ret;
target_dir_p = strdup(target);
if (!target_dir_p)
@@ -103,7 +104,11 @@ static char *convert_abs_rel(const char *from, const char *target)
for (i = dirlen+1; i < rl; ++i)
if (target_dir_p[i] != '/')
break;
- asprintf(&realtarget, "%s/%s", realpath_p, &target_dir_p[i]);
+ ret = asprintf(&realtarget, "%s/%s", realpath_p, &target_dir_p[i]);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
/* now calculate the relative path from <from> to <target> and
store it in <relative_from>
@@ -282,8 +287,11 @@ static int resolve_deps(const char *src)
/* run ldd */
ret = asprintf(&cmd, "ldd %s 2>&1", src);
- if (ret < 0)
- return ret;
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
+
ret = 0;
fptr = popen(cmd, "r");
@@ -352,6 +360,7 @@ static int hmac_install(const char *src, const char *dst, const char *hmacpath)
_cleanup_free_ char *dstpath = strdup(dst);
_cleanup_free_ char *srchmacname = NULL;
_cleanup_free_ char *dsthmacname = NULL;
+ int ret;
if (!(srcpath && dstpath))
return -ENOMEM;
@@ -371,11 +380,29 @@ static int hmac_install(const char *src, const char *dst, const char *hmacpath)
srcpath[dlen] = '\0';
dstpath[dir_len(dst)] = '\0';
if (hmacpath) {
- asprintf(&srchmacname, "%s/%s.hmac", hmacpath, &src[dlen + 1]);
- asprintf(&dsthmacname, "%s/%s.hmac", hmacpath, &src[dlen + 1]);
+ ret = asprintf(&srchmacname, "%s/%s.hmac", hmacpath, &src[dlen + 1]);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
+
+ ret = asprintf(&dsthmacname, "%s/%s.hmac", hmacpath, &src[dlen + 1]);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
} else {
- asprintf(&srchmacname, "%s/.%s.hmac", srcpath, &src[dlen + 1]);
- asprintf(&dsthmacname, "%s/.%s.hmac", dstpath, &src[dlen + 1]);
+ ret = asprintf(&srchmacname, "%s/.%s.hmac", srcpath, &src[dlen + 1]);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
+
+ ret = asprintf(&dsthmacname, "%s/.%s.hmac", dstpath, &src[dlen + 1]);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
}
log_debug("hmac cp '%s' '%s')", srchmacname, dsthmacname);
dracut_install(srchmacname, dsthmacname, false, false, true);
@@ -428,7 +455,11 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
hashmap_put(items, i, i);
- asprintf(&fulldstpath, "%s%s", destrootdir, dst);
+ ret = asprintf(&fulldstpath, "%s%s", destrootdir, dst);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
ret = stat(fulldstpath, &sb);
@@ -511,7 +542,11 @@ static int dracut_install(const char *src, const char *dst, bool isdir, bool res
if (lstat(fulldstpath, &sb) != 0) {
_cleanup_free_ char *absdestpath = NULL;
- asprintf(&absdestpath, "%s%s", destrootdir, abspath);
+ ret = asprintf(&absdestpath, "%s%s", destrootdir, abspath);
+ if (ret < 0) {
+ log_error("Out of memory!");
+ exit(EXIT_FAILURE);
+ }
ln_r(absdestpath, fulldstpath);
}
@@ -704,6 +739,8 @@ static char *find_binary(const char *src)
char *p, *q;
bool end = false;
char *newsrc = NULL;
+ int ret;
+
path = getenv("PATH");
if (path == NULL) {
@@ -730,8 +767,8 @@ static char *find_binary(const char *src)
else
*q = '\0';
- asprintf(&newsrc, "%s/%s", p, src);
- if (newsrc == NULL) {
+ ret = asprintf(&newsrc, "%s/%s", p, src);
+ if (ret < 0) {
log_error("Out of memory!");
exit(EXIT_FAILURE);
}

View File

@ -0,0 +1,22 @@
From e0904b27ff821c067ae62c227db8fef45638a827 Mon Sep 17 00:00:00 2001
From: Kamil Rytarowski <n54@gmx.com>
Date: Sat, 11 May 2013 14:54:38 +0200
Subject: [PATCH] Fix memory leak
---
install/dracut-install.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/install/dracut-install.c b/install/dracut-install.c
index c8328b0..a1c6461 100644
--- a/install/dracut-install.c
+++ b/install/dracut-install.c
@@ -258,7 +258,7 @@ static int resolve_deps(const char *src)
{
int ret = 0;
- char *buf = malloc(LINE_MAX);
+ _cleanup_free_ char *buf = malloc(LINE_MAX);
size_t linesize = LINE_MAX;
_cleanup_pclose_ FILE *fptr = NULL;
_cleanup_free_ char *cmd = NULL;

View File

@ -0,0 +1,35 @@
From 639bd4873bed9b29967b2ff21b90891d00667f92 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 15:40:45 +0200
Subject: [PATCH] dracut.spec: put selinux for kdump crash file contexts
---
dracut.spec | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dracut.spec b/dracut.spec
index 3d42af2..a475e08 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -231,7 +231,6 @@ rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/96securityfs
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
-rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98selinux
%endif
mkdir -p $RPM_BUILD_ROOT/boot/dracut
@@ -348,12 +347,12 @@ rm -rf $RPM_BUILD_ROOT
%if %{undefined _unitdir}
%{dracutlibdir}/modules.d/96securityfs
%{dracutlibdir}/modules.d/97masterkey
-%{dracutlibdir}/modules.d/98selinux
%{dracutlibdir}/modules.d/98integrity
%endif
%{dracutlibdir}/modules.d/97biosdevname
%{dracutlibdir}/modules.d/98ecryptfs
%{dracutlibdir}/modules.d/98pollcdrom
+%{dracutlibdir}/modules.d/98selinux
%{dracutlibdir}/modules.d/98syslog
%{dracutlibdir}/modules.d/98systemd
%{dracutlibdir}/modules.d/98usrmount

View File

@ -0,0 +1,32 @@
From 1b8616adeec0e397f8485496d80b70c4368a9c4b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 16:15:24 +0200
Subject: [PATCH] url-lib/url-lib.sh: turn off curl globbing
https://bugzilla.redhat.com/show_bug.cgi?id=907497
---
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 4a3d56d..c00ca18 100755
--- a/modules.d/45url-lib/url-lib.sh
+++ b/modules.d/45url-lib/url-lib.sh
@@ -54,7 +54,7 @@ add_url_handler() {
export CURL_HOME="/run/initramfs/url-lib"
mkdir -p $CURL_HOME
-curl_args="--location --retry 3 --fail --show-error"
+curl_args="--globoff --location --retry 3 --fail --show-error"
getargbool 0 rd.noverifyssl && curl_args="$curl_args --insecure"
proxy=$(getarg proxy=)
@@ -64,7 +64,7 @@ curl_fetch_url() {
local url="$1" outloc="$2"
echo "$url" > /proc/self/fd/0
if [ -n "$outloc" ]; then
- curl --globoff $curl_args --output "$outloc" "$url" || return $?
+ curl $curl_args --output "$outloc" "$url" || return $?
else
local outdir="$(mkuniqdir /tmp curl_fetch_url)"
( cd "$outdir"; curl $curl_args --remote-name "$url" || return $? )

View File

@ -0,0 +1,23 @@
From c6df70fb4859fba630433586d39d728e60613399 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 16:34:34 +0200
Subject: [PATCH] btrfs: include btrfs-zero-log in the initramfs
https://bugzilla.redhat.com/show_bug.cgi?id=963257
---
modules.d/90btrfs/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
index 4a7c01d..e1c8577 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -43,7 +43,7 @@ install() {
/usr/lib/dracut/hooks/initqueue/timeout/btrfs_timeout.sh
fi
- dracut_install btrfsck
+ dracut_install -o btrfsck btrfs-zero-log
inst $(command -v btrfs) /sbin/btrfs
}

View File

@ -0,0 +1,41 @@
From 284d62da816a9d3678906e9dbeb796132016b9c9 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Tue, 28 May 2013 16:56:40 +0200
Subject: [PATCH] ifcfg/write-ifcfg.sh: proper NAME the interfaces
https://bugzilla.redhat.com/show_bug.cgi?id=965842
---
modules.d/45ifcfg/write-ifcfg.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
index 16da5e4..baa63fa 100755
--- a/modules.d/45ifcfg/write-ifcfg.sh
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -152,7 +152,7 @@ for netif in $IFACES ; do
fi
print_s390 $netif
echo "TYPE=Ethernet"
- echo "NAME=\"Boot Disk\""
+ echo "NAME=\"$netif\""
[ -n "$mtu" ] && echo "MTU=$mtu"
} >> /tmp/ifcfg/ifcfg-$netif
fi
@@ -162,7 +162,7 @@ for netif in $IFACES ; do
{
# This variable is an indicator of a bond interface for initscripts
echo "BONDING_OPTS=\"$bondoptions\""
- echo "NAME=\"Boot Disk\""
+ echo "NAME=\"$netif\""
} >> /tmp/ifcfg/ifcfg-$netif
for slave in $bondslaves ; do
@@ -186,7 +186,7 @@ for netif in $IFACES ; do
# bridge
{
echo "TYPE=Bridge"
- echo "NAME=\"Boot Disk\""
+ echo "NAME=\"$netif\""
} >> /tmp/ifcfg/ifcfg-$netif
if [ "$ethname" = "$bondname" ] ; then
{

View File

@ -0,0 +1,22 @@
From cbfe65c2fe599b7b5eb6a144332e84c2290869ea Mon Sep 17 00:00:00 2001
From: Dennis Schridde <devurandom@gmx.net>
Date: Fri, 17 May 2013 13:54:57 +0200
Subject: [PATCH] [40network] Provide a hostname fallback function, in case
there is no executable of this name
---
modules.d/40network/net-lib.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
index f9b461b..d62d5ad 100644
--- a/modules.d/40network/net-lib.sh
+++ b/modules.d/40network/net-lib.sh
@@ -366,3 +366,7 @@ linkup() {
&& wait_for_if_up $1 2>/dev/null
}
+type hostname >/dev/null 2>&1 || \
+hostname() {
+ cat /proc/sys/kernel/hostname
+}

View File

@ -0,0 +1,22 @@
From b78e6ac2c328c76057b17059a761ab44707f9aa0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 11:33:25 +0200
Subject: [PATCH] dracut-emergency.service: do not start for
"action_on_fail=continue"
---
modules.d/98systemd/dracut-emergency.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/98systemd/dracut-emergency.service b/modules.d/98systemd/dracut-emergency.service
index 12eef6c..ebf5aac 100644
--- a/modules.d/98systemd/dracut-emergency.service
+++ b/modules.d/98systemd/dracut-emergency.service
@@ -13,6 +13,7 @@ DefaultDependencies=no
After=systemd-vconsole-setup.service
Wants=systemd-vconsole-setup.service
Conflicts=emergency.service emergency.target
+ConditionKernelCommandLine=!action_on_fail=continue
[Service]
Environment=HOME=/

View File

@ -0,0 +1,22 @@
From 0a3e348225336f45a9abe8e74b384fdf17e9053f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 13:20:00 +0200
Subject: [PATCH] i18n/module-setup.sh: install default font latarcyrheb-sun16
---
modules.d/10i18n/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index fcd8282..60a50e7 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -14,7 +14,7 @@ depends() {
install() {
dracut_install -o $systemdutildir/systemd-vconsole-setup
KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
- DEFAULT_FONT=LatArCyrHeb-16
+ DEFAULT_FONT=latarcyrheb-sun16
I18N_CONF="/etc/locale.conf"
VCONFIG_CONF="/etc/vconsole.conf"

View File

@ -0,0 +1,24 @@
From 8099e7b1ba10eaf7780e6423e97a13a5c62cf5bd Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 13:31:54 +0200
Subject: [PATCH] crypt-loop/module-setup.sh: install loop kernel module
---
modules.d/91crypt-loop/module-setup.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh
index 5e7bcbd..218d27a 100644
--- a/modules.d/91crypt-loop/module-setup.sh
+++ b/modules.d/91crypt-loop/module-setup.sh
@@ -8,6 +8,10 @@ depends() {
echo crypt
}
+installkernel() {
+ instmods loop
+}
+
install() {
dracut_install losetup
inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"

View File

@ -0,0 +1,24 @@
From af2578562c4a32445c6a9dd91651b9ad89043f0d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 14:28:25 +0200
Subject: [PATCH] udev-rules/module-setup.sh: optionally install
/etc/pcmcia/config.opts
https://bugzilla.redhat.com/show_bug.cgi?id=920076
---
modules.d/95udev-rules/module-setup.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
index 1c48202..e952e80 100755
--- a/modules.d/95udev-rules/module-setup.sh
+++ b/modules.d/95udev-rules/module-setup.sh
@@ -69,6 +69,8 @@ install() {
${udevdir}/pcmcia-socket-startup \
${udevdir}/pcmcia-check-broken-cis
+ dracut_install -o /etc/pcmcia/config.opts
+
[ -f /etc/arch-release ] && \
inst_script "$moddir/load-modules.sh" /lib/udev/load-modules.sh

View File

@ -0,0 +1,71 @@
From 6625c085aeee0694f4f53b0454ff3466755d90a8 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 14:38:52 +0200
Subject: [PATCH] ifcfg/write-ifcfg.sh:
- fix ONBOOT for slaves
- set TYPE=Bond for bonding
https://bugzilla.redhat.com/show_bug.cgi?id=919001
---
modules.d/45ifcfg/write-ifcfg.sh | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
index baa63fa..625d00b 100755
--- a/modules.d/45ifcfg/write-ifcfg.sh
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -163,16 +163,16 @@ for netif in $IFACES ; do
# This variable is an indicator of a bond interface for initscripts
echo "BONDING_OPTS=\"$bondoptions\""
echo "NAME=\"$netif\""
+ echo "TYPE=Bond"
} >> /tmp/ifcfg/ifcfg-$netif
for slave in $bondslaves ; do
- # Set ONBOOT=no to prevent initscripts from trying to setup already bonded physical interface
# write separate ifcfg file for the raw eth interface
{
echo "# Generated by dracut initrd"
echo "DEVICE=$slave"
echo "TYPE=Ethernet"
- echo "ONBOOT=no"
+ echo "ONBOOT=yes"
echo "NETBOOT=yes"
echo "HWADDR=$(cat /sys/class/net/$slave/address)"
echo "SLAVE=yes"
@@ -190,10 +190,9 @@ for netif in $IFACES ; do
} >> /tmp/ifcfg/ifcfg-$netif
if [ "$ethname" = "$bondname" ] ; then
{
- # Set ONBOOT=no to prevent initscripts from trying to setup already bridged bond interface
echo "# Generated by dracut initrd"
echo "DEVICE=$bondname"
- echo "ONBOOT=no"
+ echo "ONBOOT=yes"
echo "NETBOOT=yes"
# This variable is an indicator of a bond interface for initscripts
echo "BONDING_OPTS=\"$bondoptions\""
@@ -202,12 +201,11 @@ for netif in $IFACES ; do
} >> /tmp/ifcfg/ifcfg-$bondname
for slave in $bondslaves ; do
# write separate ifcfg file for the raw eth interface
- # Set ONBOOT=no to prevent initscripts from trying to setup already bridged physical interface
{
echo "# Generated by dracut initrd"
echo "DEVICE=$slave"
echo "TYPE=Ethernet"
- echo "ONBOOT=no"
+ echo "ONBOOT=yes"
echo "NETBOOT=yes"
echo "HWADDR=$(cat /sys/class/net/$slave/address)"
echo "SLAVE=yes"
@@ -221,7 +219,7 @@ for netif in $IFACES ; do
echo "# Generated by dracut initrd"
echo "DEVICE=$ethname"
echo "TYPE=Ethernet"
- echo "ONBOOT=no"
+ echo "ONBOOT=yes"
echo "NETBOOT=yes"
echo "HWADDR=$(cat /sys/class/net/$ethname/address)"
echo "BRIDGE=$netif"

View File

@ -0,0 +1,25 @@
From af2716626aa0243457c0e00fdd457f97269a50b3 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 14:45:59 +0200
Subject: [PATCH] kernel-modules/module-setup.sh: add nvme kernel module
apparently not caught by the block driver regexp
https://bugzilla.redhat.com/show_bug.cgi?id=910734
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index a04eba8..4060c80 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -42,7 +42,7 @@ installkernel() {
instmods yenta_socket scsi_dh_rdac scsi_dh_emc \
atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \
hid-logitech-dj hid-microsoft firewire-ohci \
- pcmcia usb_storage
+ pcmcia usb_storage nvme
if [[ "$(uname -p)" == arm* ]]; then
# arm specific modules

View File

@ -0,0 +1,31 @@
From 4f084f3ab50e8cac8ab9cc889a96cce864bd98c8 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 29 May 2013 17:51:57 +0200
Subject: [PATCH] fs-lib/module-setup.sh: add xfs_metadump
---
modules.d/99fs-lib/module-setup.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh
index 637737e..df9a04c 100755
--- a/modules.d/99fs-lib/module-setup.sh
+++ b/modules.d/99fs-lib/module-setup.sh
@@ -15,7 +15,7 @@ echo_fs_helper() {
local dev=$1 fs=$2
case "$fs" in
xfs)
- echo -n " xfs_db xfs_repair xfs_check "
+ echo -n " xfs_db xfs_repair xfs_check xfs_metadump "
;;
ext?)
echo -n " e2fsck "
@@ -65,7 +65,7 @@ install() {
if [[ "$fscks" = "${fscks#*[^ ]*}" ]]; then
_helpers="\
umount mount /sbin/fsck*
- xfs_db xfs_check xfs_repair
+ xfs_db xfs_check xfs_repair xfs_metadump
e2fsck jfs_fsck reiserfsck btrfsck
"
if [[ $hostonly ]]; then

View File

@ -0,0 +1,35 @@
From 679fa7ed3c0f4c827bfc6885d34f56713fe85c1e Mon Sep 17 00:00:00 2001
From: Baoquan He <bhe@redhat.com>
Date: Wed, 29 May 2013 14:33:06 +0800
Subject: [PATCH] 99fs-lib/fs-lib.sh: Let user specify the action after fail
for fsck
The fsck is ignored when replace emergency_shell with action_on_fail,
now add it.
Signed-off-by: Baoquan He <bhe@redhat.com>
---
modules.d/99fs-lib/fs-lib.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
index e1f3074..88e7348 100755
--- a/modules.d/99fs-lib/fs-lib.sh
+++ b/modules.d/99fs-lib/fs-lib.sh
@@ -7,14 +7,14 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
fsck_ask_reboot() {
info "note - fsck suggests reboot, if you"
info "leave shell, booting will continue normally"
- emergency_shell -n "(reboot ?)"
+ action_on_fail -n "(reboot ?)"
}
fsck_ask_err() {
warn "*** An error occurred during the file system check."
warn "*** Dropping you to a shell; the system will try"
warn "*** to mount the filesystem(s), when you leave the shell."
- emergency_shell -n "(Repair filesystem)"
+ action_on_fail -n "(Repair filesystem)"
}
# inherits: _ret _drv _out

View File

@ -0,0 +1,82 @@
From bc97e005fa097b9b8111ab0ec19bd4e246c13f9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
Date: Wed, 29 May 2013 11:26:56 +0200
Subject: [PATCH] use system provides udev rule and initialization script
---
modules.d/95zfcp/56-zfcp.rules | 1 -
modules.d/95zfcp/zfcpconf.sh | 57 ------------------------------------------
2 files changed, 58 deletions(-)
delete mode 100644 modules.d/95zfcp/56-zfcp.rules
delete mode 100755 modules.d/95zfcp/zfcpconf.sh
diff --git a/modules.d/95zfcp/56-zfcp.rules b/modules.d/95zfcp/56-zfcp.rules
deleted file mode 100644
index 5558f8b..0000000
--- a/modules.d/95zfcp/56-zfcp.rules
+++ /dev/null
@@ -1 +0,0 @@
-KERNEL=="zfcp", RUN+="/sbin/zfcpconf.sh"
diff --git a/modules.d/95zfcp/zfcpconf.sh b/modules.d/95zfcp/zfcpconf.sh
deleted file mode 100755
index 7127eae..0000000
--- a/modules.d/95zfcp/zfcpconf.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-
-# config file syntax:
-# deviceno WWPN FCPLUN
-#
-# Example:
-# 0.0.4000 0x5005076300C213e9 0x5022000000000000
-# 0.0.4001 0x5005076300c213e9 0x5023000000000000
-#
-#
-# manual setup:
-# modprobe zfcp
-# echo 1 > /sys/bus/ccw/drivers/zfcp/0.0.4000/online
-# echo LUN > /sys/bus/ccw/drivers/zfcp/0.0.4000/WWPN/unit_add
-#
-# Example:
-# modprobe zfcp
-# echo 1 > /sys/bus/ccw/drivers/zfcp/0.0.4000/online
-# echo 0x5022000000000000 > /sys/bus/ccw/drivers/zfcp/0.0.4000/0x5005076300c213e9/unit_add
-
-CONFIG=/etc/zfcp.conf
-PATH=/usr/sbin:/usr/bin:/sbin:/bin
-
-if [ -f "$CONFIG" ]; then
- if [ ! -d /sys/bus/ccw/drivers/zfcp ]; then
- modprobe zfcp
- fi
- if [ ! -d /sys/bus/ccw/drivers/zfcp ]; then
- return
- fi
- sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' < $CONFIG| while read line; do
- case $line in
- \#*) ;;
- *)
- [ -z "$line" ] && continue
- set $line
- if [ $# -eq 5 ]; then
- DEVICE=$1
- SCSIID=$2
- WWPN=$3
- SCSILUN=$4
- FCPLUN=$5
- echo "Warning: Deprecated values in /etc/zfcp.conf, ignoring SCSI ID $SCSIID and SCSI LUN $SCSILUN"
- elif [ $# -eq 3 ]; then
- DEVICE=${1##*0x}
- WWPN=$2
- FCPLUN=$3
- fi
- echo 1 > /sys/bus/ccw/drivers/zfcp/${DEVICE}/online
- [ ! -d /sys/bus/ccw/drivers/zfcp/${DEVICE}/${WWPN}/${FCPLUN} ] \
- && echo $FCPLUN > /sys/bus/ccw/drivers/zfcp/${DEVICE}/${WWPN}/unit_add
- ;;
- esac
- done
-fi

View File

@ -0,0 +1,39 @@
From cf8b1b785366e0a7c2ae1b3781d66b0f99d6f8fe Mon Sep 17 00:00:00 2001
From: "dyoung@redhat.com" <dyoung@redhat.com>
Date: Thu, 30 May 2013 14:19:00 +0800
Subject: [PATCH] selinux: load_policy script fix
chroot load_policy will use selinuxfs which should be mounted
in $NEWROOT/sys/fs/selinux for Fedora 19, but because there's
no $NEWROOT/sys/fs, so later process will fail.
Fixing this by bind mount /sys to $NEWROOT/sys.
Signed-off-by: Dave Young <dyoung@redhat.com>
---
modules.d/98selinux/selinux-loadpolicy.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/modules.d/98selinux/selinux-loadpolicy.sh b/modules.d/98selinux/selinux-loadpolicy.sh
index 7526265..5dddfc2 100755
--- a/modules.d/98selinux/selinux-loadpolicy.sh
+++ b/modules.d/98selinux/selinux-loadpolicy.sh
@@ -24,7 +24,8 @@ rd_load_policy()
local ret=0
local out
info "Loading SELinux policy"
- # load_policy does mount /proc and /selinux in
+ mount -o bind /sys $NEWROOT/sys
+ # load_policy does mount /proc and /sys/fs/selinux in
# libselinux,selinux_init_load_policy()
if [ -x "$NEWROOT/sbin/load_policy" ]; then
out=$(LANG=C chroot "$NEWROOT" /sbin/load_policy -i 2>&1)
@@ -35,6 +36,8 @@ rd_load_policy()
ret=$?
info $out
fi
+ umount $NEWROOT/sys/fs/selinux
+ umount $NEWROOT/sys
if [ "$SELINUX" = "disabled" ]; then
return 0;

View File

@ -0,0 +1,23 @@
From 62cb52f4317460f313c18c906737d9e0eddb9081 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 08:32:18 +0200
Subject: [PATCH] base/dracut-lib.sh: export DRACUT_SYSTEMD and NEWROOT
---
modules.d/99base/dracut-lib.sh | 3 +++
1 file changed, 3 insertions(+)
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index 5cb0add..d20ce67 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -2,6 +2,9 @@
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
# ex: ts=8 sw=4 sts=4 et filetype=sh
+export DRACUT_SYSTEMD
+export NEWROOT
+
debug_off() {
set +x
}

View File

@ -0,0 +1,22 @@
From e64bcf5a9937bb53260af79bc4c93f9eab502d1a Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 08:38:40 +0200
Subject: [PATCH] kernel-modules/module-setup.sh: add hid-hyperv and hv-vmbus
---
modules.d/90kernel-modules/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 4060c80..ed7a19e 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -42,7 +42,7 @@ installkernel() {
instmods yenta_socket scsi_dh_rdac scsi_dh_emc \
atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech \
hid-logitech-dj hid-microsoft firewire-ohci \
- pcmcia usb_storage nvme
+ pcmcia usb_storage nvme hid-hyperv hv-vmbus
if [[ "$(uname -p)" == arm* ]]; then
# arm specific modules

View File

@ -0,0 +1,40 @@
From 32214acb3ae02d28cf72e15040f062fcbd5aa4ab Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 09:26:43 +0200
Subject: [PATCH] dmsquash-live/dmsquash-live-root.sh: add parameter
rd.live.squashimg
rd.live.squashimg names the squash image in the rd.live.dir
and defaults to squashfs.img
https://bugzilla.redhat.com/show_bug.cgi?id=789036
https://bugzilla.redhat.com/show_bug.cgi?id=782108
---
modules.d/90dmsquash-live/dmsquash-live-root.sh | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
index 07e41f0..f63819c 100755
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
@@ -19,6 +19,9 @@ livedev="$1"
# specified as their own things
live_dir=$(getarg rd.live.dir -d live_dir)
[ -z "$live_dir" ] && live_dir="LiveOS"
+squash_image=$(getarg rd.live.squashimg)
+[ -z "squash_image" ] && squash_image="squashfs.img"
+
getargbool 0 rd.live.ram -d -y live_ram && live_ram="yes"
getargbool 0 rd.live.overlay.reset -d -y reset_overlay && reset_overlay="yes"
getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
@@ -180,8 +183,8 @@ if [ -n "$FSIMG" ] ; then
fi
# we might have an embedded fs image on squashfs (compressed live)
-if [ -e /run/initramfs/live/${live_dir}/squashfs.img ]; then
- SQUASHED="/run/initramfs/live/${live_dir}/squashfs.img"
+if [ -e /run/initramfs/live/${live_dir}/${squash_image} ]; then
+ SQUASHED="/run/initramfs/live/${live_dir}/${squash_image}"
fi
if [ -e "$SQUASHED" ] ; then

View File

@ -0,0 +1,23 @@
From dcae873414ff643e1de790f256e414923e2aef8b Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 11:14:39 +0200
Subject: [PATCH] systemd/emergency.service: do not run for
action_on_fail=continue
same as for dracut-emergency.service
---
modules.d/98systemd/emergency.service | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules.d/98systemd/emergency.service b/modules.d/98systemd/emergency.service
index 35d9c31..c19fe37 100644
--- a/modules.d/98systemd/emergency.service
+++ b/modules.d/98systemd/emergency.service
@@ -12,6 +12,7 @@ Description=Emergency Shell
DefaultDependencies=no
After=systemd-vconsole-setup.service
Wants=systemd-vconsole-setup.service
+ConditionKernelCommandLine=!action_on_fail=continue
[Service]
Environment=HOME=/

View File

@ -0,0 +1,69 @@
From feaf30ffaa3365febe06ef3f0086778a6d364f0c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 11:38:23 +0200
Subject: [PATCH] network: wait for all required interfaces if "rd.neednet=1"
also set bootdev to the first configured interface, if missing
https://bugzilla.redhat.com/show_bug.cgi?id=801829
---
modules.d/40network/net-genrules.sh | 8 +++++---
modules.d/40network/parse-ip-opts.sh | 9 ++++++---
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
index 8bf6a89..8f28c93 100755
--- a/modules.d/40network/net-genrules.sh
+++ b/modules.d/40network/net-genrules.sh
@@ -14,8 +14,10 @@ fix_bootif() {
echo $macaddr | sed 'y/ABCDEF/abcdef/'
}
+getargbool 0 rd.neednet && NEEDNET=1
+
# Don't continue if we don't need network
-if [ -z "$netroot" ] && [ ! -e "/tmp/net.ifaces" ] && ! getargbool 0 rd.neednet >/dev/null; then
+if [ -z "$netroot" ] && [ ! -e "/tmp/net.ifaces" ] && [ "$NEEDNET" != "1" ]; then
return
fi
@@ -73,13 +75,13 @@ fi
elif [ -n "$IFACES" ] ; then
for iface in $IFACES ; do
printf 'SUBSYSTEM=="net", ENV{INTERFACE}=="%s", RUN+="%s"\n' "$iface" "/sbin/initqueue --onetime $ifup"
- if [ "$bootdev" = "$iface" ]; then
+ if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then
echo "[ -f /tmp/setup_net_${iface}.ok ]" >$hookdir/initqueue/finished/wait-$iface.sh
fi
done
for iface in $MASTER_IFACES; do
- if [ "$bootdev" = "$iface" ]; then
+ if [ "$bootdev" = "$iface" ] || [ "$NEEDNET" = "1" ]; then
echo "[ -f /tmp/setup_net_${iface}.ok ]" >$hookdir/initqueue/finished/wait-$iface.sh
fi
done
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
index c7dc3ce..f64c936 100755
--- a/modules.d/40network/parse-ip-opts.sh
+++ b/modules.d/40network/parse-ip-opts.sh
@@ -54,6 +54,12 @@ fi
for p in $(getargs ip=); do
ip_to_var $p
+ # make first device specified the BOOTDEV
+ if [ -z "$BOOTDEV" ] && [ -n "$dev" ]; then
+ BOOTDEV="$dev"
+ [ -n "$NEEDBOOTDEV" ] && warn "Setting bootdev to '$BOOTDEV'"
+ fi
+
# skip ibft since we did it above
[ "$autoconf" = "ibft" ] && continue
@@ -121,6 +127,3 @@ fi
# Store BOOTDEV and IFACES for later use
[ -n "$BOOTDEV" ] && echo $BOOTDEV > /tmp/net.bootdev
[ -n "$IFACES" ] && echo $IFACES > /tmp/net.ifaces
-
-# We need a ip= line for the configured bootdev=
-[ -n "$NEEDBOOTDEV" ] && [ -z "$BOOTDEVOK" ] && die "Bootdev Argument '$BOOTDEV' not found"

View File

@ -0,0 +1,53 @@
From 57937cf480c8e612edae5b00d978dce84fd83be9 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 12:02:59 +0200
Subject: [PATCH] lvm: add tools for thin provisioning
https://bugzilla.redhat.com/show_bug.cgi?id=921235
---
modules.d/90lvm/module-setup.sh | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
index 22186f4..e8416ca 100755
--- a/modules.d/90lvm/module-setup.sh
+++ b/modules.d/90lvm/module-setup.sh
@@ -3,7 +3,6 @@
# ex: ts=8 sw=4 sts=4 et filetype=sh
check() {
- local _rootdev _activated
# No point trying to support lvm if the binaries are missing
type -P lvm >/dev/null || return 1
@@ -25,6 +24,8 @@ depends() {
install() {
local _i
+ local _needthin
+ local _activated
inst lvm
check_lvm() {
@@ -39,6 +40,10 @@ install() {
fi
push _activated "${DM_VG_NAME}/${DM_LV_NAME}"
fi
+ if ! [[ $_needthin ]]; then
+ [[ $(lvs --noheadings -o segtype $1) == *thin* ]] && _needthin=1
+ fi
+
return 0
}
@@ -65,5 +70,10 @@ install() {
inst_hook cmdline 30 "$moddir/parse-lvm.sh"
inst_libdir_file "libdevmapper-event-lvm*.so"
+
+ if [[ $_needthin ]]; then
+ dracut_install -o thin_dump thin_restore thin_check
+ fi
+
}

View File

@ -0,0 +1,204 @@
From caf207afa7c2a65f25be26a735643a873f5c092f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Thu, 30 May 2013 14:37:41 +0200
Subject: [PATCH] ifcfg/write-ifcfg.sh: fixed logic
seems like nobody tested this with recent dracut versions.
---
modules.d/45ifcfg/write-ifcfg.sh | 75 ++++++++++++++++++++++------------------
1 file changed, 41 insertions(+), 34 deletions(-)
diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
index 625d00b..2e78c49 100755
--- a/modules.d/45ifcfg/write-ifcfg.sh
+++ b/modules.d/45ifcfg/write-ifcfg.sh
@@ -4,10 +4,6 @@
# NFS root might have reached here before /tmp/net.ifaces was written
udevadm settle --timeout=30
-# Don't write anything if we don't know our bootdev
-[ -f /tmp/net.ifaces ] || return 1
-
-read IFACES < /tmp/net.ifaces
if [ -e /tmp/bridge.info ]; then
. /tmp/bridge.info
@@ -79,15 +75,25 @@ print_s390() {
echo "OPTIONS=\"${OPTIONS}\""
}
+for netup in /tmp/net.*.did-setup ; do
+ [ -f $netup ] || continue
-for netif in $IFACES ; do
+ netif=${netup%%.did-setup}
+ netif=${netif##*/net.}
[ -e /tmp/ifcfg/ifcfg-$netif ] && continue
- # bridge?
unset bridge
unset bond
unset bondslaves
unset bondname
unset bondoptions
+ unset uuid
+ unset ip
+ unset gw
+ unset mtu
+ unset mask
+ unset macaddr
+ unset slave
+ unset ethname
[ -e /tmp/bond.${netif}.info ] && . /tmp/bond.${netif}.info
uuid=$(cat /proc/sys/kernel/random/uuid)
@@ -100,45 +106,46 @@ for netif in $IFACES ; do
cat /sys/class/net/$netif/address > /tmp/net.$netif.hwaddr
{
echo "# Generated by dracut initrd"
- echo "DEVICE=$netif"
+ echo "DEVICE=\"$netif\""
echo "ONBOOT=yes"
echo "NETBOOT=yes"
- echo "UUID=$uuid"
- [ -n "$mtu" ] && echo "MTU=$mtu"
- if [ -f /tmp/net.$netif.lease ]; then
+ echo "UUID=\"$uuid\""
+ if [ -f /tmp/dhclient.$netif.lease ]; then
+ [ -f /tmp/dhclient.$netif.dhcpopts ] && . /tmp/dhclient.$netif.dhcpopts
strstr "$ip" '*:*:*' && echo "IPV6INIT=yes"
if [ -f /tmp/net.$netif.has_ibft_config ]; then
echo "BOOTPROTO=ibft"
else
echo "BOOTPROTO=dhcp"
fi
- cp /tmp/net.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
+ cp /tmp/dhclient.$netif.lease /tmp/ifcfg-leases/dhclient-$uuid-$netif.lease
else
# If we've booted with static ip= lines, the override file is there
[ -e /tmp/net.$netif.override ] && . /tmp/net.$netif.override
if strstr "$ip" '*:*:*'; then
echo "IPV6INIT=yes"
echo "IPV6_AUTOCONF=no"
- echo "IPV6ADDR=$ip/$mask"
+ echo "IPV6ADDR=\"$ip/$mask\""
else
if [ -f /tmp/net.$netif.has_ibft_config ]; then
echo "BOOTPROTO=ibft"
else
echo "BOOTPROTO=none"
- echo "IPADDR=$ip"
+ echo "IPADDR=\"$ip\""
if strstr "$mask" "."; then
- echo "NETMASK=$mask"
+ echo "NETMASK=\"$mask\""
else
- echo "PREFIX=$mask"
+ echo "PREFIX=\"$mask\""
fi
fi
fi
if strstr "$gw" '*:*:*'; then
- echo "IPV6_DEFAULTGW=$gw"
+ echo "IPV6_DEFAULTGW=\"$gw\""
elif [ -n "$gw" ]; then
- echo "GATEWAY=$gw"
+ echo "GATEWAY=\"$gw\""
fi
fi
+ [ -n "$mtu" ] && echo "MTU=\"$mtu\""
} > /tmp/ifcfg/ifcfg-$netif
# bridge needs different things written to ifcfg
@@ -146,14 +153,14 @@ for netif in $IFACES ; do
# standard interface
{
if [ -n "$macaddr" ]; then
- echo "MACADDR=$macaddr"
+ echo "MACADDR=\"$macaddr\""
else
echo "HWADDR=\"$(cat /sys/class/net/$netif/address)\""
fi
print_s390 $netif
echo "TYPE=Ethernet"
echo "NAME=\"$netif\""
- [ -n "$mtu" ] && echo "MTU=$mtu"
+ [ -n "$mtu" ] && echo "MTU=\"$mtu\""
} >> /tmp/ifcfg/ifcfg-$netif
fi
@@ -170,14 +177,14 @@ for netif in $IFACES ; do
# write separate ifcfg file for the raw eth interface
{
echo "# Generated by dracut initrd"
- echo "DEVICE=$slave"
+ echo "DEVICE=\"$slave\""
echo "TYPE=Ethernet"
echo "ONBOOT=yes"
echo "NETBOOT=yes"
- echo "HWADDR=$(cat /sys/class/net/$slave/address)"
+ echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
echo "SLAVE=yes"
- echo "MASTER=$netif"
- echo "NAME=$slave"
+ echo "MASTER=\"$netif\""
+ echo "NAME=\"$slave\""
} >> /tmp/ifcfg/ifcfg-$slave
done
fi
@@ -191,45 +198,45 @@ for netif in $IFACES ; do
if [ "$ethname" = "$bondname" ] ; then
{
echo "# Generated by dracut initrd"
- echo "DEVICE=$bondname"
+ echo "DEVICE=\"$bondname\""
echo "ONBOOT=yes"
echo "NETBOOT=yes"
# This variable is an indicator of a bond interface for initscripts
echo "BONDING_OPTS=\"$bondoptions\""
- echo "BRIDGE=$netif"
+ echo "BRIDGE=\"$netif\""
echo "NAME=\"$bondname\""
} >> /tmp/ifcfg/ifcfg-$bondname
for slave in $bondslaves ; do
# write separate ifcfg file for the raw eth interface
{
echo "# Generated by dracut initrd"
- echo "DEVICE=$slave"
+ echo "DEVICE=\"$slave\""
echo "TYPE=Ethernet"
echo "ONBOOT=yes"
echo "NETBOOT=yes"
- echo "HWADDR=$(cat /sys/class/net/$slave/address)"
+ echo "HWADDR=\"$(cat /sys/class/net/$slave/address)\""
echo "SLAVE=yes"
- echo "MASTER=$bondname"
- echo "NAME=$slave"
+ echo "MASTER=\"$bondname\""
+ echo "NAME=\"$slave\""
} >> /tmp/ifcfg/ifcfg-$slave
done
else
# write separate ifcfg file for the raw eth interface
{
echo "# Generated by dracut initrd"
- echo "DEVICE=$ethname"
+ echo "DEVICE=\"$ethname\""
echo "TYPE=Ethernet"
echo "ONBOOT=yes"
echo "NETBOOT=yes"
- echo "HWADDR=$(cat /sys/class/net/$ethname/address)"
- echo "BRIDGE=$netif"
- echo "NAME=$ethname"
+ echo "HWADDR=\"$(cat /sys/class/net/$ethname/address)\""
+ echo "BRIDGE=\"$netif\""
+ echo "NAME=\"$ethname\""
} >> /tmp/ifcfg/ifcfg-$ethname
fi
fi
i=1
for ns in $(getargs nameserver); do
- echo "DNS${i}=${ns}" >> /tmp/ifcfg/ifcfg-$netif
+ echo "DNS${i}=\"${ns}\"" >> /tmp/ifcfg/ifcfg-$netif
i=$((i+1))
done
done

View File

@ -0,0 +1,25 @@
From 15c5c072f4fe44f39d60f2fa050a6b4ab05ee34f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 31 May 2013 07:46:08 +0200
Subject: [PATCH] dracut-functions.sh:get_persistent_dev() fix case for
multipath
/dev/mapper/mpath* is not a persistent device path
https://bugzilla.redhat.com/show_bug.cgi?id=969068
---
dracut-functions.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/dracut-functions.sh b/dracut-functions.sh
index 4a0e81a..3d88c9d 100755
--- a/dracut-functions.sh
+++ b/dracut-functions.sh
@@ -254,6 +254,7 @@ get_persistent_dev() {
[ -z "$_dev" ] && return
for i in /dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*; do
+ [[ $i == /dev/mapper/mpath* ]] && continue
_tmp=$(udevadm info --query=name --name="$i" 2>/dev/null)
if [ "$_tmp" = "$_dev" ]; then
echo $i

View File

@ -0,0 +1,22 @@
From d18fd0235bfdbb845eac35c6d45b06168cb37900 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 31 May 2013 09:04:55 +0200
Subject: [PATCH] dmsquash-live/dmsquash-live-root.sh: fixup 32214acb3ae
---
modules.d/90dmsquash-live/dmsquash-live-root.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
index f63819c..14e84e1 100755
--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
@@ -20,7 +20,7 @@ livedev="$1"
live_dir=$(getarg rd.live.dir -d live_dir)
[ -z "$live_dir" ] && live_dir="LiveOS"
squash_image=$(getarg rd.live.squashimg)
-[ -z "squash_image" ] && squash_image="squashfs.img"
+[ -z "$squash_image" ] && squash_image="squashfs.img"
getargbool 0 rd.live.ram -d -y live_ram && live_ram="yes"
getargbool 0 rd.live.overlay.reset -d -y reset_overlay && reset_overlay="yes"

View File

@ -10,7 +10,7 @@
Name: dracut
Version: 027
Release: 46.git20130430%{?dist}
Release: 81.git20130531%{?dist}
Summary: Initramfs generator using udev
%if 0%{?fedora} || 0%{?rhel}
@ -73,10 +73,42 @@ Patch41: 0041-dracut-install-make-use-of-_cleanup_-macros.patch
Patch42: 0042-_emergency_shell-Show-current-working-directory-corr.patch
Patch43: 0043-test-use-grep-option-F-and-install-etc-os-release.patch
Patch44: 0044-zfcp-match-udev-rule-against-KERNEL-zfcp.patch
# Don't specify 'p' as a separator for dmraid; see #966162. Generated in
# sequence with the above patches against dracut HEAD of 2013-05-22, will
# send to harald. -adamw
Patch45: 0045-don-t-specify-p-as-a-separator-for-dmraid-arrays-RHB.patch
Patch45: 0045-usrmount-Fix-miss-detection-of-btrfs-subvolumes.patch
Patch46: 0046-dracut.sh-degrade-message-about-missing-tools-for-st.patch
Patch47: 0047-don-t-specify-p-as-a-separator-for-dmraid-arrays-RHB.patch
Patch48: 0048-systemd-set-environment-vars-DRACUT_SYSTEMD-NEWROOT-.patch
Patch49: 0049-don-t-add-volatile-swap-partitions-to-host_devs.patch
Patch50: 0050-dracut-functions.sh-clarify-instmods-error-message.patch
Patch51: 0051-01fips-module-setup.sh-add-libssl.so.10-to-make-kdum.patch
Patch52: 0052-Fix-parsing-command-line-arguments.patch
Patch53: 0053-Introduce-stricter-type-correctness.patch
Patch54: 0054-Use-consistiently-termination-code-macros.patch
Patch55: 0055-Always-check-the-return-number-of-asprintf.patch
Patch56: 0056-Fix-memory-leak.patch
Patch57: 0057-dracut.spec-put-selinux-for-kdump-crash-file-context.patch
Patch58: 0058-url-lib-url-lib.sh-turn-off-curl-globbing.patch
Patch59: 0059-btrfs-include-btrfs-zero-log-in-the-initramfs.patch
Patch60: 0060-ifcfg-write-ifcfg.sh-proper-NAME-the-interfaces.patch
Patch61: 0061-40network-Provide-a-hostname-fallback-function-in-ca.patch
Patch62: 0062-dracut-emergency.service-do-not-start-for-action_on_.patch
Patch63: 0063-i18n-module-setup.sh-install-default-font-latarcyrhe.patch
Patch64: 0064-crypt-loop-module-setup.sh-install-loop-kernel-modul.patch
Patch65: 0065-udev-rules-module-setup.sh-optionally-install-etc-pc.patch
Patch66: 0066-ifcfg-write-ifcfg.sh.patch
Patch67: 0067-kernel-modules-module-setup.sh-add-nvme-kernel-modul.patch
Patch68: 0068-fs-lib-module-setup.sh-add-xfs_metadump.patch
Patch69: 0069-99fs-lib-fs-lib.sh-Let-user-specify-the-action-after.patch
Patch70: 0070-use-system-provides-udev-rule-and-initialization-scr.patch
Patch71: 0071-selinux-load_policy-script-fix.patch
Patch72: 0072-base-dracut-lib.sh-export-DRACUT_SYSTEMD-and-NEWROOT.patch
Patch73: 0073-kernel-modules-module-setup.sh-add-hid-hyperv-and-hv.patch
Patch74: 0074-dmsquash-live-dmsquash-live-root.sh-add-parameter-rd.patch
Patch75: 0075-systemd-emergency.service-do-not-run-for-action_on_f.patch
Patch76: 0076-network-wait-for-all-required-interfaces-if-rd.needn.patch
Patch77: 0077-lvm-add-tools-for-thin-provisioning.patch
Patch78: 0078-ifcfg-write-ifcfg.sh-fixed-logic.patch
Patch79: 0079-dracut-functions.sh-get_persistent_dev-fix-case-for-.patch
Patch80: 0080-dmsquash-live-dmsquash-live-root.sh-fixup-32214acb3a.patch
BuildRequires: dash bash git
@ -280,7 +312,6 @@ rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/96securityfs
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/97masterkey
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98selinux
%endif
mkdir -p $RPM_BUILD_ROOT/boot/dracut
@ -397,12 +428,12 @@ rm -rf $RPM_BUILD_ROOT
%if %{undefined _unitdir}
%{dracutlibdir}/modules.d/96securityfs
%{dracutlibdir}/modules.d/97masterkey
%{dracutlibdir}/modules.d/98selinux
%{dracutlibdir}/modules.d/98integrity
%endif
%{dracutlibdir}/modules.d/97biosdevname
%{dracutlibdir}/modules.d/98ecryptfs
%{dracutlibdir}/modules.d/98pollcdrom
%{dracutlibdir}/modules.d/98selinux
%{dracutlibdir}/modules.d/98syslog
%{dracutlibdir}/modules.d/98systemd
%{dracutlibdir}/modules.d/98usrmount
@ -485,6 +516,42 @@ rm -rf $RPM_BUILD_ROOT
%{dracutlibdir}/dracut.conf.d/02-norescue.conf
%changelog
* Fri May 31 2013 Harald Hoyer <harald@redhat.com> 027-81.git20130531
- fix btrfs mount flags for /usr
- degrade message about missing tools for stripping
Resolves: rhbz#958519
- set environment vars DRACUT_SYSTEMD, NEWROOT in service file
Resolves: rhbz#963159
- don't add volatile swap partitions to host_devs
- add libssl.so.10 to make kdump work with fips mode
- readd selinux dracut module for kdump
- url-lib/url-lib.sh: turn off curl globbing
Resolves: rhbz#907497
- include btrfs-zero-log in the initramfs
Resolves: rhbz#963257
- proper NAME the network interfaces
Resolves: rhbz#965842
- install default font latarcyrheb-sun16
Resolves: rhbz#927564
- optionally install /etc/pcmcia/config.opts
Resolves: rhbz#920076
- fix ONBOOT for slaves, set TYPE=Bond for bonding
Resolves: rhbz#919001
- add nvme kernel module
Resolves: rhbz#910734
- add xfs_metadump
- selinux: load_policy script fix
- add hid-hyperv and hv-vmbus kernel modules
- add parameter rd.live.squashimg
Resolves: rhbz#789036 rhbz#782108
- wait for all required interfaces if "rd.neednet=1"
Resolves: rhbz#801829
- lvm: add tools for thin provisioning
Resolves: rhbz#921235
- ifcfg/write-ifcfg.sh: fixed ifcfg file generation
- do not wait for mpath* devices
Resolves: rhbz#969068
* Wed May 22 2013 Adam Williamson <awilliam@redhat.com> 027-46.git20130430
- don't specify "p" as a separator for dmraid
Resolves: rhbz#966162