[dracut/f17] dracut-018-78.git20120622

Harald Hoyer harald at fedoraproject.org
Fri Jun 22 14:05:09 UTC 2012


commit f93e2d40101e08cdd0ca9d6c1eab48e98cedcb09
Author: Harald Hoyer <harald at redhat.com>
Date:   Fri Jun 22 16:04:22 2012 +0200

    dracut-018-78.git20120622
    
    - speedup install
    - fixed installkernel() return codes
    - removed test mounting of btrfs and xfs (was fsck replacement)
    - no more "mknod" in the initramfs, fixes plymouth on s390
    - no systemd-vconsole-setup installation (unused currently anyway)

 ...dule-setup.sh-speedup-install-of-all-term.patch |   25 ++++++
 ...ule-setup.sh-fixed-installkernel-return-c.patch |   45 +++++++++++
 ...csi-module-setup.sh-speedup-installkernel.patch |   68 ++++++++++++++++
 ...ib.sh-removed-test-mounting-of-btrfs-and-.patch |   84 ++++++++++++++++++++
 ...-setup.sh-install_all_kbd-speedup-install.patch |   26 ++++++
 0072-no-more-mknod-in-the-initramfs.patch          |   62 ++++++++++++++
 ...ut.sh-precopy-some-essential-device-nodes.patch |   23 ++++++
 0074-dracut.sh-mkdir-initdir-lib-dracut.patch      |   25 ++++++
 ...odule-setup.sh-installkernel-fix-return-c.patch |   68 ++++++++++++++++
 ...t.sh-do-not-copy-devices-nodes-mknod-them.patch |   27 ++++++
 ...-setup.sh-do-not-install-systemd-vconsole.patch |   22 +++++
 dracut.spec                                        |   20 +++++-
 12 files changed, 494 insertions(+), 1 deletions(-)
