diff --git a/0001-NEWS-update-for-version-025.patch b/0001-NEWS-update-for-version-025.patch new file mode 100644 index 0000000..4297644 --- /dev/null +++ b/0001-NEWS-update-for-version-025.patch @@ -0,0 +1,35 @@ +From 66f01450a84bb5ef1f84571ddc7a399ec47b537a Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 23 Jan 2013 16:12:18 +0100 +Subject: [PATCH] NEWS: update for version 025 + +--- + NEWS | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/NEWS b/NEWS +index 10ce55a..d376c28 100644 +--- a/NEWS ++++ b/NEWS +@@ -1,3 +1,21 @@ ++dracut-025 ++========== ++- do not strip signed kernel modules ++- add sosreport script and generate /run/initramfs/sosreport.txt ++- make short uuid specification for allow-discards work ++- turn off RateLimit for the systemd journal ++- fixed MAC address assignment ++- add systemd checkisomd5 service ++- splitout drm kernel modules from plymouth module ++- add 'swapoff' to initramfs to fix shutdown/reboot ++- add team device support ++- add pre-shutdown hook ++- kill all processes in shutdown and report remaining ones ++- "--device" changed to "--add-device" and "add_device=" added for conf files ++- add memory usage trace to different hook points ++- cope with optional field #7 in /proc/self/mountinfo ++- lots of small bugfixes ++ + dracut-024 + ========== + - new dracut option "--device" diff --git a/0002-rootfs-block-mount-root.sh-fixup-for-8b6bf0ef5.patch b/0002-rootfs-block-mount-root.sh-fixup-for-8b6bf0ef5.patch new file mode 100644 index 0000000..d9eec0e --- /dev/null +++ b/0002-rootfs-block-mount-root.sh-fixup-for-8b6bf0ef5.patch @@ -0,0 +1,26 @@ +From ae4758ce0d0ceeddabe4a78dd575c7b42c349a88 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 23 Jan 2013 16:23:07 +0100 +Subject: [PATCH] rootfs-block/mount-root.sh: fixup for 8b6bf0ef5 + +not only fix the warning message, but the real mount arguments, too +--- + modules.d/95rootfs-block/mount-root.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/95rootfs-block/mount-root.sh b/modules.d/95rootfs-block/mount-root.sh +index 54d5012..c7626c3 100755 +--- a/modules.d/95rootfs-block/mount-root.sh ++++ b/modules.d/95rootfs-block/mount-root.sh +@@ -26,9 +26,10 @@ mount_root() { + fi + + _rflags_ro="$rflags,ro" ++ _rflags_ro="${_rflags_ro##,}" + + while ! mount -t ${rootfs} -o "$_rflags_ro" "${root#block:}" "$NEWROOT"; do +- warn "Failed to mount -t ${rootfs} -o ${_rflags_ro##,} ${root#block:} $NEWROOT" ++ warn "Failed to mount -t ${rootfs} -o $_rflags_ro ${root#block:} $NEWROOT" + fsck_ask_err + done + diff --git a/0003-Support-out-of-tree-and-updated-drivers-in-initramfs.patch b/0003-Support-out-of-tree-and-updated-drivers-in-initramfs.patch new file mode 100644 index 0000000..63c463b --- /dev/null +++ b/0003-Support-out-of-tree-and-updated-drivers-in-initramfs.patch @@ -0,0 +1,28 @@ +From fa9f15e3be811bd1e55938fa92a110f9d389342d Mon Sep 17 00:00:00 2001 +From: Joe Lawrence +Date: Thu, 24 Jan 2013 17:26:43 -0500 +Subject: [PATCH] Support out-of-tree and updated drivers in initramfs creation + +The find_kernel_modules_by_path function shouldn't filter out modules not +located underneath the /lib/modules/ver/kernel directory as out-of-tree +drivers may reside in /lib/modules/ver/extra and updated drivers in +/lib/modules/ver/updates. + +Signed-off-by: Joe Lawrence +--- + dracut-functions.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut-functions.sh b/dracut-functions.sh +index e23db76..f7e3ec8 100755 +--- a/dracut-functions.sh ++++ b/dracut-functions.sh +@@ -1502,7 +1502,7 @@ find_kernel_modules_by_path () ( + _OLDIFS=$IFS + IFS=: + while read a rest; do +- [[ $a = kernel*/$1/* ]] || continue ++ [[ $a = */$1/* ]] || continue + echo $srcmods/$a + done < $srcmods/modules.dep + IFS=$_OLDIFS diff --git a/0004-network-net-genrules.sh-remove-some-bashisms.patch b/0004-network-net-genrules.sh-remove-some-bashisms.patch new file mode 100644 index 0000000..70d2d0f --- /dev/null +++ b/0004-network-net-genrules.sh-remove-some-bashisms.patch @@ -0,0 +1,42 @@ +From 14fcfbec3e57dee8aaf18128a41033185584b203 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 30 Jan 2013 17:22:25 +0100 +Subject: [PATCH] network/net-genrules.sh: remove some bashisms + +--- + modules.d/40network/net-genrules.sh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh +index 133c457..f4652b9 100755 +--- a/modules.d/40network/net-genrules.sh ++++ b/modules.d/40network/net-genrules.sh +@@ -24,24 +24,24 @@ fi + # bridge: attempt only the defined interface + if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info +- IFACES+=" ${ethnames%% *}" ++ IFACES="$IFACES ${ethnames%% *}" + fi + + # bond: attempt only the defined interface (override bridge defines) + if [ -e /tmp/bond.info ]; then + . /tmp/bond.info + # It is enough to fire up only one +- IFACES+=" ${bondslaves%% *}" ++ IFACES="$IFACES ${bondslaves%% *}" + fi + + if [ -e /tmp/team.info ]; then + . /tmp/team.info +- IFACES+=" ${teamslaves}" ++ IFACES="$IFACES ${teamslaves}" + fi + + if [ -e /tmp/vlan.info ]; then + . /tmp/vlan.info +- IFACES+=" $phydevice" ++ IFACES="$IFACES $phydevice" + fi + + if [ -z "$IFACES" ]; then diff --git a/0005-TODO-updated.patch b/0005-TODO-updated.patch new file mode 100644 index 0000000..2baa225 --- /dev/null +++ b/0005-TODO-updated.patch @@ -0,0 +1,33 @@ +From 7abeb49878fb73cd4331431c345162762bfc58dc Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 5 Feb 2013 10:56:43 +0100 +Subject: [PATCH] TODO: updated + +--- + TODO | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/TODO b/TODO +index 2bce2a5..2b7da3f 100644 +--- a/TODO ++++ b/TODO +@@ -7,7 +7,6 @@ Items are ordered in priority. + INITRAMFS TODO + + - use info and warn prefix +-- add sosreport + - generate systemd unit dracut-initramfs-restore in /run/systemd dynamically + - put "root=" parsing hooks in separate hook dir + - call "root=" parsing hooks after getting new rootpath from dhcp +@@ -20,10 +19,10 @@ INITRAMFS TODO + - disable write-ifcfg https://bugzilla.redhat.com/show_bug.cgi?id=840784 + - check for /var to be mounted in convertfs https://bugzilla.redhat.com/show_bug.cgi?id=848172 + - probably fix "--include" https://bugzilla.redhat.com/show_bug.cgi?id=849338 +-- iscsi livecd boot + + GENERATOR TODO + ++- add presets (predefined set of modules) + - add interpreter/plugin-scripts to be sourced at the beginning or end (can use dracut-functions) + - provide "installkernel" and "new-kernel-pkg" + - add mechanism for module specific command line options diff --git a/0006-mdmon-renamed-mdmon-offroot-.service-to-mdmon-.servi.patch b/0006-mdmon-renamed-mdmon-offroot-.service-to-mdmon-.servi.patch new file mode 100644 index 0000000..efb9399 --- /dev/null +++ b/0006-mdmon-renamed-mdmon-offroot-.service-to-mdmon-.servi.patch @@ -0,0 +1,38 @@ +From 6320d072a138afe7b7150e51240803b52d734ea4 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 5 Feb 2013 10:56:13 +0100 +Subject: [PATCH] mdmon: renamed mdmon-offroot@.service to mdmon@.service + +--- + dracut.spec | 2 ++ + modules.d/90mdraid/module-setup.sh | 4 ++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/dracut.spec b/dracut.spec +index 82ba772..22f3366 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -96,6 +96,8 @@ Conflicts: initscripts < 8.63-1 + Conflicts: plymouth < 0.8.0-0.2009.29.09.19.1 + %endif + ++Conflicts: mdadm < 3.2.6-14 ++ + %description + dracut contains tools to create a bootable initramfs for 2.6 Linux kernels. + Unlike existing implementations, dracut does hard-code as little as possible +diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh +index 3b5620c..3824f40 100755 +--- a/modules.d/90mdraid/module-setup.sh ++++ b/modules.d/90mdraid/module-setup.sh +@@ -88,8 +88,8 @@ install() { + inst_hook shutdown 30 "$moddir/md-shutdown.sh" + inst_script "$moddir/mdraid-cleanup.sh" /sbin/mdraid-cleanup + inst_script "$moddir/mdraid_start.sh" /sbin/mdraid_start +- if [ -e /lib/systemd/system/mdmon-offroot@.service ]; then +- inst_simple /lib/systemd/system/mdmon-offroot@.service ++ if [ -e /lib/systemd/system/mdmon@.service ]; then ++ inst_simple /lib/systemd/system/mdmon@.service + fi + inst_hook pre-shutdown 30 "$moddir/mdmon-pre-shutdown.sh" + } diff --git a/0007-shutdown-call-losetup-D-on-shutdown.patch b/0007-shutdown-call-losetup-D-on-shutdown.patch new file mode 100644 index 0000000..cfd64f5 --- /dev/null +++ b/0007-shutdown-call-losetup-D-on-shutdown.patch @@ -0,0 +1,35 @@ +From d8b627b9dcd12c5d4a967f7e8143ecf63d75be1f Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 5 Feb 2013 11:02:05 +0100 +Subject: [PATCH] shutdown: call "losetup -D" on shutdown + +--- + modules.d/99shutdown/module-setup.sh | 2 +- + modules.d/99shutdown/shutdown.sh | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/modules.d/99shutdown/module-setup.sh b/modules.d/99shutdown/module-setup.sh +index 16e727c..fb0b7ad 100755 +--- a/modules.d/99shutdown/module-setup.sh ++++ b/modules.d/99shutdown/module-setup.sh +@@ -13,7 +13,7 @@ depends() { + + install() { + local _d +- dracut_install umount poweroff reboot halt ++ dracut_install umount poweroff reboot halt losetup + dracut_install -o kexec + inst "$moddir/shutdown.sh" "$prefix/shutdown" + [ -e "${initdir}/lib" ] || mkdir -m 0755 -p ${initdir}/lib +diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh +index bab81f2..202ecb1 100755 +--- a/modules.d/99shutdown/shutdown.sh ++++ b/modules.d/99shutdown/shutdown.sh +@@ -46,6 +46,7 @@ umount_a() { + fi + fi + done +Date: Tue, 5 Feb 2013 16:45:42 +0100 +Subject: [PATCH] dracut.sh: reverting return value change + +reverting _get_fs_type() return values of patch +c8d685c9d3860e49f39a9c85ffebbb4c4fec341f +--- + dracut.sh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/dracut.sh b/dracut.sh +index cfd10a1..23ffaa4 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -766,18 +766,18 @@ if [[ $hostonly ]]; then + fi + + _get_fs_type() ( +- [[ $1 ]] || return 1 ++ [[ $1 ]] || return + if [[ -b $1 ]] && get_fs_env $1; then + echo "$(readlink -f $1)|$ID_FS_TYPE" +- return 0 ++ return 1 + fi + if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then + echo "$(readlink -f /dev/block/$1)|$ID_FS_TYPE" +- return 0 ++ return 1 + fi + if fstype=$(find_dev_fstype $1); then + echo "$1|$fstype" +- return 0 ++ return 1 + fi + return 1 + ) diff --git a/0009-Mount-proc-before-including-dracut-lib.sh.patch b/0009-Mount-proc-before-including-dracut-lib.sh.patch new file mode 100644 index 0000000..362afb0 --- /dev/null +++ b/0009-Mount-proc-before-including-dracut-lib.sh.patch @@ -0,0 +1,41 @@ +From cd9072d3420ecde0f4bdd865067d68f8fecf8565 Mon Sep 17 00:00:00 2001 +From: Colin Guthrie +Date: Sat, 26 Jan 2013 18:13:28 +0000 +Subject: [PATCH] Mount /proc before including dracut-lib.sh. + +When dracut-lib.sh is sourced it checks the command line (when not using systemd) +as part of the check_quiet() call. + +Therefore mount /proc earlier in init. + +Avoids the error: + +init: 77: /lib/dracut-lib.sh: /proc/cmdline: No such file or directory +--- + modules.d/99base/init.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh +index 0259053..37b5996 100755 +--- a/modules.d/99base/init.sh ++++ b/modules.d/99base/init.sh +@@ -17,9 +17,6 @@ OLDPATH=$PATH + PATH=/usr/sbin:/usr/bin:/sbin:/bin + export PATH + +-RD_DEBUG="" +-. /lib/dracut-lib.sh +- + # mount some important things + [ ! -d /proc/self ] && \ + mount -t proc -o nosuid,noexec,nodev proc /proc >/dev/null +@@ -37,6 +34,9 @@ if [ "$?" != "0" ]; then + exit 1 + fi + ++RD_DEBUG="" ++. /lib/dracut-lib.sh ++ + if [ -x /lib/systemd/systemd-timestamp ]; then + RD_TIMESTAMP=$(/lib/systemd/systemd-timestamp) + else diff --git a/0010-fix-CTC-example-in-rd.znet.patch b/0010-fix-CTC-example-in-rd.znet.patch new file mode 100644 index 0000000..e8d947a --- /dev/null +++ b/0010-fix-CTC-example-in-rd.znet.patch @@ -0,0 +1,23 @@ +From 62fd2b36446ec28de4de092b093fd05b548f8190 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Mon, 28 Jan 2013 08:35:28 +0100 +Subject: [PATCH] fix CTC example in rd.znet + +The CTC interface uses 2 channels. +--- + dracut.cmdline.7.asc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc +index ea2d30b..62372a5 100644 +--- a/dracut.cmdline.7.asc ++++ b/dracut.cmdline.7.asc +@@ -600,7 +600,7 @@ ZNET + + + ---- + rd.znet=qeth,0.0.0600,0.0.0601,0.0.0602,layer2=1,portname=foo +-rd.znet=ctc,0.0.0600,0.0.0601,0.0.0602,protocol=bar ++rd.znet=ctc,0.0.0600,0.0.0601,protocol=bar + ---- + + Plymouth Boot Splash diff --git a/0011-network-ifup.sh-enable-bridged-vlan-interfaces.patch b/0011-network-ifup.sh-enable-bridged-vlan-interfaces.patch new file mode 100644 index 0000000..a10ba15 --- /dev/null +++ b/0011-network-ifup.sh-enable-bridged-vlan-interfaces.patch @@ -0,0 +1,73 @@ +From 56d60c4b2d65399a7d9fe187e1c48c9fc65dcd5f Mon Sep 17 00:00:00 2001 +From: Kevin Yung +Date: Wed, 6 Feb 2013 13:33:42 +0100 +Subject: [PATCH] network/ifup.sh: enable bridged vlan interfaces + +To use vlan for net boot, you need to specify vlan and ip kernel options +for the boot interface. For example, + + vlan=eth1.1:eth1 bootdev=eth1.1 + ip=1.2.3.4:1.2.3.4::255.255.255.0:my-hostname:eth1:none + +To use bridge for net boot, you need to specify bridge and ip kernel +option for the boot interface. For example + + bridge=br1:eth1 bootdev=br1 + ip=1.2.3.4:1.2.3.4::255.255.255.0:my-hostname:eth1:none + +In my environment, I needs to boot machines from network within +a vlan or on a bridged network. I found curent dracut release +if-up.sh script in 40network module bypass ip setting for both +bridge and vlan interface. +--- + modules.d/40network/ifup.sh | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index 6c3133e..83685c8 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -17,6 +17,8 @@ type ip_to_var >/dev/null 2>&1 || . /lib/net-lib.sh + + # $netif reads easier than $1 + netif=$1 ++use_bridge='false' ++use_vlan='false' + + # enslave this interface to bond? + if [ -e /tmp/bond.info ]; then +@@ -46,6 +48,7 @@ if [ -e /tmp/bridge.info ]; then + : # We need to really setup bond (recursive call) + else + netif="$bridgename" ++ use_bridge='true' + fi + fi + done +@@ -58,6 +61,7 @@ if [ -e /tmp/vlan.info ]; then + : # We need to really setup bond (recursive call) + else + netif="$vlanname" ++ use_vlan='true' + fi + fi + fi +@@ -256,6 +260,7 @@ if [ -z "$ip" ]; then + fi + fi + ++ + # Specific configuration, spin through the kernel command line + # looking for ip= lines + for p in $(getargs ip=); do +@@ -264,7 +269,9 @@ for p in $(getargs ip=); do + [ "$autoconf" = "ibft" ] && continue + + # If this option isn't directed at our interface, skip it +- [ -n "$dev" ] && [ "$dev" != "$netif" ] && continue ++ [ -n "$dev" ] && [ "$dev" != "$netif" ] && \ ++ [ "$use_bridge" != 'true' ] && \ ++ [ "$use_vlan" != 'true' ] && continue + + # Store config for later use + for i in ip srv gw mask hostname macaddr; do diff --git a/0012-Provide-devices-to-enable-booting-with-rd.live.overl.patch b/0012-Provide-devices-to-enable-booting-with-rd.live.overl.patch new file mode 100644 index 0000000..614e372 --- /dev/null +++ b/0012-Provide-devices-to-enable-booting-with-rd.live.overl.patch @@ -0,0 +1,53 @@ +From 579f3853848634ac5ecad1c8b2449f92446e2b84 Mon Sep 17 00:00:00 2001 +From: Frederick Grose +Date: Sun, 27 Jan 2013 14:47:17 -0500 +Subject: [PATCH] Provide devices to enable booting with + rd.live.overlay.readonly=1 + +--- + modules.d/90dmsquash-live/dmsquash-live-root.sh | 24 ++++++++++++++++++++---- + 1 file changed, 20 insertions(+), 4 deletions(-) + +diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh +index f302d44..0b1ed20 100755 +--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh ++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh +@@ -110,18 +110,34 @@ do_live_overlay() { + umount -l /run/initramfs/overlayfs || : + fi + +- if [ -z "$setup" ]; then +- if [ -n "$devspec" -a -n "$pathspec" ]; then ++ if [ -z "$setup" -o -n "$readonly_overlay" ]; then ++ if [ -n "$setup" ]; then ++ warn "Using temporary overlay." ++ elif [ -n "$devspec" -a -n "$pathspec" ]; then + warn "Unable to find persistent overlay; using temporary" + sleep 5 + fi + + dd if=/dev/null of=/overlay bs=1024 count=1 seek=$((512*1024)) 2> /dev/null +- losetup $OVERLAY_LOOPDEV /overlay ++ if [ -n "$setup" -a -n "$readonly_overlay" ]; then ++ RO_OVERLAY_LOOPDEV=$( losetup -f ) ++ losetup $RO_OVERLAY_LOOPDEV /overlay ++ else ++ losetup $OVERLAY_LOOPDEV /overlay ++ fi + fi + + # set up the snapshot +- echo 0 `blockdev --getsz $BASE_LOOPDEV` snapshot $BASE_LOOPDEV $OVERLAY_LOOPDEV p 8 | dmsetup create $readonly_overlay live-rw ++ sz=$(blockdev --getsz $BASE_LOOPDEV) ++ if [ -n "$readonly_overlay" ]; then ++ echo 0 $sz snapshot $BASE_LOOPDEV $OVERLAY_LOOPDEV p 8 | dmsetup create $readonly_overlay live-ro ++ base="/dev/mapper/live-ro" ++ over=$RO_OVERLAY_LOOPDEV ++ else ++ base=$BASE_LOOPDEV ++ over=$OVERLAY_LOOPDEV ++ fi ++ echo 0 $sz snapshot $base $over p 8 | dmsetup create live-rw + } + + # live cd helper function diff --git a/0013-set-peer-for-point-to-point-connections.patch b/0013-set-peer-for-point-to-point-connections.patch new file mode 100644 index 0000000..f7d158f --- /dev/null +++ b/0013-set-peer-for-point-to-point-connections.patch @@ -0,0 +1,49 @@ +From 02640e8e653354c3f871717c0b3f967e4135ae1f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Fri, 25 Jan 2013 14:23:58 +0100 +Subject: [PATCH] set peer for point-to-point connections + +network/net-lib.sh: only set net vars, if they have a value +--- + modules.d/40network/ifup.sh | 4 ++-- + modules.d/40network/net-lib.sh | 10 +++++----- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index 83685c8..4216fa6 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -113,10 +113,10 @@ do_static() { + [ -n "$mtu" ] && ip link set mtu $mtu dev $netif + if strstr $ip '*:*:*'; then + # note no ip addr flush for ipv6 +- ip addr add $ip/$mask dev $netif ++ ip addr add $ip/$mask ${srv+peer $srv} dev $netif + else + ip addr flush dev $netif +- ip addr add $ip/$mask brd + dev $netif ++ ip addr add $ip/$mask ${srv+peer $srv} brd + dev $netif + fi + + [ -n "$gw" ] && echo ip route add default via $gw dev $netif > /tmp/net.$netif.gw +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index d9a241b..4a4d7e7 100644 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -271,11 +271,11 @@ ip_to_var() { + case $# in + 0) autoconf="error" ;; + 1) autoconf=$1 ;; +- 2) dev=$1; autoconf=$2 ;; +- 3) dev=$1; autoconf=$2; mtu=$3 ;; +- 4) dev=$1; autoconf=$2; mtu=$3; macaddr=$4 ;; +- *) ip=$1; srv=$2; gw=$3; mask=$4; +- hostname=$5; dev=$6; autoconf=$7; mtu=$8; ++ 2) [ -n "$1" ] && dev=$1; [ -n "$2" ] && autoconf=$2 ;; ++ 3) [ -n "$1" ] && dev=$1; [ -n "$2" ] && autoconf=$2; [ -n "$3" ] && mtu=$3 ;; ++ 4) [ -n "$1" ] && dev=$1; [ -n "$2" ] && autoconf=$2; [ -n "$3" ] && mtu=$3; [ -n "$4" ] && macaddr=$4 ;; ++ *) [ -n "$1" ] && ip=$1; [ -n "$2" ] && srv=$2; [ -n "$3" ] && gw=$3; [ -n "$4" ] && mask=$4; ++ [ -n "$5" ] && hostname=$5; [ -n "$6" ] && dev=$6; [ -n "$7" ] && autoconf=$7; [ -n "$8" ] && mtu=$8; + if [ -n "${9}" -a -n "${10}" -a -n "${11}" -a -n "${12}" -a -n "${13}" -a -n "${14}" ]; then + macaddr="${9}:${10}:${11}:${12}:${13}:${14}" + fi diff --git a/0014-network-ifup.sh-echo-in-get_vid-instead-of-using-the.patch b/0014-network-ifup.sh-echo-in-get_vid-instead-of-using-the.patch new file mode 100644 index 0000000..7720708 --- /dev/null +++ b/0014-network-ifup.sh-echo-in-get_vid-instead-of-using-the.patch @@ -0,0 +1,37 @@ +From 39135af15558c9a2af6fcf18a391fb9b120fb5b1 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Wed, 6 Feb 2013 17:56:46 +0100 +Subject: [PATCH] network/ifup.sh: echo in get_vid() instead of using the + return value + +The return value is module 256, so VLAN ids > 255 could not be returned. +--- + modules.d/40network/ifup.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index 4216fa6..582278f 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -223,10 +223,10 @@ fi + get_vid() { + case "$1" in + vlan*) +- return ${1#vlan} ++ echo ${1#vlan} + ;; + *.*) +- return ${1##*.} ++ echo ${1##*.} + ;; + esac + } +@@ -238,7 +238,7 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then + else + linkup "$phydevice" + fi +- ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname; echo $?)" ++ ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname)" + fi + + # setup nameserver diff --git a/0015-url-lib-url-lib.sh-turn-off-curl-globbing.patch b/0015-url-lib-url-lib.sh-turn-off-curl-globbing.patch new file mode 100644 index 0000000..d98cd50 --- /dev/null +++ b/0015-url-lib-url-lib.sh-turn-off-curl-globbing.patch @@ -0,0 +1,23 @@ +From 7fa3b9e376ce878fd6c5a3b53470f7e55e0be895 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 11:44:23 +0100 +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 | 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 034a7cd..403b754 100755 +--- a/modules.d/45url-lib/url-lib.sh ++++ b/modules.d/45url-lib/url-lib.sh +@@ -61,7 +61,7 @@ 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 $? ++ curl --globoff $curl_args --output "$outloc" "$url" || return $? + else + local outdir="$(mkuniqdir /tmp curl_fetch_url)" + ( cd "$outdir"; curl $curl_args --remote-name "$url" || return $? ) diff --git a/0016-dracut.sh-make-var-log-a-symlink-to-run-log.patch b/0016-dracut.sh-make-var-log-a-symlink-to-run-log.patch new file mode 100644 index 0000000..91b6ed8 --- /dev/null +++ b/0016-dracut.sh-make-var-log-a-symlink-to-run-log.patch @@ -0,0 +1,30 @@ +From 3f54a83ca857cb65be1482d48cd8811ae8ebcf45 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:12:34 +0100 +Subject: [PATCH] dracut.sh: make /var/log a symlink to /run/log + +--- + dracut.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dracut.sh b/dracut.sh +index 23ffaa4..e4c7043 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -833,7 +833,7 @@ if [[ $prefix ]]; then + fi + + if [[ $kernel_only != yes ]]; then +- for d in usr/bin usr/sbin bin etc lib sbin tmp usr var var/log $libdirs; do ++ for d in usr/bin usr/sbin bin etc lib sbin tmp usr var $libdirs; do + [[ -e "${initdir}${prefix}/$d" ]] && continue + if [ -L "/$d" ]; then + inst_symlink "/$d" "${prefix}/$d" +@@ -852,6 +852,7 @@ if [[ $kernel_only != yes ]]; then + + ln -sfn ../run "$initdir/var/run" + ln -sfn ../run/lock "$initdir/var/lock" ++ ln -sfn ../run/log "$initdir/var/log" + else + for d in lib "$libdir"; do + [[ -e "${initdir}${prefix}/$d" ]] && continue diff --git a/0017-drm-module-setup.sh-make-drm-module-only-install-on-.patch b/0017-drm-module-setup.sh-make-drm-module-only-install-on-.patch new file mode 100644 index 0000000..53887e1 --- /dev/null +++ b/0017-drm-module-setup.sh-make-drm-module-only-install-on-.patch @@ -0,0 +1,23 @@ +From 8a3c4957fc90a6cd9415e57592ef0771bb5e8524 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:12:59 +0100 +Subject: [PATCH] drm/module-setup.sh: make drm module only install on + dependency + +--- + modules.d/50drm/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh +index 47fe9a6..e471c11 100644 +--- a/modules.d/50drm/module-setup.sh ++++ b/modules.d/50drm/module-setup.sh +@@ -3,7 +3,7 @@ + # ex: ts=8 sw=4 sts=4 et filetype=sh + + check() { +- return 0 ++ return 255 + } + + depends() { diff --git a/0018-btrfs-80-btrfs.rules-remove-modprobe-of-btrfs-module.patch b/0018-btrfs-80-btrfs.rules-remove-modprobe-of-btrfs-module.patch new file mode 100644 index 0000000..743f803 --- /dev/null +++ b/0018-btrfs-80-btrfs.rules-remove-modprobe-of-btrfs-module.patch @@ -0,0 +1,26 @@ +From ff52ca1b5769358beec63e0151f211ef68277590 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:13:34 +0100 +Subject: [PATCH] btrfs/80-btrfs.rules: remove modprobe of btrfs module + +this should be automatically modprobed by the kernel on demand +--- + modules.d/90btrfs/80-btrfs.rules | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/modules.d/90btrfs/80-btrfs.rules b/modules.d/90btrfs/80-btrfs.rules +index e74f9a6..f4a3787 100644 +--- a/modules.d/90btrfs/80-btrfs.rules ++++ b/modules.d/90btrfs/80-btrfs.rules +@@ -1,11 +1,9 @@ + SUBSYSTEM!="block", GOTO="btrfs_end" + ACTION!="add|change", GOTO="btrfs_end" + ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_end" +-RUN+="/sbin/modprobe btrfs" + RUN+="/sbin/btrfs device scan $env{DEVNAME}" + + RUN+="/sbin/initqueue --finished --unique --name btrfs_finished /sbin/btrfs_finished" + RUN+="/sbin/initqueue --timeout --onetime --unique --name btrfs_timeout /sbin/btrfs_timeout" + + LABEL="btrfs_end" +- diff --git a/0019-btrfs-btrfs_finished.sh-use-btrfs-device-ready-for-p.patch b/0019-btrfs-btrfs_finished.sh-use-btrfs-device-ready-for-p.patch new file mode 100644 index 0000000..eb6ed70 --- /dev/null +++ b/0019-btrfs-btrfs_finished.sh-use-btrfs-device-ready-for-p.patch @@ -0,0 +1,21 @@ +From d9076cac19db5169777871b4bf95acd1f6495280 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:14:10 +0100 +Subject: [PATCH] btrfs/btrfs_finished.sh: use btrfs device ready for probing + +--- + modules.d/90btrfs/btrfs_finished.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/90btrfs/btrfs_finished.sh b/modules.d/90btrfs/btrfs_finished.sh +index 5e7691a..19715f6 100755 +--- a/modules.d/90btrfs/btrfs_finished.sh ++++ b/modules.d/90btrfs/btrfs_finished.sh +@@ -11,6 +11,7 @@ btrfs_check_complete() { + _rootinfo=$(udevadm info --query=env "--name=$_dev" 2>/dev/null) + if strstr "$_rootinfo" "ID_FS_TYPE=btrfs"; then + info "Checking, if btrfs device complete" ++ btrfs device ready "$_dev" >/dev/null 2>&1 && return 0 + unset __btrfs_mount + mount -o ro "$_dev" /tmp >/dev/null 2>&1 + __btrfs_mount=$? diff --git a/0020-udev-rules-modify-udev-rules-on-initramfs-creation-t.patch b/0020-udev-rules-modify-udev-rules-on-initramfs-creation-t.patch new file mode 100644 index 0000000..5688ba7 --- /dev/null +++ b/0020-udev-rules-modify-udev-rules-on-initramfs-creation-t.patch @@ -0,0 +1,35 @@ +From 4f6e29330818f05742141a135e521be001f6e6b7 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:15:11 +0100 +Subject: [PATCH] udev-rules: modify udev rules on initramfs creation time + +--- + modules.d/95udev-rules/module-setup.sh | 2 +- + modules.d/95udev-rules/udev-rules-prepare.sh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh +index 54a192e..f56f166 100755 +--- a/modules.d/95udev-rules/module-setup.sh ++++ b/modules.d/95udev-rules/module-setup.sh +@@ -75,6 +75,6 @@ install() { + + inst_libdir_file "libnss_files*" + +- inst_hook pre-udev 10 "$moddir/udev-rules-prepare.sh" ++ . "$moddir/udev-rules-prepare.sh" + } + +diff --git a/modules.d/95udev-rules/udev-rules-prepare.sh b/modules.d/95udev-rules/udev-rules-prepare.sh +index 4beefda..920485d 100644 +--- a/modules.d/95udev-rules/udev-rules-prepare.sh ++++ b/modules.d/95udev-rules/udev-rules-prepare.sh +@@ -4,7 +4,7 @@ + + [ -z "$UDEVVERSION" ] && export UDEVVERSION=$(udevadm --version) + +-for f in /etc/udev/rules.d/*-persistent-storage.rules; do ++for f in ${initdir}/etc/udev/rules.d/*-persistent-storage.rules; do + [ -e "$f" ] || continue + while read line; do + if [ "${line%%IMPORT PATH_ID}" != "$line" ]; then diff --git a/0021-virtfs-add-virtio_pci-kernel-module.patch b/0021-virtfs-add-virtio_pci-kernel-module.patch new file mode 100644 index 0000000..5923cf8 --- /dev/null +++ b/0021-virtfs-add-virtio_pci-kernel-module.patch @@ -0,0 +1,22 @@ +From c2117747fdbb0efbfde9d8bc56a41898b50b8092 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:15:46 +0100 +Subject: [PATCH] virtfs: add virtio_pci kernel module + +--- + modules.d/95virtfs/module-setup.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/95virtfs/module-setup.sh b/modules.d/95virtfs/module-setup.sh +index ce8a4f8..0b961a8 100755 +--- a/modules.d/95virtfs/module-setup.sh ++++ b/modules.d/95virtfs/module-setup.sh +@@ -32,7 +32,7 @@ depends() { + } + + installkernel() { +- instmods 9p 9pnet_virtio ++ instmods 9p 9pnet_virtio virtio_pci + } + + install() { diff --git a/0022-systemd-dracut-initqueue.sh-replace-UDEV_QUEUE_EMPTY.patch b/0022-systemd-dracut-initqueue.sh-replace-UDEV_QUEUE_EMPTY.patch new file mode 100644 index 0000000..eef3f95 --- /dev/null +++ b/0022-systemd-dracut-initqueue.sh-replace-UDEV_QUEUE_EMPTY.patch @@ -0,0 +1,37 @@ +From 11174408e833cb53dd532666d61f028a94fc48d5 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:16:10 +0100 +Subject: [PATCH] systemd/dracut-initqueue.sh: replace $UDEV_QUEUE_EMPTY + +for systemd-udevd the version of udevd is high enough +--- + modules.d/98systemd/dracut-initqueue.sh | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh +index c82b6eb..76160cb 100755 +--- a/modules.d/98systemd/dracut-initqueue.sh ++++ b/modules.d/98systemd/dracut-initqueue.sh +@@ -39,7 +39,7 @@ while :; do + check_finished && break 2 + done + +- $UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue ++ udevadm settle --timeout=0 >/dev/null 2>&1 || continue + + for job in $hookdir/initqueue/settled/*.sh; do + [ -e "$job" ] || break +@@ -47,12 +47,11 @@ while :; do + check_finished && break 2 + done + +- $UDEV_QUEUE_EMPTY >/dev/null 2>&1 || continue ++ udevadm settle --timeout=0 >/dev/null 2>&1 || continue + + # no more udev jobs and queues empty. + sleep 0.5 + +- + if [ $main_loop -gt $((2*$RDRETRY/3)) ]; then + for job in $hookdir/initqueue/timeout/*.sh; do + [ -e "$job" ] || break diff --git a/0023-systemd-trigger-systemd-vconsole-setup.service-only-.patch b/0023-systemd-trigger-systemd-vconsole-setup.service-only-.patch new file mode 100644 index 0000000..4273498 --- /dev/null +++ b/0023-systemd-trigger-systemd-vconsole-setup.service-only-.patch @@ -0,0 +1,50 @@ +From 6b095274fb935ffb7639d1ea7e51f9bd0f487726 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:17:14 +0100 +Subject: [PATCH] systemd: trigger systemd-vconsole-setup.service only on + demand + +--- + modules.d/98systemd/module-setup.sh | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh +index 9abe292..467508e 100755 +--- a/modules.d/98systemd/module-setup.sh ++++ b/modules.d/98systemd/module-setup.sh +@@ -71,7 +71,6 @@ install() { + $systemdsystemunitdir/systemd-vconsole-setup.service \ + $systemdsystemunitdir/sysinit.target.wants/systemd-modules-load.service \ + $systemdsystemunitdir/sysinit.target.wants/systemd-ask-password-console.path \ +- $systemdsystemunitdir/sysinit.target.wants/systemd-vconsole-setup.service \ + $systemdsystemunitdir/sysinit.target.wants/systemd-journald.service \ + $systemdsystemunitdir/sockets.target.wants/systemd-udevd-control.socket \ + $systemdsystemunitdir/sockets.target.wants/systemd-udevd-kernel.socket \ +@@ -106,6 +105,7 @@ install() { + egrep '^adm:' /etc/group >> "$initdir/etc/group" + + ln -fs $systemdutildir/systemd "$initdir/init" ++ ln -fs $systemdutildir/systemd "$initdir/sbin/init" + + inst_simple "$moddir/dracut-emergency.service" ${systemdsystemunitdir}/dracut-emergency.service + inst_simple "$moddir/rescue.service" ${systemdsystemunitdir}/rescue.service +@@ -146,6 +146,19 @@ install() { + inst_script "$moddir/service-to-run.sh" "${systemdutildir}/system-generators/service-to-run" + inst_rules 99-systemd.rules + ++ ++ for i in \ ++ emergency.target \ ++ dracut-emergency.service \ ++ rescue.service \ ++ systemd-ask-password-console.service \ ++ systemd-ask-password-plymouth.service \ ++ ; do ++ mkdir -p "${initdir}${dracutsystemunitdir}/${i}.requires" ++ ln_r "${systemdsystemunitdir}/systemd-vconsole-setup.service" \ ++ "${dracutsystemunitdir}/${i}.requires/systemd-vconsole-setup.service" ++ done ++ + # turn off RateLimit for journal + { + echo "[Journal]" diff --git a/0024-systemd-dracut-pre-udev.service-load-service-on-dema.patch b/0024-systemd-dracut-pre-udev.service-load-service-on-dema.patch new file mode 100644 index 0000000..e0550f8 --- /dev/null +++ b/0024-systemd-dracut-pre-udev.service-load-service-on-dema.patch @@ -0,0 +1,22 @@ +From fbdfa57746933d24693ebfcb972f979b34b4401e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:17:35 +0100 +Subject: [PATCH] systemd/dracut-pre-udev.service: load service on demand + +--- + modules.d/98systemd/dracut-pre-udev.service | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/98systemd/dracut-pre-udev.service b/modules.d/98systemd/dracut-pre-udev.service +index 88a8da1..ee2c2e1 100644 +--- a/modules.d/98systemd/dracut-pre-udev.service ++++ b/modules.d/98systemd/dracut-pre-udev.service +@@ -15,6 +15,8 @@ Before=systemd-udevd.service dracut-pre-trigger.service + After=dracut-cmdline.service + Wants=dracut-cmdline.service + ConditionPathExists=/etc/initrd-release ++ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-udev ++ConditionKernelCommandLine=|rd.break=pre-udev + + [Service] + Type=oneshot diff --git a/0025-systemd-dracut-pre-trigger.service-load-service-on-d.patch b/0025-systemd-dracut-pre-trigger.service-load-service-on-d.patch new file mode 100644 index 0000000..0494d73 --- /dev/null +++ b/0025-systemd-dracut-pre-trigger.service-load-service-on-d.patch @@ -0,0 +1,22 @@ +From f251a89772e68ddc057439ea8ee338ee99853833 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:17:50 +0100 +Subject: [PATCH] systemd/dracut-pre-trigger.service: load service on demand + +--- + modules.d/98systemd/dracut-pre-trigger.service | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/98systemd/dracut-pre-trigger.service b/modules.d/98systemd/dracut-pre-trigger.service +index 6836d89..55c9938 100644 +--- a/modules.d/98systemd/dracut-pre-trigger.service ++++ b/modules.d/98systemd/dracut-pre-trigger.service +@@ -15,6 +15,8 @@ Before=systemd-udev-trigger.service dracut-initqueue.service + After=dracut-pre-udev.service systemd-udevd.service + Wants=dracut-pre-udev.service systemd-udevd.service + ConditionPathExists=/etc/initrd-release ++ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-trigger ++ConditionKernelCommandLine=|rd.break=pre-trigger + + [Service] + Type=oneshot diff --git a/0026-systemd-dracut-cmdline.sh-create-run-log-subdir.patch b/0026-systemd-dracut-cmdline.sh-create-run-log-subdir.patch new file mode 100644 index 0000000..63e71df --- /dev/null +++ b/0026-systemd-dracut-cmdline.sh-create-run-log-subdir.patch @@ -0,0 +1,21 @@ +From 54665349ec6546b7926f198bca665547299fe348 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:18:25 +0100 +Subject: [PATCH] systemd/dracut-cmdline.sh: create /run/log subdir + +--- + modules.d/98systemd/dracut-cmdline.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh +index bfe2e43..c32d5df 100755 +--- a/modules.d/98systemd/dracut-cmdline.sh ++++ b/modules.d/98systemd/dracut-cmdline.sh +@@ -7,6 +7,7 @@ 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 ++[ -d /run/log ] || mkdir -p -m 0755 /run/log + + if [ -f /dracut-state.sh ]; then + . /dracut-state.sh 2>/dev/null diff --git a/0027-systemd-dracut-pre-trigger.sh-enable-rd.break-pre-tr.patch b/0027-systemd-dracut-pre-trigger.sh-enable-rd.break-pre-tr.patch new file mode 100644 index 0000000..ee8122c --- /dev/null +++ b/0027-systemd-dracut-pre-trigger.sh-enable-rd.break-pre-tr.patch @@ -0,0 +1,23 @@ +From 22137f9cac5ceb1a1d0ff8c5cab3d7bb8b582e33 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:18:54 +0100 +Subject: [PATCH] systemd/dracut-pre-trigger.sh: enable rd.break=pre-trigger + debug shell + +--- + modules.d/98systemd/dracut-pre-trigger.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules.d/98systemd/dracut-pre-trigger.sh b/modules.d/98systemd/dracut-pre-trigger.sh +index deaf0f2..35b0c5f 100755 +--- a/modules.d/98systemd/dracut-pre-trigger.sh ++++ b/modules.d/98systemd/dracut-pre-trigger.sh +@@ -17,6 +17,8 @@ udevproperty "hookdir=$hookdir" + + source_hook pre-trigger + ++getarg 'rd.break=pre-trigger' 'rdbreak=pre-trigger' && emergency_shell -n pre-trigger "Break pre-trigger" ++ + udevadm control --reload >/dev/null 2>&1 || : + + export -p > /dracut-state.sh diff --git a/0028-systemd-set-udev-debug-info-via-config-file-and-repo.patch b/0028-systemd-set-udev-debug-info-via-config-file-and-repo.patch new file mode 100644 index 0000000..ae3f00b --- /dev/null +++ b/0028-systemd-set-udev-debug-info-via-config-file-and-repo.patch @@ -0,0 +1,39 @@ +From 04b873598b649913fcb9f303bd79ee5e1868f074 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:19:19 +0100 +Subject: [PATCH] systemd: set udev debug/info via config file and report + obsolete options + +--- + modules.d/98systemd/dracut-cmdline.sh | 3 +++ + modules.d/98systemd/dracut-pre-trigger.sh | 3 --- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh +index c32d5df..cec1b64 100755 +--- a/modules.d/98systemd/dracut-cmdline.sh ++++ b/modules.d/98systemd/dracut-cmdline.sh +@@ -17,6 +17,9 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + [ -f /etc/initrd-release ] && . /etc/initrd-release + [ -n "$VERSION" ] && info "dracut-$VERSION" + ++getargbool 0 rd.udev.log-priority=info -d rd.udev.info -d -n -y rdudevinfo && echo 'udev_log="info"' >> /etc/udev/udev.conf ++getargbool 0 rd.udev.log-priority=debug -d rd.udev.debug -d -n -y rdudevdebug && echo 'udev_log="debug"' >> /etc/udev/udev.conf ++ + source_conf /etc/conf.d + + make_trace_mem "hook cmdline" '1+:mem' '1+:iomem' '3+:slab' +diff --git a/modules.d/98systemd/dracut-pre-trigger.sh b/modules.d/98systemd/dracut-pre-trigger.sh +index 35b0c5f..4685c8f 100755 +--- a/modules.d/98systemd/dracut-pre-trigger.sh ++++ b/modules.d/98systemd/dracut-pre-trigger.sh +@@ -11,9 +11,6 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + source_conf /etc/conf.d + + make_trace_mem "hook pre-trigger" "1:shortmem" "2+:mem" "3+:slab" +-getargbool 0 rd.udev.info -n -y rdudevinfo && udevadm control --log-priority=info +-getargbool 0 rd.udev.debug -n -y rdudevdebug && udevadm control --log-priority=debug +-udevproperty "hookdir=$hookdir" + + source_hook pre-trigger + diff --git a/0029-systemd-dracut-pre-pivot.sh-remove-dev-root-symlink-.patch b/0029-systemd-dracut-pre-pivot.sh-remove-dev-root-symlink-.patch new file mode 100644 index 0000000..8ec96c1 --- /dev/null +++ b/0029-systemd-dracut-pre-pivot.sh-remove-dev-root-symlink-.patch @@ -0,0 +1,26 @@ +From a04f3077cd2356b162bac8fd4bfb4be2aaa765ee Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:54:38 +0100 +Subject: [PATCH] systemd/dracut-pre-pivot.sh: remove /dev/root symlink after + shell + +--- + modules.d/98systemd/dracut-pre-pivot.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh +index 2eed4bb..f27d220 100755 +--- a/modules.d/98systemd/dracut-pre-pivot.sh ++++ b/modules.d/98systemd/dracut-pre-pivot.sh +@@ -36,9 +36,9 @@ done + + echo "NEWROOT=\"$NEWROOT\"" >> /run/initramfs/switch-root.conf + ++getarg rd.break -d rdbreak && emergency_shell -n switch_root "Break before switch_root" ++ + # remove helper symlink + [ -h /dev/root ] && rm -f /dev/root + +-getarg rd.break -d rdbreak && emergency_shell -n switch_root "Break before switch_root" +- + exit 0 diff --git a/0030-systemd-dracut-initqueue-run-after-cryptsetup.target.patch b/0030-systemd-dracut-initqueue-run-after-cryptsetup.target.patch new file mode 100644 index 0000000..9734d85 --- /dev/null +++ b/0030-systemd-dracut-initqueue-run-after-cryptsetup.target.patch @@ -0,0 +1,21 @@ +From cebab07e684ef3a051b4fb72a3499fa76cb95b36 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 15:40:47 +0100 +Subject: [PATCH] systemd/dracut-initqueue: run after cryptsetup.target + +--- + modules.d/98systemd/dracut-initqueue.service | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/98systemd/dracut-initqueue.service b/modules.d/98systemd/dracut-initqueue.service +index 3a97bdf..b852468 100644 +--- a/modules.d/98systemd/dracut-initqueue.service ++++ b/modules.d/98systemd/dracut-initqueue.service +@@ -13,6 +13,7 @@ Documentation=man:dracut-initqueue.service(8) + DefaultDependencies=no + After=systemd-udev-trigger.service + Wants=systemd-udev-trigger.service ++After=cryptsetup.target + ConditionPathExists=/etc/initrd-release + + [Service] diff --git a/0031-systemd-dracut-initqueue.sh-call-udevadm-settle-dire.patch b/0031-systemd-dracut-initqueue.sh-call-udevadm-settle-dire.patch new file mode 100644 index 0000000..74756f4 --- /dev/null +++ b/0031-systemd-dracut-initqueue.sh-call-udevadm-settle-dire.patch @@ -0,0 +1,22 @@ +From 2663232a018bb3605e1668e51a095205b014fdc9 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 8 Feb 2013 14:55:24 +0100 +Subject: [PATCH] systemd/dracut-initqueue.sh: call udevadm settle directly + +--- + modules.d/98systemd/dracut-initqueue.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh +index 76160cb..7de89e9 100755 +--- a/modules.d/98systemd/dracut-initqueue.sh ++++ b/modules.d/98systemd/dracut-initqueue.sh +@@ -25,7 +25,7 @@ while :; do + + check_finished && break + +- udevsettle ++ udevadm settle --exit-if-exists=$hookdir/initqueue/work + + check_finished && break + diff --git a/0032-url-lib-url-lib.sh-remove-bashisms.patch b/0032-url-lib-url-lib.sh-remove-bashisms.patch new file mode 100644 index 0000000..40bfed6 --- /dev/null +++ b/0032-url-lib-url-lib.sh-remove-bashisms.patch @@ -0,0 +1,22 @@ +From 918a6874df070f538b126ec639b877d5206a52fa Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 11 Feb 2013 13:55:44 +0100 +Subject: [PATCH] url-lib/url-lib.sh: remove bashisms + +--- + 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 403b754..72c865f 100755 +--- a/modules.d/45url-lib/url-lib.sh ++++ b/modules.d/45url-lib/url-lib.sh +@@ -55,7 +55,7 @@ add_url_handler() { + export CURL_HOME="/run/initramfs/url-lib" + mkdir -p $CURL_HOME + curl_args="--location --retry 3 --fail --show-error" +-getargbool 0 rd.noverifyssl && curl_args+=" --insecure" ++getargbool 0 rd.noverifyssl && curl_args="$curl_args --insecure" + + curl_fetch_url() { + local url="$1" outloc="$2" diff --git a/0033-url-lib-url-lib.sh-add-proxy-support-for-curl.patch b/0033-url-lib-url-lib.sh-add-proxy-support-for-curl.patch new file mode 100644 index 0000000..a42fda2 --- /dev/null +++ b/0033-url-lib-url-lib.sh-add-proxy-support-for-curl.patch @@ -0,0 +1,23 @@ +From 6ecb9a2d68436fd5772d3be0b024852efabe466b Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 11 Feb 2013 13:56:04 +0100 +Subject: [PATCH] url-lib/url-lib.sh: add proxy support for curl + +--- + modules.d/45url-lib/url-lib.sh | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/modules.d/45url-lib/url-lib.sh b/modules.d/45url-lib/url-lib.sh +index 72c865f..1f8218d 100755 +--- a/modules.d/45url-lib/url-lib.sh ++++ b/modules.d/45url-lib/url-lib.sh +@@ -57,6 +57,9 @@ mkdir -p $CURL_HOME + curl_args="--location --retry 3 --fail --show-error" + getargbool 0 rd.noverifyssl && curl_args="$curl_args --insecure" + ++proxy=$(getarg proxy=) ++[ -n "$proxy" ] && curl_args+="$curl_args --proxy $proxy" ++ + curl_fetch_url() { + local url="$1" outloc="$2" + echo "$url" > /proc/self/fd/0 diff --git a/0034-make-nbd-port-check-more-robust.patch b/0034-make-nbd-port-check-more-robust.patch new file mode 100644 index 0000000..fa9351e --- /dev/null +++ b/0034-make-nbd-port-check-more-robust.patch @@ -0,0 +1,26 @@ +From c6a71c7b8a2fdfb4d946553dee2068ef484858c3 Mon Sep 17 00:00:00 2001 +From: Wim Muskee +Date: Sat, 9 Feb 2013 12:54:20 +0100 +Subject: [PATCH] make nbd port check more robust + +The following change makes the check for the nbd port or named export +more robust. +I wasn't sure whether to include sed in the dracut_install() of +module-setup.sh since net already does that (and nbd depends on that). +--- + modules.d/95nbd/nbdroot.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh +index 4d06425..b176a16 100755 +--- a/modules.d/95nbd/nbdroot.sh ++++ b/modules.d/95nbd/nbdroot.sh +@@ -31,7 +31,7 @@ nbdflags=${root%%:*} + nbdopts=${root#*:} + + # If nbdport not an integer, then assume name based import +-if [ "${nbdport%[0-9]}" = "$nbdport" ]; then ++if [ ! -z $(echo "$nbdport" | sed 's/[0-9]//g') ]; then + nbdport="-N $nbdport" + fi + diff --git a/dracut.spec b/dracut.spec index ca2de00..8b4c322 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 025 -Release: 1%{?dist} +Release: 35.git20130211%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} @@ -29,6 +29,40 @@ URL: https://dracut.wiki.kernel.org/ # Source can be generated by # 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 +Patch1: 0001-NEWS-update-for-version-025.patch +Patch2: 0002-rootfs-block-mount-root.sh-fixup-for-8b6bf0ef5.patch +Patch3: 0003-Support-out-of-tree-and-updated-drivers-in-initramfs.patch +Patch4: 0004-network-net-genrules.sh-remove-some-bashisms.patch +Patch5: 0005-TODO-updated.patch +Patch6: 0006-mdmon-renamed-mdmon-offroot-.service-to-mdmon-.servi.patch +Patch7: 0007-shutdown-call-losetup-D-on-shutdown.patch +Patch8: 0008-dracut.sh-reverting-return-value-change.patch +Patch9: 0009-Mount-proc-before-including-dracut-lib.sh.patch +Patch10: 0010-fix-CTC-example-in-rd.znet.patch +Patch11: 0011-network-ifup.sh-enable-bridged-vlan-interfaces.patch +Patch12: 0012-Provide-devices-to-enable-booting-with-rd.live.overl.patch +Patch13: 0013-set-peer-for-point-to-point-connections.patch +Patch14: 0014-network-ifup.sh-echo-in-get_vid-instead-of-using-the.patch +Patch15: 0015-url-lib-url-lib.sh-turn-off-curl-globbing.patch +Patch16: 0016-dracut.sh-make-var-log-a-symlink-to-run-log.patch +Patch17: 0017-drm-module-setup.sh-make-drm-module-only-install-on-.patch +Patch18: 0018-btrfs-80-btrfs.rules-remove-modprobe-of-btrfs-module.patch +Patch19: 0019-btrfs-btrfs_finished.sh-use-btrfs-device-ready-for-p.patch +Patch20: 0020-udev-rules-modify-udev-rules-on-initramfs-creation-t.patch +Patch21: 0021-virtfs-add-virtio_pci-kernel-module.patch +Patch22: 0022-systemd-dracut-initqueue.sh-replace-UDEV_QUEUE_EMPTY.patch +Patch23: 0023-systemd-trigger-systemd-vconsole-setup.service-only-.patch +Patch24: 0024-systemd-dracut-pre-udev.service-load-service-on-dema.patch +Patch25: 0025-systemd-dracut-pre-trigger.service-load-service-on-d.patch +Patch26: 0026-systemd-dracut-cmdline.sh-create-run-log-subdir.patch +Patch27: 0027-systemd-dracut-pre-trigger.sh-enable-rd.break-pre-tr.patch +Patch28: 0028-systemd-set-udev-debug-info-via-config-file-and-repo.patch +Patch29: 0029-systemd-dracut-pre-pivot.sh-remove-dev-root-symlink-.patch +Patch30: 0030-systemd-dracut-initqueue-run-after-cryptsetup.target.patch +Patch31: 0031-systemd-dracut-initqueue.sh-call-udevadm-settle-dire.patch +Patch32: 0032-url-lib-url-lib.sh-remove-bashisms.patch +Patch33: 0033-url-lib-url-lib.sh-add-proxy-support-for-curl.patch +Patch34: 0034-make-nbd-port-check-more-robust.patch BuildRequires: dash bash git @@ -97,6 +131,8 @@ Conflicts: initscripts < 8.63-1 Conflicts: plymouth < 0.8.0-0.2009.29.09.19.1 %endif +Conflicts: mdadm < 3.2.6-14 + %description dracut contains tools to create a bootable initramfs for 2.6 Linux kernels. Unlike existing implementations, dracut does hard-code as little as possible @@ -365,6 +401,9 @@ rm -rf $RPM_BUILD_ROOT %dir /var/lib/dracut/overlay %changelog +* Mon Feb 11 2013 Harald Hoyer 025-35.git20130211 +- update to recent git + * Wed Jan 23 2013 Harald Hoyer 025-1 - version 025