---
diff --git a/0067-terminfo-module-setup.sh-speedup-install-of-all-term.patch b/0067-terminfo-module-setup.sh-speedup-install-of-all-term.patch
new file mode 100644
index 0000000..2180985
--- /dev/null
+++ b/0067-terminfo-module-setup.sh-speedup-install-of-all-term.patch
@@ -0,0 +1,25 @@
+From f537f1c2740158fbbc7e5cb67930176e7f060fb3 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:29:04 +0200
+Subject: [PATCH] terminfo/module-setup.sh: speedup install() of all terminfo
+
+---
+ modules.d/95terminfo/module-setup.sh |    6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/modules.d/95terminfo/module-setup.sh b/modules.d/95terminfo/module-setup.sh
+index 32a3fe9..e1914a5 100755
+--- a/modules.d/95terminfo/module-setup.sh
++++ b/modules.d/95terminfo/module-setup.sh
+@@ -10,9 +10,7 @@ install() {
+     done
+ 
+     if [ -d ${_terminfodir} ]; then
+-        for f in ${_terminfodir}/*/*; do
+-            inst_simple $f
+-        done
++        inst_dir "$_terminfodir"
++        cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_terminfodir%/*}" "$_terminfodir"
+     fi
+ }
+-
diff --git a/0068-network-module-setup.sh-fixed-installkernel-return-c.patch b/0068-network-module-setup.sh-fixed-installkernel-return-c.patch
new file mode 100644
index 0000000..cb579d1
--- /dev/null
+++ b/0068-network-module-setup.sh-fixed-installkernel-return-c.patch
@@ -0,0 +1,45 @@
+From 25bbb88eb5da3b5b81e735e97bdd5860e8d26d5e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:24:28 +0200
+Subject: [PATCH] network/module-setup.sh: fixed installkernel() return code
+
+---
+ modules.d/40network/module-setup.sh |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index efe0511..c764bef 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -4,7 +4,6 @@
+ 
+ check() {
+     local _program
+-    . $dracutfunctions
+ 
+     for _program in ip arping dhclient ; do
+         if ! type -P $_program >/dev/null; then
+@@ -43,6 +42,7 @@ installkernel() {
+                 && ! $_fcont =~ iw_handler_get_spy ]] \
+                 && echo "$_fname"
+             done
++            return 0
+         }
+         function rotor() {
+             local _f1 _f2
+@@ -52,13 +52,13 @@ installkernel() {
+                     echo "$_f2" 1>&${_side2}
+                 fi
+             done | nmf1 1>&${_merge}
++            return 0
+         }
+         # Use two parallel streams to filter alternating modules.
+         set +x
+         eval "( ( rotor ) ${_side2}>&1 | nmf1 ) ${_merge}>&1"
+-        _ret=$?
+         [[ $debug ]] && set -x
+-        return $_ret
++        return 0
+     }
+ 
+     { find_kernel_modules_by_path drivers/net; find_kernel_modules_by_path drivers/s390/net; } \
diff --git a/0069-iscsi-module-setup.sh-speedup-installkernel.patch b/0069-iscsi-module-setup.sh-speedup-installkernel.patch
new file mode 100644
index 0000000..9f0fca8
--- /dev/null
+++ b/0069-iscsi-module-setup.sh-speedup-installkernel.patch
@@ -0,0 +1,68 @@
+From 2737756dfd0db3d82199d25aeb54ebc72ea567b6 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:30:58 +0200
+Subject: [PATCH] iscsi/module-setup.sh: speedup installkernel()
+
+Conflicts:
+	modules.d/95iscsi/module-setup.sh
+---
+ modules.d/95iscsi/module-setup.sh |   43 +++++++++++++++++++++++++++++--------
+ 1 file changed, 34 insertions(+), 9 deletions(-)
+
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index 25a3cfa..c66737c 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -37,18 +37,43 @@ depends() {
+ }
+ 
+ installkernel() {
++    local _arch=$(uname -m)
++
+     instmods iscsi_tcp iscsi_ibft crc32c bnx2i iscsi_boot_sysfs qla4xxx cxgb3i cxgb4i be2iscsi
+     iscsi_module_filter() {
+-        local _iscsifuncs='iscsi_register_transport'
+-        local _f
+-        while read _f; do case "$_f" in
+-            *.ko)    [[ $(<         $_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
+-            *.ko.gz) [[ $(gzip -dc <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
+-            *.ko.xz) [[ $(xz -dc   <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
+-            esac
+-        done
++        local _funcs='iscsi_register_transport'
++        # subfunctions inherit following FDs
++        local _merge=8 _side2=9
++        function bmf1() {
++            local _f
++            while read _f; do
++                case "$_f" in
++                    *.ko)    [[ $(<         $_f) =~ $_funcs ]] && echo "$_f" ;;
++                    *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
++                    *.ko.xz) [[ $(xz -dc   <$_f) =~ $_funcs ]] && echo "$_f" ;;
++                esac
++            done
++            return 0
++        }
++
++        function rotor() {
++            local _f1 _f2
++            while read _f1; do
++                echo "$_f1"
++                if read _f2; then
++                    echo "$_f2" 1>&${_side2}
++                fi
++            done | bmf1 1>&${_merge}
++            return 0
++        }
++        # Use two parallel streams to filter alternating modules.
++        set +x
++        eval "( ( rotor ) ${_side2}>&1 | bmf1 ) ${_merge}>&1"
++        [[ $debug ]] && set -x
++        return 0
+     }
+-    { find_kernel_modules_by_path drivers/scsi; find_kernel_modules_by_path drivers/s390/scsi; } \
++
++    { find_kernel_modules_by_path drivers/scsi; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/scsi; fi;} \
+     | iscsi_module_filter  |  instmods
+ }
+ 
diff --git a/0070-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch b/0070-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch
new file mode 100644
index 0000000..22887fa
--- /dev/null
+++ b/0070-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch
@@ -0,0 +1,84 @@
+From 54f674aeb9e46c555c8f91c0810d79d028e5fad2 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:16:55 +0200
+Subject: [PATCH] fs-lib/fs-lib.sh: removed test mounting of btrfs and xfs
+
+mount/umount check only costs time and we fail later anyway.
+mount can take very long on large filesystems. Better fail on the real
+mount.
+---
+ modules.d/99fs-lib/fs-lib.sh |   58 +++---------------------------------------
+ 1 file changed, 4 insertions(+), 54 deletions(-)
+
+diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh
+index 75bee92..d1b7a9d 100755
+--- a/modules.d/99fs-lib/fs-lib.sh
++++ b/modules.d/99fs-lib/fs-lib.sh
+@@ -80,63 +80,13 @@ fsck_able() {
+ # note: all drivers inherit: _drv _fop _dev
+ 
+ fsck_drv_xfs() {
+-    local _ret
+-
+-    # fs must be cleanly mounted (and umounted) first, before attempting any
+-    # xfs tools - if this works, nothing else should be needed
+-    # note, that user is always dropped into the shell, if the filesystem is
+-    # not mountable or if -f flag is found among _fop
+-    mkdir -p /tmp/.xfs
+-
+-    info "trying to mount $_dev"
+-    if mount -t xfs ${_fsopts+-o $_fsopts} "$_dev" "/tmp/.xfs" >/dev/null 2>&1; then
+-        _ret=0
+-        info "xfs: $_dev is clean"
+-        umount "$_dev" >/dev/null 2>&1
+-    else
+-        _ret=4
+-        warn "*** $_dev is unmountable"
+-    fi
+-    if [ $_ret -gt 0 ] || strstr "$_fop" "-f"; then
+-        warn "*** Dropping you to a shell. You have"
+-        warn "*** xfs_repair and xfs_check (xfs_db) available."
+-        warn "*** Note that if xfs didn't mount properly, it's"
+-        warn "*** probably pretty serious condition."
+-        emergency_shell -n "(Repair filesystem)"
+-    fi
+-
+-    rm -r /tmp/.xfs
+-    return $_ret
++    # xfs fsck is not necessary... Either it mounts or not
++    return 0
+ }
+ 
+ fsck_drv_btrfs() {
+-    local _ret
+-
+-    # fs must be cleanly mounted (and umounted) first, before attempting any
+-    # btrfs tools - if this works, nothing else should be needed
+-    # note, that user is always dropped into the shell, if the filesystem is
+-    # not mountable or if -f flag is found among _fop
+-    mkdir -p /tmp/.btrfs
+-
+-    info "trying to mount $_dev"
+-    if mount -t btrfs ${_fsopts+-o $_fsopts} "$_dev" "/tmp/.btrfs" >/dev/null 2>&1; then
+-        _ret=0
+-        info "btrfs: $_dev is clean"
+-        umount "$_dev" >/dev/null 2>&1
+-    else
+-        _ret=4
+-        warn "*** $_dev is unmountable"
+-    fi
+-    if [ $_ret -gt 0 ] || strstr "$_fop" "-f"; then
+-        warn "*** Dropping you to a shell. You have"
+-        warn "*** btrfsck available."
+-        warn "*** Note that if btrfs didn't mount properly, it's"
+-        warn "*** probably pretty serious condition."
+-        emergency_shell -n "(Repair filesystem)"
+-    fi
+-
+-    rm -r /tmp/.btrfs
+-    return $_ret
++    # btrfs fsck is not necessary... Either it mounts or not
++    return 0
+ }
+ 
+ 
diff --git a/0071-i18n-module-setup.sh-install_all_kbd-speedup-install.patch b/0071-i18n-module-setup.sh-install_all_kbd-speedup-install.patch
new file mode 100644
index 0000000..4327c6e
--- /dev/null
+++ b/0071-i18n-module-setup.sh-install_all_kbd-speedup-install.patch
@@ -0,0 +1,26 @@
+From f5880b84c93e80bf6bc0a587a02377522a124c92 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:21:11 +0200
+Subject: [PATCH] i18n/module-setup.sh:install_all_kbd(): speedup install
+
+---
+ modules.d/10i18n/module-setup.sh |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
+index d1854c2..7c8cd66 100755
+--- a/modules.d/10i18n/module-setup.sh
++++ b/modules.d/10i18n/module-setup.sh
+@@ -92,9 +92,9 @@ install() {
+     install_all_kbd() {
+         local rel f
+ 
+-        find $(eval echo ${kbddir}/{${KBDSUBDIRS}}) -type f -print | \
+-            while read f; do
+-            inst_simple $f
++        for _src in $(eval echo ${kbddir}/{${KBDSUBDIRS}}); do
++            inst_dir "$_src"
++            cp --reflink=auto --sparse=auto -prfL -t "${initdir}/${_src%/*}" "$_src"
+         done
+ 
+         # remove unnecessary files
diff --git a/0072-no-more-mknod-in-the-initramfs.patch b/0072-no-more-mknod-in-the-initramfs.patch
new file mode 100644
index 0000000..9fff405
--- /dev/null
+++ b/0072-no-more-mknod-in-the-initramfs.patch
@@ -0,0 +1,62 @@
+From 9e34d05b668da1fc2246087b16e5e0708157331c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:27:40 +0200
+Subject: [PATCH] no more "mknod" in the initramfs!!
+
+---
+ modules.d/50gensplash/gensplash-pretrigger.sh |    4 ----
+ modules.d/50plymouth/plymouth-pretrigger.sh   |    6 ------
+ modules.d/99base/init.sh                      |    2 --
+ 3 files changed, 12 deletions(-)
+
+diff --git a/modules.d/50gensplash/gensplash-pretrigger.sh b/modules.d/50gensplash/gensplash-pretrigger.sh
+index 074aa78..b697438 100755
+--- a/modules.d/50gensplash/gensplash-pretrigger.sh
++++ b/modules.d/50gensplash/gensplash-pretrigger.sh
+@@ -3,10 +3,6 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ if getargbool 1 rd.splash -n rd_NO_SPLASH; then
+-    [ -c /dev/null ] || mknod /dev/null c 1 3
+-    [ -c /dev/console ] || mknod /dev/console c 5 1
+-    [ -c /dev/tty0 ] || mknod /dev/tty0 c 4 0
+-
+     info "Starting Gentoo Splash"
+ 
+     [ -x /lib/udev/console_init ] && /lib/udev/console_init /dev/tty0
+diff --git a/modules.d/50plymouth/plymouth-pretrigger.sh b/modules.d/50plymouth/plymouth-pretrigger.sh
+index 50828af..c8d16f9 100755
+--- a/modules.d/50plymouth/plymouth-pretrigger.sh
++++ b/modules.d/50plymouth/plymouth-pretrigger.sh
+@@ -4,18 +4,12 @@
+ 
+ if [ -x /bin/plymouthd ]; then
+     if getargbool 1 plymouth.enable && getargbool 1 rd.plymouth -n rd_NO_PLYMOUTH; then
+-        [ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3
+         # first trigger graphics subsystem
+         udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
+         # first trigger graphics and tty subsystem
+         udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
+ 
+         udevadm settle --timeout=30 2>&1 | vinfo
+-        [ -c /dev/zero ] || mknod -m 0666 /dev/zero c 1 5
+-        [ -c /dev/tty0 ] || mknod -m 0620 /dev/tty0 c 4 0
+-        [ -e /dev/systty ] || ln -s tty0 /dev/systty
+-        [ -c /dev/fb0 ] || mknod -m 0660 /dev/fb0 c 29 0
+-        [ -e /dev/fb ] || ln -s fb0 /dev/fb
+ 
+         info "Starting plymouth daemon"
+         mkdir -m 0755 /run/plymouth
+diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
+index 544bbb0..b577c81 100755
+--- a/modules.d/99base/init.sh
++++ b/modules.d/99base/init.sh
+@@ -21,8 +21,6 @@ RD_DEBUG=""
+ . /lib/dracut-lib.sh
+ trap "emergency_shell Signal caught!" 0
+ 
+-[ -c /dev/null ] || mknod -m 0666 /dev/null c 1 3
+-
+ # mount some important things
+ [ ! -d /proc/self ] && \
+     mount -t proc -o nosuid,noexec,nodev proc /proc >/dev/null 2>&1
diff --git a/0073-dracut.sh-precopy-some-essential-device-nodes.patch b/0073-dracut.sh-precopy-some-essential-device-nodes.patch
new file mode 100644
index 0000000..5d4e72b
--- /dev/null
+++ b/0073-dracut.sh-precopy-some-essential-device-nodes.patch
@@ -0,0 +1,23 @@
+From 21644eb9df66462ae8644510921aad44fe654595 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 4 Jun 2012 14:00:49 +0200
+Subject: [PATCH] dracut.sh: precopy some essential device nodes
+
+---
+ dracut.sh |    3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/dracut.sh b/dracut.sh
+index eb58f78..16ff0e5 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -700,6 +700,9 @@ if [[ $kernel_only != yes ]]; then
+     for _d in $hookdirs; do
+         mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d
+     done
++    if [[ "$UID" = "0" ]]; then
++        cp -a /dev/kmsg /dev/null /dev/console $initdir/dev
++    fi
+ fi
+ 
+ mkdir -p "$initdir/.kernelmodseen"
diff --git a/0074-dracut.sh-mkdir-initdir-lib-dracut.patch b/0074-dracut.sh-mkdir-initdir-lib-dracut.patch
new file mode 100644
index 0000000..6a6fbda
--- /dev/null
+++ b/0074-dracut.sh-mkdir-initdir-lib-dracut.patch
@@ -0,0 +1,25 @@
+From 9d6ccaad01b5e36255df9865609f99682f4cc6fc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 12 Jun 2012 11:35:49 -0400
+Subject: [PATCH] dracut.sh: mkdir $initdir/lib/dracut
+
+---
+ dracut.sh |    5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 16ff0e5..6aaa295 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -701,7 +701,10 @@ if [[ $kernel_only != yes ]]; then
+         mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d
+     done
+     if [[ "$UID" = "0" ]]; then
+-        cp -a /dev/kmsg /dev/null /dev/console $initdir/dev
++        for i in /dev/kmsg /dev/null /dev/console; do
++            [ -e $i ] || continue
++            cp -a $i $initdir/dev
++        done
+     fi
+ fi
+ 
diff --git a/0075-multipath-module-setup.sh-installkernel-fix-return-c.patch b/0075-multipath-module-setup.sh-installkernel-fix-return-c.patch
new file mode 100644
index 0000000..5d27a64
--- /dev/null
+++ b/0075-multipath-module-setup.sh-installkernel-fix-return-c.patch
@@ -0,0 +1,68 @@
+From 516a2030517313770131a7832bb1e00ddc6a6dbc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:33:15 +0200
+Subject: [PATCH] multipath/module-setup.sh:installkernel() fix return code
+
+---
+ modules.d/90multipath/module-setup.sh |   43 ++++++++++++++++++++++++---------
+ 1 file changed, 31 insertions(+), 12 deletions(-)
+
+diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
+index 43057f3..f8d01ba 100755
+--- a/modules.d/90multipath/module-setup.sh
++++ b/modules.d/90multipath/module-setup.sh
+@@ -32,23 +32,42 @@ depends() {
+ 
+ installkernel() {
+     local _ret
+-    set +x
++    local _arch=$(uname -m)
+     mp_mod_filter() {
+-        local _mpfuncs='scsi_register_device_handler|dm_dirty_log_type_register|dm_register_path_selector|dm_register_target'
+-        local _f
+-        while read _f; do case "$_f" in
+-            *.ko)    [[ $(<         $_f) =~ $_mpfuncs ]] && echo "$_f" ;;
+-            *.ko.gz) [[ $(gzip -dc <$_f) =~ $_mpfuncs ]] && echo "$_f" ;;
+-            *.ko.xz) [[ $(xz -dc   <$_f) =~ $_mpfuncs ]] && echo "$_f" ;;
+-            esac
+-        done
++        local _funcs='scsi_register_device_handler|dm_dirty_log_type_register|dm_register_path_selector|dm_register_target'
++        # subfunctions inherit following FDs
++        local _merge=8 _side2=9
++        function bmf1() {
++            local _f
++            while read _f; do
++                case "$_f" in
++                    *.ko)    [[ $(<         $_f) =~ $_funcs ]] && echo "$_f" ;;
++                    *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;;
++                    *.ko.xz) [[ $(xz -dc   <$_f) =~ $_funcs ]] && echo "$_f" ;;
++                esac
++            done
++            return 0
++        }
++
++        function rotor() {
++            local _f1 _f2
++            while read _f1; do
++                echo "$_f1"
++                if read _f2; then
++                    echo "$_f2" 1>&${_side2}
++                fi
++            done | bmf1 1>&${_merge}
++            return 0
++        }
++        # Use two parallel streams to filter alternating modules.
++        set +x
++        eval "( ( rotor ) ${_side2}>&1 | bmf1 ) ${_merge}>&1"
++        [[ $debug ]] && set -x
++        return 0
+     }
+ 
+     ( find_kernel_modules_by_path drivers/scsi; find_kernel_modules_by_path drivers/s390/scsi ;
+       find_kernel_modules_by_path drivers/md )  |  mp_mod_filter  |  instmods
+-    _ret=$?
+-    [[ $debug ]] && set -x
+-    return $_ret
+ }
+ 
+ install() {
diff --git a/0076-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch b/0076-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch
new file mode 100644
index 0000000..7c2f29b
--- /dev/null
+++ b/0076-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch
@@ -0,0 +1,27 @@
+From 84d7c2bf02083b0c19f378b5d3fc4bde28a72eb8 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:49:25 +0200
+Subject: [PATCH] dracut.sh: do not copy devices nodes, mknod them
+
+---
+ dracut.sh |    7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 6aaa295..94224ba 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -701,10 +701,9 @@ if [[ $kernel_only != yes ]]; then
+         mkdir -m 0755 -p ${initdir}/lib/dracut/hooks/$_d
+     done
+     if [[ "$UID" = "0" ]]; then
+-        for i in /dev/kmsg /dev/null /dev/console; do
+-            [ -e $i ] || continue
+-            cp -a $i $initdir/dev
+-        done
++        [ -c /dev/null ] || mknod /dev/null c 1 3
++        [ -c /dev/kmsg ] || mknod /dev/kmsg c 1 11
++        [ -c /dev/console ] || mknod /dev/console c 5 1
+     fi
+ fi
+ 
diff --git a/0077-i18n-module-setup.sh-do-not-install-systemd-vconsole.patch b/0077-i18n-module-setup.sh-do-not-install-systemd-vconsole.patch
new file mode 100644
index 0000000..0a72d97
--- /dev/null
+++ b/0077-i18n-module-setup.sh-do-not-install-systemd-vconsole.patch
@@ -0,0 +1,22 @@
+From 25f38349fb414fb3432752c4f83f0d30b801151d Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 22 Jun 2012 15:58:24 +0200
+Subject: [PATCH] i18n/module-setup.sh: do not install systemd-vconsole-setup
+
+---
+ 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 7c8cd66..5aa54d5 100755
+--- a/modules.d/10i18n/module-setup.sh
++++ b/modules.d/10i18n/module-setup.sh
+@@ -12,7 +12,7 @@ depends() {
+ }
+ 
+ install() {
+-    [ -x /lib/systemd/systemd-vconsole-setup ] && dracut_install /lib/systemd/systemd-vconsole-setup
++#    [ -x /lib/systemd/systemd-vconsole-setup ] && dracut_install /lib/systemd/systemd-vconsole-setup
+     KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
+     DEFAULT_FONT=LatArCyrHeb-16
+     I18N_CONF="/etc/locale.conf"
diff --git a/dracut.spec b/dracut.spec
index 925d989..89c4e57 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 018
-Release: 67.git20120622%{?dist}
+Release: 78.git20120622%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -90,6 +90,17 @@ Patch63: 0063-url-lib-url-lib.sh-use-silent-mode-for-curl-if-TERM-.patch
 Patch64: 0064-dracut-functions-fixed-return-status-of-instmods.patch
 Patch65: 0065-network-support-vlan-tagged-bonding.patch
 Patch66: 0066-dracut-shutdown.service-fixed-ordering-to-be-before-.patch
+Patch67: 0067-terminfo-module-setup.sh-speedup-install-of-all-term.patch
+Patch68: 0068-network-module-setup.sh-fixed-installkernel-return-c.patch
+Patch69: 0069-iscsi-module-setup.sh-speedup-installkernel.patch
+Patch70: 0070-fs-lib-fs-lib.sh-removed-test-mounting-of-btrfs-and-.patch
+Patch71: 0071-i18n-module-setup.sh-install_all_kbd-speedup-install.patch
+Patch72: 0072-no-more-mknod-in-the-initramfs.patch
+Patch73: 0073-dracut.sh-precopy-some-essential-device-nodes.patch
+Patch74: 0074-dracut.sh-mkdir-initdir-lib-dracut.patch
+Patch75: 0075-multipath-module-setup.sh-installkernel-fix-return-c.patch
+Patch76: 0076-dracut.sh-do-not-copy-devices-nodes-mknod-them.patch
+Patch77: 0077-i18n-module-setup.sh-do-not-install-systemd-vconsole.patch
 
 
 BuildArch: noarch
@@ -405,6 +416,13 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Fri Jun 22 2012 Harald Hoyer <harald at redhat.com> 018-78.git20120622
+- speedup install
+- fixed installkernel() return codes
+- removed test mounting of btrfs and xfs (was fsck replacement)
+- no more "mknod" in the initramfs, fixes plymouth on s390
+- no systemd-vconsole-setup installation (unused currently anyway)
+
 * Fri Jun 22 2012 Harald Hoyer <harald at redhat.com> 018-67.git20120622
 - add tagged bonding
 Resolves: rhbz#833057


More information about the scm-commits mailing list