diff --git a/0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch b/0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch new file mode 100644 index 0000000..452502d --- /dev/null +++ b/0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch @@ -0,0 +1,24 @@ +From 027dbc9f85f2e55af283d6714b0b1fed478900dd Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 20 Jan 2012 12:02:15 +0100 +Subject: [PATCH] dmsquash-live: really changed /dev/live-baseloop to + /run/initramfs/ + +Forgot to amend my change to ce32e32f2a8288de15968c22f57fff306fa81753 +--- + modules.d/90dmsquash-live/dmsquash-live-root | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/modules.d/90dmsquash-live/dmsquash-live-root b/modules.d/90dmsquash-live/dmsquash-live-root +index cb104e4..d9fcc43 100755 +--- a/modules.d/90dmsquash-live/dmsquash-live-root ++++ b/modules.d/90dmsquash-live/dmsquash-live-root +@@ -201,7 +201,7 @@ if [ -n "$ROOTFLAGS" ]; then + fi + + if [ -b "$BASE_LOOPDEV" ]; then +- ln -s $BASE_LOOPDEV /dev/live-baseloop ++ ln -s $BASE_LOOPDEV /run/initramfs/live-baseloop + fi + ln -s /dev/mapper/live-rw /dev/root + printf '/bin/mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh diff --git a/0039-90kernel-modules-module-setup.sh-install-modules.ord.patch b/0039-90kernel-modules-module-setup.sh-install-modules.ord.patch new file mode 100644 index 0000000..e04d904 --- /dev/null +++ b/0039-90kernel-modules-module-setup.sh-install-modules.ord.patch @@ -0,0 +1,42 @@ +From 2e7b6616814a3706f0c15bc20c7c8303463bcba0 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Fri, 20 Jan 2012 12:06:41 +0100 +Subject: [PATCH] 90kernel-modules/module-setup.sh: install modules.order + +Also install modules.order and all modules.builtin* +--- + modules.d/90kernel-modules/module-setup.sh | 11 ++++++----- + 1 files changed, 6 insertions(+), 5 deletions(-) + +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 257b3bc..7888428 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -68,7 +68,7 @@ installkernel() { + } + + install() { +- local _f ++ local _f i + [ -f /etc/modprobe.conf ] && dracut_install /etc/modprobe.conf + for i in $(find -L /etc/modprobe.d/ -maxdepth 1 -type f -name '*.conf'); do + inst_simple "$i" +@@ -76,13 +76,14 @@ install() { + inst_hook cmdline 01 "$moddir/parse-kernel.sh" + inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh + +- local f +- + for _f in modules.builtin.bin modules.builtin; do +- [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" \ +- && break ++ [[ $srcmods/$_f ]] && break + done || { + dfatal "No modules.builtin.bin and modules.builtin found!" + return 1 + } ++ ++ for _f in modules.builtin.bin modules.builtin modules.order; do ++ [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" ++ done + } diff --git a/0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch b/0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch new file mode 100644 index 0000000..9283980 --- /dev/null +++ b/0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch @@ -0,0 +1,42 @@ +From acfab3733f406a5b052941ffacc70511e9723106 Mon Sep 17 00:00:00 2001 +From: Anton Blanchard +Date: Tue, 27 Dec 2011 09:08:27 +1100 +Subject: [PATCH] Handle upper case MAC addresses in ifname option + +While the documentation states that ifname MAC addresses must be +lower case, we silently accept upper case ones and fail later on +when udev doesn't rename the device. + +Instead of adding sanity checking on the MAC address just convert +it to lower case and remove the requirement completely. +--- + dracut.cmdline.7.xml | 1 - + modules.d/40network/parse-ifname.sh | 3 ++- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml +index 8a49056..9357e25 100644 +--- a/dracut.cmdline.7.xml ++++ b/dracut.cmdline.7.xml +@@ -464,7 +464,6 @@ This parameter can be specified multiple times. + ifname=<interface>:<MAC> + + Assign network device name <interface> (ie eth0) to the NIC with MAC <MAC>. +-Note letters in the MAC-address must be lowercase! + Note: If you use this option you must specify an ifname= argument for all interfaces used in ip= or fcoe= arguments. + This parameter can be specified multiple times. + +diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/40network/parse-ifname.sh +index 4c3c70e..26e6084 100755 +--- a/modules.d/40network/parse-ifname.sh ++++ b/modules.d/40network/parse-ifname.sh +@@ -25,7 +25,8 @@ parse_ifname_opts() { + case $# in + 7) + ifname_if=$1 +- ifname_mac=$2:$3:$4:$5:$6:$7 ++ # udev requires MAC addresses to be lower case ++ ifname_mac=`echo $2:$3:$4:$5:$6:$7 | tr '[:upper:]' '[:lower:]'` + ;; + *) + die "Invalid arguments for ifname=" diff --git a/0041-server-id-in-ip-is-not-optional.patch b/0041-server-id-in-ip-is-not-optional.patch new file mode 100644 index 0000000..0fac5e5 --- /dev/null +++ b/0041-server-id-in-ip-is-not-optional.patch @@ -0,0 +1,27 @@ +From b3d838e5d0f763beb9bb8b6ed6a28ad00eee9ff2 Mon Sep 17 00:00:00 2001 +From: Anton Blanchard +Date: Tue, 27 Dec 2011 09:08:28 +1100 +Subject: [PATCH] server-id in ip= is not optional + +The documentation suggests that server-id is an optional argument +but ip_to_var fails if it is not specified. Fix the documentation. +--- + dracut.cmdline.7.xml | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml +index 9357e25..87fb4ad 100644 +--- a/dracut.cmdline.7.xml ++++ b/dracut.cmdline.7.xml +@@ -452,9 +452,9 @@ with a valid DHCP root-path. + + + +- ip=<client-IP>: ++ ip=<client-IP>: + <server-id> +- :<gateway-IP>:<netmask>:<client_hostname>:<interface>:{none|off} ++ :<gateway-IP>:<netmask>:<client_hostname>:<interface>:{none|off} + + explicit network configuration. If you want do define a IPv6 address, put it in brackets (e.g. [2001:DB8::1]). + This parameter can be specified multiple times. diff --git a/0042-ip-server-id-should-be-server-IP.patch b/0042-ip-server-id-should-be-server-IP.patch new file mode 100644 index 0000000..cb68f87 --- /dev/null +++ b/0042-ip-server-id-should-be-server-IP.patch @@ -0,0 +1,38 @@ +From e7cbf8fd30ec39736b4f19fa2e68eba9776b8a80 Mon Sep 17 00:00:00 2001 +From: Anton Blanchard +Date: Tue, 27 Dec 2011 09:08:29 +1100 +Subject: [PATCH] ip= server-id should be server-IP + + From looking at the code it seems like server-id should really +be named server-IP. +--- + dracut.cmdline.7.xml | 2 +- + modules.d/40network/parse-ip-opts.sh | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml +index 87fb4ad..74e617c 100644 +--- a/dracut.cmdline.7.xml ++++ b/dracut.cmdline.7.xml +@@ -453,7 +453,7 @@ with a valid DHCP root-path. + + + ip=<client-IP>: +- <server-id> ++ <server-IP> + :<gateway-IP>:<netmask>:<client_hostname>:<interface>:{none|off} + + explicit network configuration. If you want do define a IPv6 address, put it in brackets (e.g. [2001:DB8::1]). +diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh +index 3e83ee3..77dbaf0 100755 +--- a/modules.d/40network/parse-ip-opts.sh ++++ b/modules.d/40network/parse-ip-opts.sh +@@ -7,7 +7,7 @@ + # + # ip=:[dhcp|on|any] + # +-# ip=::::::[dhcp|on|any|none|off] ++# ip=::::::[dhcp|on|any|none|off] + # + # When supplying more than only ip= line, is mandatory and + # bootdev= must contain the name of the primary interface to use for diff --git a/0043-remove-extra-semicolons-in-dracut.8.xml.patch b/0043-remove-extra-semicolons-in-dracut.8.xml.patch new file mode 100644 index 0000000..0bc79a8 --- /dev/null +++ b/0043-remove-extra-semicolons-in-dracut.8.xml.patch @@ -0,0 +1,32 @@ +From 8e1ffb1859a08da46816cbf9f4676569ba5d49b9 Mon Sep 17 00:00:00 2001 +From: Cong Wang +Date: Tue, 10 Jan 2012 22:49:03 +0800 +Subject: [PATCH] remove extra semicolons in dracut.8.xml + +Signed-off-by: Cong Wang +--- + dracut.8.xml | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dracut.8.xml b/dracut.8.xml +index ba8ab07..221ad2e 100644 +--- a/dracut.8.xml ++++ b/dracut.8.xml +@@ -398,7 +398,7 @@ the local host instead of a generic host. + + + +- ++ + + + Add entries of <filename> to the initramfs /etc/fstab. +@@ -406,7 +406,7 @@ the local host instead of a generic host. + + + +- ++ + + + Add entries of <filename> to the initramfs /etc/fstab. diff --git a/0044-deal-common-part-of-etc-passwd-in-99base.patch b/0044-deal-common-part-of-etc-passwd-in-99base.patch new file mode 100644 index 0000000..382a895 --- /dev/null +++ b/0044-deal-common-part-of-etc-passwd-in-99base.patch @@ -0,0 +1,42 @@ +From 59ee80764e08e8614c610d18b572427f8eefaa86 Mon Sep 17 00:00:00 2001 +From: Dave Young +Date: Mon, 26 Dec 2011 14:29:11 +0800 +Subject: [PATCH] deal common part of etc passwd in 99base + +ssh module will need root user in /etc/passwd, so add root and nobody +to /etc/passwd in 99base instead of nfs module + +Signed-off-by: Dave Young +--- + modules.d/95nfs/module-setup.sh | 2 -- + modules.d/99base/module-setup.sh | 4 ++++ + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh +index 6778f28..3ccdafc 100755 +--- a/modules.d/95nfs/module-setup.sh ++++ b/modules.d/95nfs/module-setup.sh +@@ -65,8 +65,6 @@ install() { + + # Rather than copy the passwd file in, just set a user for rpcbind + # We'll save the state and restart the daemon from the root anyway +- egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/:/bin/sh' >> "$initdir/etc/passwd" +- egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd" + egrep '^nfsnobody:' /etc/passwd >> "$initdir/etc/passwd" + egrep '^rpc:' /etc/passwd >> "$initdir/etc/passwd" + egrep '^rpcuser:' /etc/passwd >> "$initdir/etc/passwd" +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index 5297a9d..f6c1209 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -20,6 +20,10 @@ install() { + dracut_install bash + (ln -s bash "${initdir}/bin/sh" || :) + fi ++ ++ #add common users in /etc/passwd, it will be used by nfs/ssh currently ++ egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/:/bin/sh' >> "$initdir/etc/passwd" ++ egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd" + # install our scripts and hooks + inst "$moddir/init" "/init" + inst "$moddir/initqueue" "/sbin/initqueue" diff --git a/0045-Add-job-control-support-to-emergency-shell.patch b/0045-Add-job-control-support-to-emergency-shell.patch new file mode 100644 index 0000000..d91c1b6 --- /dev/null +++ b/0045-Add-job-control-support-to-emergency-shell.patch @@ -0,0 +1,166 @@ +From 4401925c822e2f7e927bad4c16e4a08ac6a18d9a Mon Sep 17 00:00:00 2001 +From: Michal Soltys +Date: Mon, 26 Dec 2011 14:29:15 +0800 +Subject: [PATCH] Add job control support to emergency shell + +Option --ctty will optionally add setsid binary to dracut's image. + +During runtime, if rd.ctty is set and is a character device, +emergency shells will be spawned with job control. + +in case no ctty was provided, shell was spawned without caring about +/dev/console. Also, the ctty is more opportunistic. If the image was +generated with --ctty, we will fallback to /dev/tty1 if rc.ctty is +invalid or missing. Otherwise we spawn standard shell on /dev/console + +[dyoung@redhat.com: Rebased to usrmove branch] + +Signed-off-by: Michal Soltys +Signed-off-by: Dave Young +--- + dracut | 3 ++- + dracut.8.xml | 9 +++++++++ + dracut.cmdline.7.xml | 14 ++++++++++++++ + modules.d/99base/init | 12 ++++++++++-- + modules.d/99base/module-setup.sh | 1 + + modules.d/99shutdown/shutdown | 12 ++++++++++-- + 6 files changed, 46 insertions(+), 5 deletions(-) + +diff --git a/dracut b/dracut +index 8c24e7b..3c21561 100755 +--- a/dracut ++++ b/dracut +@@ -232,6 +232,7 @@ while (($# > 0)); do + --nolvmconf) lvmconf_l="no";; + --debug) debug="yes";; + --profile) profile="yes";; ++ --ctty) cttyhack="yes";; + -v|--verbose) ((verbosity_mod_l++));; + -q|--quiet) ((verbosity_mod_l--));; + -l|--local) allowlocal="yes" ;; +@@ -585,7 +586,7 @@ done + export initdir dracutbasedir dracutmodules drivers \ + fw_dir drivers_dir debug no_kernel kernel_only \ + add_drivers mdadmconf lvmconf filesystems \ +- use_fstab libdir usrlibdir fscks nofscks \ ++ use_fstab libdir usrlibdir fscks nofscks cttyhack \ + stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \ + debug host_fs_types host_devs + +diff --git a/dracut.8.xml b/dracut.8.xml +index 221ad2e..955d4d2 100644 +--- a/dracut.8.xml ++++ b/dracut.8.xml +@@ -297,6 +297,15 @@ include in the generic initramfs. This parameter can be specified multiple times + + + ++ ++ ++ ++ if possible, try to spawn an emergency shell on a terminal ++ with job control ++ ++ ++ ++ + + + +diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml +index 74e617c..0fa4762 100644 +--- a/dracut.cmdline.7.xml ++++ b/dracut.cmdline.7.xml +@@ -109,6 +109,20 @@ This parameter can be specified multiple times. + force loading kernel module <drivername> after all automatic loading modules have been loaded. This parameter can be specified multiple times. + + ++ ++ ++ rd.ctty=<terminal> ++ ++ ++ ++ if the dracut image was generated with --ctty option, try to ++ spawn an emergency shell on the specified terminal; if ++ rd.ctty is specified without a value or not ++ provided at all, the default is /dev/tty1. The '/dev' prefix ++ can be omitted. ++ ++ ++ + + + +diff --git a/modules.d/99base/init b/modules.d/99base/init +index 1e54449..33a7379 100755 +--- a/modules.d/99base/init ++++ b/modules.d/99base/init +@@ -40,6 +40,7 @@ wait_for_loginit() + + emergency_shell() + { ++ local _ctty + set +e + if [ "$1" = "-n" ]; then + _rdshell_name=$2 +@@ -57,8 +58,15 @@ emergency_shell() + echo "Dropping to debug shell." + echo + export PS1="$_rdshell_name:\${PWD}# " +- [ -e /.profile ] || echo "exec 0<>/dev/console 1<>/dev/console 2<>/dev/console" > /.profile +- sh -i -l ++ [ -e /.profile ] || >/.profile ++ _ctty=/dev/console ++ if type setsid >/dev/null 2>&1; then ++ _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}" ++ [ -c "$_ctty" ] || _ctty=/dev/tty1 ++ setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1 ++ else ++ sh -i -l 0<$_ctty 1>$_ctty 2>&1 ++ fi + else + warn "Boot has failed. To debug this issue add \"rdshell\" to the kernel command line." + # cause a kernel panic +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index f6c1209..03058b1 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -16,6 +16,7 @@ install() { + dracut_install mount mknod mkdir modprobe pidof sleep chroot \ + sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink + dracut_install -o less ++ [[ $cttyhack = yes ]] && dracut_install -o setsid + if [ ! -e "${initdir}/bin/sh" ]; then + dracut_install bash + (ln -s bash "${initdir}/bin/sh" || :) +diff --git a/modules.d/99shutdown/shutdown b/modules.d/99shutdown/shutdown +index a31a95d..21bb37f 100755 +--- a/modules.d/99shutdown/shutdown ++++ b/modules.d/99shutdown/shutdown +@@ -13,6 +13,7 @@ export TERM=linux + + emergency_shell() + { ++ local _ctty + set +e + if [ "$1" = "-n" ]; then + _rdshell_name=$2 +@@ -29,8 +30,15 @@ emergency_shell() + echo "Dropping to debug shell." + echo + export PS1="$_rdshell_name:\${PWD}# " +- [ -e /.profile ] || echo "exec 0<>/dev/console 1<>/dev/console 2<>/dev/console" > /.profile +- sh -i -l ++ [ -e /.profile ] || >/.profile ++ _ctty=/dev/console ++ if type setsid >/dev/null 2>&1; then ++ _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}" ++ [ -c "$_ctty" ] || _ctty=/dev/tty1 ++ setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1 ++ else ++ sh -i -l 0<$_ctty 1>$_ctty 2>&1 ++ fi + else + exec /lib/systemd/systemd-shutdown "$@" + warn "Shutdown has failed. To debug this issue add \"rdshell\" to the kernel command line." diff --git a/0046-change-root-home-dir-to-root.patch b/0046-change-root-home-dir-to-root.patch new file mode 100644 index 0000000..407b631 --- /dev/null +++ b/0046-change-root-home-dir-to-root.patch @@ -0,0 +1,25 @@ +From 85bb744dfeb4f86979609b24323fec5181a1b98c Mon Sep 17 00:00:00 2001 +From: Dave Young +Date: Mon, 26 Dec 2011 14:29:18 +0800 +Subject: [PATCH] change root home dir to /root + +ssh need to read knownhosts from home directory, so change root home to /root + +Signed-off-by: Dave Young +--- + modules.d/99base/module-setup.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh +index 03058b1..fad6c50 100755 +--- a/modules.d/99base/module-setup.sh ++++ b/modules.d/99base/module-setup.sh +@@ -23,7 +23,7 @@ install() { + fi + + #add common users in /etc/passwd, it will be used by nfs/ssh currently +- egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/:/bin/sh' >> "$initdir/etc/passwd" ++ egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo 'root:x:0:0::/root:/bin/sh' >> "$initdir/etc/passwd" + egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd" + # install our scripts and hooks + inst "$moddir/init" "/init" diff --git a/0047-Add-ssh-client-module-code.patch b/0047-Add-ssh-client-module-code.patch new file mode 100644 index 0000000..55268bf --- /dev/null +++ b/0047-Add-ssh-client-module-code.patch @@ -0,0 +1,148 @@ +From cdfeb278ab4d4b6a9d848e1b9accc3554e4ac6eb Mon Sep 17 00:00:00 2001 +From: Dave Young +Date: Mon, 26 Dec 2011 14:29:21 +0800 +Subject: [PATCH] Add ssh client module code + +Add ssh client module which support ssh key mode and interactive mode. +with --sshkey option you can provide the ssh key to be installed + +>why not call it "ssh" module? +ssh-client is better, maybe future there will be ssh-server come in. +In debian these are also two different packages. + +Usage: +1. sshkey mode: +transfer your public key to remote machine with ssh-copy-id or do it mannaully +example of options: +./dracut -l -H -a ssh-client --sshkey /root/.ssh/id_rsa i.img +2. interactive mode: +need use --ctty option, ie.: +./dracut -l -H -a ssh-client --ctty i.img + +[v2 changes]: +per wangcong: add patch description about module name +add help line in usage() +remove useless comment + +Signed-off-by: Dave Young +--- + dracut | 4 ++- + dracut.8.xml | 8 ++++ + modules.d/95ssh-client/module-setup.sh | 60 ++++++++++++++++++++++++++++++++ + 3 files changed, 71 insertions(+), 1 deletions(-) + create mode 100644 modules.d/95ssh-client/module-setup.sh + +diff --git a/dracut b/dracut +index 3c21561..d0c335b 100755 +--- a/dracut ++++ b/dracut +@@ -118,6 +118,7 @@ Creates initial ramdisk images for preloading modules + -M, --show-modules Print included module's name to standard output during + build. + --keep Keep the temporary initramfs for debugging purposes ++ --sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module) + EOF + } + +@@ -233,6 +234,7 @@ while (($# > 0)); do + --debug) debug="yes";; + --profile) profile="yes";; + --ctty) cttyhack="yes";; ++ --sshkey) read_arg sshkey "$@" || shift;; + -v|--verbose) ((verbosity_mod_l++));; + -q|--quiet) ((verbosity_mod_l--));; + -l|--local) allowlocal="yes" ;; +@@ -588,7 +590,7 @@ export initdir dracutbasedir dracutmodules drivers \ + add_drivers mdadmconf lvmconf filesystems \ + use_fstab libdir usrlibdir fscks nofscks cttyhack \ + stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \ +- debug host_fs_types host_devs ++ debug host_fs_types host_devs sshkey + + # Create some directory structure first + [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}" +diff --git a/dracut.8.xml b/dracut.8.xml +index 955d4d2..5a5df54 100644 +--- a/dracut.8.xml ++++ b/dracut.8.xml +@@ -370,6 +370,14 @@ Default: + + + ++ ++ ++ ++ ssh key file used with ssh-client module. ++ ++ ++ ++ + + + +diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh +new file mode 100644 +index 0000000..0ffc298 +--- /dev/null ++++ b/modules.d/95ssh-client/module-setup.sh +@@ -0,0 +1,60 @@ ++#!/bin/bash ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++# fixme: assume user is root ++ ++check() { ++ # If our prerequisites are not met, fail. ++ type -P ssh >/dev/null || return 1 ++ type -P scp >/dev/null || return 1 ++ if [[ $sshkey ]]; then ++ [ ! -f $sshkey ] && { ++ derror "sshkey is not found!" ++ return 1 ++ } ++ [[ ! $cttyhack = yes ]] && { ++ dinfo "--ctty is not used, you should make sure the machine is knowhost and copy the sshkey to remote machine!" ++ } ++ else ++ [[ ! $cttyhack = yes ]] && { ++ derror "ssh interactive mode need option --ctty!" ++ return 1 ++ } ++ fi ++ ++ return 0 ++} ++ ++depends() { ++ # We depend on network modules being loaded ++ echo network ++} ++ ++inst_sshenv() ++{ ++ if [ -d /root/.ssh ]; then ++ inst_dir /root/.ssh ++ chmod 700 ${initdir}/root/.ssh ++ fi ++ ++ # Copy over ssh key and knowhosts if needed ++ [[ $sshkey ]] && { ++ inst $sshkey ++ [[ -f /root/.ssh/known_hosts ]] && inst /root/.ssh/known_hosts ++ [[ -f /etc/ssh/ssh_known_hosts ]] && inst /etc/ssh/ssh_known_hosts ++ } ++ ++ # Copy over root and system-wide ssh configs. ++ [[ -f /root/.ssh/config ]] && inst /root/.ssh/config ++ [[ -f /etc/ssh/ssh_config ]] && inst /etc/ssh/ssh_config ++ ++ return 0 ++} ++ ++install() { ++ inst ssh ++ inst scp ++ inst_sshenv ++} ++ diff --git a/0048-ctty-add-help-line-in-usage.patch b/0048-ctty-add-help-line-in-usage.patch new file mode 100644 index 0000000..dbf4328 --- /dev/null +++ b/0048-ctty-add-help-line-in-usage.patch @@ -0,0 +1,24 @@ +From b93aaba84f8cfaaf7f8e07fc23935c80d9e87e20 Mon Sep 17 00:00:00 2001 +From: Dave Young +Date: Mon, 26 Dec 2011 14:42:18 +0800 +Subject: [PATCH] --ctty: add help line in usage + +Adding missed help line in usage + +Signed-off-by: Dave Young +--- + dracut | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/dracut b/dracut +index d0c335b..fbf0f74 100755 +--- a/dracut ++++ b/dracut +@@ -119,6 +119,7 @@ Creates initial ramdisk images for preloading modules + build. + --keep Keep the temporary initramfs for debugging purposes + --sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module) ++ --ctty Add control tty for emergency shells + EOF + } + diff --git a/0049-plymouth-add-xz-support-for-kernel-modules.patch b/0049-plymouth-add-xz-support-for-kernel-modules.patch new file mode 100644 index 0000000..09ff42c --- /dev/null +++ b/0049-plymouth-add-xz-support-for-kernel-modules.patch @@ -0,0 +1,32 @@ +From e38fcc86086d62dfdcd776728b77d7d7acb20b80 Mon Sep 17 00:00:00 2001 +From: James Buren +Date: Sun, 22 Jan 2012 12:56:24 -0600 +Subject: [PATCH] plymouth: add xz support for kernel modules + +This rewrites a portion of the module to support xz, as well as allow +an easier expansion should future compression methods for kernel +modules ever materialize. +--- + modules.d/50plymouth/module-setup.sh | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh +index eedc842..b78c718 100755 +--- a/modules.d/50plymouth/module-setup.sh ++++ b/modules.d/50plymouth/module-setup.sh +@@ -14,8 +14,13 @@ depends() { + installkernel() { + local _modname + # Include KMS capable drm drivers +- for _modname in $(find "$srcmods/kernel/drivers/gpu/drm" "$srcmods/extra" \( -name '*.ko' -o -name '*.ko.gz' \) 2>/dev/null); do +- if zgrep -q drm_crtc_init $_modname; then ++ for _modname in $(find "$srcmods/kernel/drivers/gpu/drm" "$srcmods/extra" \( -name '*.ko' -o -name '*.ko.gz' -o -name '*.ko.xz' \) 2>/dev/null); do ++ case $_modname in ++ *.ko) grep -q drm_crtc_init $_modname ;; ++ *.ko.gz) zgrep -q drm_crtc_init $_modname ;; ++ *.ko.xz) xzgrep -q drm_crtc_init $_modname ;; ++ esac ++ if test $? -eq 0; then + # if the hardware is present, include module even if it is not currently loaded, + # as we could e.g. be in the installer; nokmsboot boot parameter will disable + # loading of the driver if needed diff --git a/0050-add-xz-compression-for-kernel-modules.patch b/0050-add-xz-compression-for-kernel-modules.patch new file mode 100644 index 0000000..191e34b --- /dev/null +++ b/0050-add-xz-compression-for-kernel-modules.patch @@ -0,0 +1,110 @@ +From 7fffc9f11f836d6e19414f0c0f23e7e8fb4f17c4 Mon Sep 17 00:00:00 2001 +From: James Buren +Date: Sun, 22 Jan 2012 13:02:47 -0600 +Subject: [PATCH] add xz compression for kernel modules + +--- + dracut-functions | 11 ++++++++--- + modules.d/40network/module-setup.sh | 1 + + modules.d/90kernel-modules/module-setup.sh | 1 + + modules.d/90multipath/module-setup.sh | 1 + + modules.d/95iscsi/module-setup.sh | 1 + + 5 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/dracut-functions b/dracut-functions +index a9b15cc..3852478 100755 +--- a/dracut-functions ++++ b/dracut-functions +@@ -364,7 +364,7 @@ inst_simple() { + inst "${_src%/*}/.${_src##*/}.hmac" "${target%/*}/.${target##*/}.hmac" + fi + ddebug "Installing $_src" +- cp --sparse=always -pfL "$_src" "${initdir}/$target" ++ cp --sparse=always -pfL "$_src" "${initdir}/$target" + } + + # find symlinks linked to given library file +@@ -508,7 +508,7 @@ inst_symlink() { + if [[ -d $_realsrc ]]; then + inst_dir "$_realsrc" + else +- inst "$_realsrc" && mkdir -m 0755 -p "${_target%/*}" ++ inst "$_realsrc" && mkdir -m 0755 -p "${_target%/*}" + fi + if [[ -e "${_src}" ]]; then + ln -sfn $(convert_abs_rel "${_src}" "${_realsrc}") "$_target" +@@ -984,6 +984,7 @@ filter_kernel_modules_by_path () ( + if ! [[ $hostonly ]]; then + _filtercmd='find "$srcmods/kernel/$1" "$srcmods/extra"' + _filtercmd+=' "$srcmods/weak-updates" -name "*.ko" -o -name "*.ko.gz"' ++ _filtercmd+=' -o -name "*.ko.xz"' + _filtercmd+=' 2>/dev/null' + else + _filtercmd='cut -d " " -f 1 $initdir/$$.ko ++ $2 $initdir/$$.ko && echo "$_modname" ++ rm -f $initdir/$$.ko ++ ;; + esac + done + ) + find_kernel_modules_by_path () ( + if ! [[ $hostonly ]]; then + find "$srcmods/kernel/$1" "$srcmods/extra" "$srcmods/weak-updates" \ +- -name "*.ko" -o -name "*.ko.gz" 2>/dev/null ++ -name "*.ko" -o -name "*.ko.gz" -o -name "*.ko.xz" 2>/dev/null + else + cut -d " " -f 1 /dev/null +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index fbf6f34..6c4ae92 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -36,6 +36,7 @@ installkernel() { + case "$_fname" in + *.ko) _fcont="$(< $_fname)" ;; + *.ko.gz) _fcont="$(gzip -dc $_fname)" ;; ++ *.ko.xz) _fcont="$(xz -dc $_fname)" ;; + esac + [[ $_fcont =~ $_net_drivers + && ! $_fcont =~ iw_handler_get_spy ]] \ +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 7888428..46d8591 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -13,6 +13,7 @@ installkernel() { + while read _f; do case "$_f" in + *.ko) [[ $(< $_f) =~ $_blockfuncs ]] && echo "$_f" ;; + *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;; ++ *.ko.xz) [[ $(xz -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;; + esac + done + } +diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh +index 43f0a3d..1502f59 100755 +--- a/modules.d/90multipath/module-setup.sh ++++ b/modules.d/90multipath/module-setup.sh +@@ -40,6 +40,7 @@ installkernel() { + 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 + } +diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh +index 8caaf73..560507c 100755 +--- a/modules.d/95iscsi/module-setup.sh ++++ b/modules.d/95iscsi/module-setup.sh +@@ -48,6 +48,7 @@ installkernel() { + 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 + } diff --git a/0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch b/0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch new file mode 100644 index 0000000..dbb729c --- /dev/null +++ b/0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch @@ -0,0 +1,47 @@ +From 3ea5d2e28fe0e5790594d036c430dbad4e903186 Mon Sep 17 00:00:00 2001 +From: Cong Wang +Date: Tue, 10 Jan 2012 22:45:45 +0800 +Subject: [PATCH] lsinitrd: add '-s' option to sort the initrd output by file + size + +This is useful to analyse which files consume the space of initrd. + +Signed-off-by: Cong Wang +--- + lsinitrd | 18 ++++++++++++++++-- + 1 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/lsinitrd b/lsinitrd +index 7da9f61..ad7ece9 100755 +--- a/lsinitrd ++++ b/lsinitrd +@@ -19,7 +19,17 @@ + # along with this program. If not, see . + # + +-[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [ []]" ; exit 1 ; } ++[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [-s] [ []]" ; exit 1 ; } ++ ++sorted=0 ++while getopts "s" opt; do ++ case $opt in ++ s) sorted=1;; ++ \?) exit 1;; ++ esac ++done ++shift $((OPTIND-1)) ++ + image="${1:-/boot/initramfs-$(uname -r).img}" + [[ -f "$image" ]] || { echo "$image does not exist" ; exit 1 ; } + +@@ -45,5 +55,9 @@ echo "$image: $(du -h $image | awk '{print $1}')" + echo "========================================================================" + $CAT "$image" | cpio --extract --verbose --quiet --to-stdout 'lib/dracut/dracut-*' 2>/dev/null + echo "========================================================================" +-$CAT "$image" | cpio --extract --verbose --quiet --list ++if [ "$sorted" -eq 1 ]; then ++ $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5 ++else ++ $CAT "$image" | cpio --extract --verbose --quiet --list ++fi + echo "========================================================================" diff --git a/0052-dracut-unset-GREP_OPTIONS.patch b/0052-dracut-unset-GREP_OPTIONS.patch new file mode 100644 index 0000000..20cc522 --- /dev/null +++ b/0052-dracut-unset-GREP_OPTIONS.patch @@ -0,0 +1,25 @@ +From 1fcf2d2f4a7eb95a507f5a4e85640e3d25bce79e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 10:10:25 +0100 +Subject: [PATCH] dracut: unset GREP_OPTIONS + +GREP_OPTIONS can influence the image creation, if set to user defined +values, so unset it. + +https://bugzilla.redhat.com/show_bug.cgi?id=676712 +--- + dracut | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/dracut b/dracut +index fbf0f74..9c833a8 100755 +--- a/dracut ++++ b/dracut +@@ -278,6 +278,7 @@ fi + PATH=/sbin:/bin:/usr/sbin:/usr/bin + export PATH + unset LD_LIBRARY_PATH ++unset GREP_OPTIONS + + [[ $debug ]] && { + export PS4='${BASH_SOURCE}@${LINENO}(${FUNCNAME[0]}): '; diff --git a/0053-lsinitrd-use-xz-with-single-stream-if-available.patch b/0053-lsinitrd-use-xz-with-single-stream-if-available.patch new file mode 100644 index 0000000..f0c58d4 --- /dev/null +++ b/0053-lsinitrd-use-xz-with-single-stream-if-available.patch @@ -0,0 +1,38 @@ +From c96425c3647d1d5e7110ac369056df79a6024e1d Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 10:34:03 +0100 +Subject: [PATCH] lsinitrd: use xz with --single-stream, if available + +The F16 installation image is two concatenated cpio images: +[xz-compressed dracut initramfs][uncompressed cpio with /squashfs.img] + +So to show the contents, use xz with the "--single-stream" option. + +https://bugzilla.redhat.com/show_bug.cgi?id=742299 +--- + lsinitrd | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/lsinitrd b/lsinitrd +index ad7ece9..1d953b7 100755 +--- a/lsinitrd ++++ b/lsinitrd +@@ -36,12 +36,16 @@ image="${1:-/boot/initramfs-$(uname -r).img}" + CAT=zcat + FILE_T=$(file "$image") + ++if echo "test"|xz|xz -dc --single-stream; then ++ XZ_SINGLE_STREAM="--single-stream" ++fi ++ + if [[ "$FILE_T" =~ ": gzip compressed data" ]]; then + CAT=zcat + elif [[ "$FILE_T" =~ ": xz compressed data" ]]; then +- CAT=xzcat ++ CAT="xzcat $XZ_SINGLE_STREAM" + elif [[ "$FILE_T" =~ ": XZ compressed data" ]]; then +- CAT=xzcat ++ CAT="xzcat $XZ_SINGLE_STREAM" + elif [[ "$FILE_T" =~ ": data" ]]; then + CAT=lzcat + fi diff --git a/0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch b/0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch new file mode 100644 index 0000000..5e7ad14 --- /dev/null +++ b/0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch @@ -0,0 +1,65 @@ +From 39339512e2ea0724de9474a8bdac81e5abaf8c97 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 10:41:41 +0100 +Subject: [PATCH] plymouth/kernel: cleanup not needed parts for shutdown + +remove plymouth and kernel parts from /run/initramfs, which are not +needed at shutdown. + +https://bugzilla.redhat.com/show_bug.cgi?id=751189 +--- + modules.d/50plymouth/module-setup.sh | 1 + + modules.d/50plymouth/plymouth-cleanup.sh | 5 +++++ + modules.d/90kernel-modules/kernel-cleanup.sh | 5 +++++ + modules.d/90kernel-modules/module-setup.sh | 1 + + 4 files changed, 12 insertions(+), 0 deletions(-) + create mode 100755 modules.d/50plymouth/plymouth-cleanup.sh + create mode 100755 modules.d/90kernel-modules/kernel-cleanup.sh + +diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh +index b78c718..5c9eaee 100755 +--- a/modules.d/50plymouth/module-setup.sh ++++ b/modules.d/50plymouth/module-setup.sh +@@ -46,6 +46,7 @@ install() { + + inst_hook pre-pivot 90 "$moddir"/plymouth-newroot.sh + inst_hook pre-trigger 10 "$moddir"/plymouth-pretrigger.sh ++ inst_hook pre-pivot 10 "$moddir"/plymouth-cleanup.sh + inst_hook emergency 50 "$moddir"/plymouth-emergency.sh + inst readlink + } +diff --git a/modules.d/50plymouth/plymouth-cleanup.sh b/modules.d/50plymouth/plymouth-cleanup.sh +new file mode 100755 +index 0000000..d6d11e6 +--- /dev/null ++++ b/modules.d/50plymouth/plymouth-cleanup.sh +@@ -0,0 +1,5 @@ ++#!/bin/sh ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++rm -fr /usr/share/plymouth /usr/lib/plymouth /usr/lib64/plymouth +diff --git a/modules.d/90kernel-modules/kernel-cleanup.sh b/modules.d/90kernel-modules/kernel-cleanup.sh +new file mode 100755 +index 0000000..d17714d +--- /dev/null ++++ b/modules.d/90kernel-modules/kernel-cleanup.sh +@@ -0,0 +1,5 @@ ++#!/bin/sh ++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- ++# ex: ts=8 sw=4 sts=4 et filetype=sh ++ ++rm -fr /lib/modules +\ No newline at end of file +diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh +index 46d8591..88f0e2d 100755 +--- a/modules.d/90kernel-modules/module-setup.sh ++++ b/modules.d/90kernel-modules/module-setup.sh +@@ -75,6 +75,7 @@ install() { + inst_simple "$i" + done + inst_hook cmdline 01 "$moddir/parse-kernel.sh" ++ inst_hook pre-pivot 20 "$moddir/kernel-cleanup.sh" + inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh + + for _f in modules.builtin.bin modules.builtin; do diff --git a/0055-network-dhclient-script-set-FQDN.patch b/0055-network-dhclient-script-set-FQDN.patch new file mode 100644 index 0000000..e36c2c2 --- /dev/null +++ b/0055-network-dhclient-script-set-FQDN.patch @@ -0,0 +1,42 @@ +From da55af4763d6a88da5a0b31cb68cdc0a2adfcd7e Mon Sep 17 00:00:00 2001 +From: Ian Dall +Date: Mon, 23 Jan 2012 10:46:10 +0100 +Subject: [PATCH] network/dhclient-script: set FQDN + +When booting with nfsroot, dracut doesn't necessarily set the initial +hostname correctly. + +According to dhcp-options(5), the name may or may not be qualified with +the local domain. It goes on to say "it is preferable to use the +domain-name option to specify the domain name". + +So dhclient-script needs to be able to handle the cases: a) where +host-name is fully qualified and domain name is also specified; b) +where hostname is fully qualified and the domain is not separately +specified; c) where host-name is "short" and domain-name is also +specified; and d) do its best where host-name is short but domain-name +is not specified. + +The dhclient-script in initramfs does not handle case "c", apparently +the preferred situation properly, setting hostname to "short". + +https://bugzilla.redhat.com/show_bug.cgi?id=756347 +--- + modules.d/40network/dhclient-script | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/modules.d/40network/dhclient-script b/modules.d/40network/dhclient-script +index 2c26838..e8bd8b2 100755 +--- a/modules.d/40network/dhclient-script ++++ b/modules.d/40network/dhclient-script +@@ -41,7 +41,9 @@ setup_interface() { + done + fi >> /tmp/net.$netif.resolv.conf + +- [ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname ++ # Note: hostname can be fqdn OR short hostname, so chop off any ++ # trailing domain name and explicity add any domain if set. ++ [ -n "$hostname" ] && echo "echo ${hostname%.$domain}${domain+.$domain} > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname + } + + PATH=/usr/sbin:/usr/bin:/sbin:/bin diff --git a/0056-AUTHORS-updated-and-fixed-.mailmap.patch b/0056-AUTHORS-updated-and-fixed-.mailmap.patch new file mode 100644 index 0000000..d10c964 --- /dev/null +++ b/0056-AUTHORS-updated-and-fixed-.mailmap.patch @@ -0,0 +1,92 @@ +From 6769292c0d43316b116552b0af56509496f96d80 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 11:06:16 +0100 +Subject: [PATCH] AUTHORS: updated and fixed .mailmap + +--- + .mailmap | 5 ++++- + AUTHORS | 28 +++++++++++++++++++--------- + 2 files changed, 23 insertions(+), 10 deletions(-) + +diff --git a/.mailmap b/.mailmap +index b37295e..bce9b7c 100644 +--- a/.mailmap ++++ b/.mailmap +@@ -6,4 +6,7 @@ Harald Hoyer + Mike Snitzer + Amerigo Wang +- ++Andrey Borzenkov ++Dan Horák ++John Reiser ++Luca Berra +diff --git a/AUTHORS b/AUTHORS +index 99eab35..12dbe15 100644 +--- a/AUTHORS ++++ b/AUTHORS +@@ -7,45 +7,55 @@ Jeremy Katz + David Dillow + Michal Soltys + Will Woods ++Andrey Borzenkov + Andreas Thienemann + Hans de Goede + Peter Jones +-Luca Berra +-Andrey Borzenkov +-Andrey Borzenkov +-Marc Grimme ++Amerigo Wang ++Colin Guthrie ++John Reiser ++Luca Berra ++Dave Young + Daniel Drake ++Marc Grimme + Roberto Sassu +-Amerigo Wang ++Anton Blanchard + Bill Nottingham ++Brian C. Lane ++Dan Horák + David Cantrell + Lance Albertson + Marian Ganisin + Michael Ploujnikov + Alan Jenkins + Alan Pevec +-Dan Horák ++Ian Dall ++James Buren + Joey Boggs + Jon Ander Hernandez + Mike Snitzer + Peter Rajnoha ++Przemysław Rudy + Vladislav Bogdanov + Alexander Todorov + Andy Lutomirski ++Anssi Hannula + Christian Heinz +-Dan Horák + Dave Jones ++Duane Griffin + Frederic Crozat + Glen Gray +-Ian Dall ++Hermann Gausterer + James Laska + Konrad Rzeszutek Wilk ++Leho Kraav + Lubomir Rintel +-Luca Berra + Matt + Matt Smith + Michal Schmidt + Munehiro Matsuda ++Paolo Bonzini ++Peter Robinson + Pádraig Brady + Quentin Armitage + Sergey Fionov diff --git a/0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch b/0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch new file mode 100644 index 0000000..31834ee --- /dev/null +++ b/0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch @@ -0,0 +1,187 @@ +From ccaa9bee2e813daa3460698d5aa444423d92483f Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 11:26:17 +0100 +Subject: [PATCH] dracut, dracut.8.xml: added more documentation about + "[LIST]" + +added examples on how to use [LIST] on the shell command line. + +https://bugzilla.redhat.com/show_bug.cgi?id=767736 +--- + dracut | 4 +++ + dracut.8.xml | 69 +++++++++++++++++++++++++++++++++++++++++++++++----------- + 2 files changed, 60 insertions(+), 13 deletions(-) + +diff --git a/dracut b/dracut +index 9c833a8..f2e5feb 100755 +--- a/dracut ++++ b/dracut +@@ -120,6 +120,10 @@ Creates initial ramdisk images for preloading modules + --keep Keep the temporary initramfs for debugging purposes + --sshkey [SSHKEY] Add ssh key to initramfs (use with ssh-client module) + --ctty Add control tty for emergency shells ++ ++If [LIST] has multiple arguments, then you have to put these in quotes. ++For example: ++# dracut --add-drivers "module1 module2" ... + EOF + } + +diff --git a/dracut.8.xml b/dracut.8.xml +index 5a5df54..88c97c3 100644 +--- a/dracut.8.xml ++++ b/dracut.8.xml +@@ -20,21 +20,25 @@ + + + Developer ++ Philippe ++ Seewer ++ philippe.seewer@bfh.ch ++ ++ ++ Developer + Warren + Togami +- wtogami@redhat.com + + + Developer +- Jeremy +- Katz +- katzj@redhat.com ++ Amadeusz ++ Żołnowski ++ aidecoe@aidecoe.name + + + Developer +- Philippe +- Seewer +- philippe.seewer@bfh.ch ++ Jeremy ++ Katz + + + Developer +@@ -42,12 +46,6 @@ + Dillow + dave@thedillows.org + +- +- Developer +- Amadeusz +- Żołnowski +- aidecoe@aidecoe.name +- + + + +@@ -113,6 +111,11 @@ For a complete list of kernel command line options see + when building the initramfs. + Modules are located in + /usr/lib/dracut/modules.d. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --modules "module1 module2" ... ++ + + + +@@ -124,6 +127,11 @@ Modules are located in + + + omit a space-separated list of dracut modules. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --omit "module1 module2" ... ++ + + + +@@ -135,6 +143,11 @@ Modules are located in + + + add a space-separated list of dracut modules to the default set of modules. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --add "module1 module2" ... ++ + + + +@@ -143,6 +156,11 @@ Modules are located in + + + force to add a space-separated list of dracut modules to the default set of modules, when -H is specified. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --force-add "module1 module2" ... ++ + + + +@@ -157,6 +175,11 @@ Modules are located in + specify a space-separated list of kernel modules to exclusively include + in the initramfs. + The kernel modules have to be specified without the ".ko" suffix. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --drivers "kmodule1 kmodule2" ... ++ + + + +@@ -166,6 +189,11 @@ The kernel modules have to be specified without the ".ko" suffix. This + + specify a space-separated list of kernel modules to add to the initramfs. + The kernel modules have to be specified without the ".ko" suffix. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --add-drivers "kmodule1 kmodule2" ... ++ + + + +@@ -175,6 +203,11 @@ The kernel modules have to be specified without the ".ko" suffix. This + + specify a space-separated list of kernel filesystem modules to exclusively + include in the generic initramfs. This parameter can be specified multiple times. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --filesystems "filesystem1 filesystem2" ... ++ + + + +@@ -253,6 +286,11 @@ include in the generic initramfs. This parameter can be specified multiple times + dracut.conf's specification; the + installation is opportunistic (non-existing tools are ignored) + ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --fscks "fsck.foo barfsck" ... ++ + + + +@@ -450,6 +488,11 @@ TARGET directory in the final initramfs. If SOURCE is a file, it will be install + + + install the space separated list of files into the initramfs. ++ ++ If [LIST] has multiple arguments, then you have to put these in quotes. ++ For example: ++ # dracut --install "/bin/foo /sbin/bar" ... ++ + + + diff --git a/0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch b/0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch new file mode 100644 index 0000000..2f32d22 --- /dev/null +++ b/0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch @@ -0,0 +1,23 @@ +From 1b91369455d2011b7eaa13e0a892d4dc914197c4 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 11:32:06 +0100 +Subject: [PATCH] 98usrmount/mount-usr.sh: do not mount /usr read-only + +https://bugzilla.redhat.com/show_bug.cgi?id=782897 +--- + modules.d/98usrmount/mount-usr.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh +index fc205d5..b24446a 100755 +--- a/modules.d/98usrmount/mount-usr.sh ++++ b/modules.d/98usrmount/mount-usr.sh +@@ -11,7 +11,7 @@ mount_usr() + # check, if we have to mount the /usr filesystem + while read _dev _mp _fs _opts _rest; do + if [ "$_mp" = "/usr" ]; then +- echo "$_dev $NEWROOT/$_mp $_fs ${_opts},ro $_rest" ++ echo "$_dev $NEWROOT/$_mp $_fs ${_opts} $_rest" + _usr_found="1" + break + fi diff --git a/0059-40network-also-look-in-drivers-s390-net-for-network-.patch b/0059-40network-also-look-in-drivers-s390-net-for-network-.patch new file mode 100644 index 0000000..c4727d9 --- /dev/null +++ b/0059-40network-also-look-in-drivers-s390-net-for-network-.patch @@ -0,0 +1,23 @@ +From c254ac796fe52d19ad47df99055cd58fee5e517e Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Mon, 23 Jan 2012 11:41:44 +0100 +Subject: [PATCH] 40network: also look in drivers/s390/net for network drivers + +https://bugzilla.redhat.com/show_bug.cgi?id=782074 +--- + modules.d/40network/module-setup.sh | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index 6c4ae92..9017413 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -58,7 +58,7 @@ installkernel() { + [[ $debug ]] && set -x + } + +- find_kernel_modules_by_path drivers/net | net_module_filter | instmods ++ find_kernel_modules_by_path drivers/net drivers/s390/net | net_module_filter | instmods + + instmods ecb arc4 + # bridge modules diff --git a/0060-fix-rpm-build-error-after-adding-ssh-client-module.patch b/0060-fix-rpm-build-error-after-adding-ssh-client-module.patch new file mode 100644 index 0000000..dff6340 --- /dev/null +++ b/0060-fix-rpm-build-error-after-adding-ssh-client-module.patch @@ -0,0 +1,29 @@ +From a29cf54c02d11af96e3c0e59935c536921d3fc9b Mon Sep 17 00:00:00 2001 +From: Cong Wang +Date: Tue, 10 Jan 2012 11:42:33 +0800 +Subject: [PATCH] fix rpm build error after adding ssh-client module + +This patch fixes the following error when building rpm, + + error: Installed (but unpackaged) file(s) found: + /usr/lib/dracut/modules.d/95ssh-client/module-setup.sh + +Based on my kdump tree. + +Signed-off-by: Cong Wang +--- + dracut.spec | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) + +diff --git a/dracut.spec b/dracut.spec +index 3986894..16c8aa3 100644 +--- a/dracut.spec ++++ b/dracut.spec +@@ -269,6 +269,7 @@ rm -rf $RPM_BUILD_ROOT + %{dracutlibdir}/modules.d/90livenet + %{dracutlibdir}/modules.d/95nbd + %{dracutlibdir}/modules.d/95nfs ++%{dracutlibdir}/modules.d/95ssh-client + %{dracutlibdir}/modules.d/45ifcfg + %{dracutlibdir}/modules.d/95znet + diff --git a/dracut.spec b/dracut.spec index d864470..a2936e0 100644 --- a/dracut.spec +++ b/dracut.spec @@ -10,7 +10,7 @@ Name: dracut Version: 014 -Release: 38.git20120117%{?dist} +Release: 61.git20120123%{?dist} Summary: Initramfs generator using udev %if 0%{?fedora} || 0%{?rhel} > 6 @@ -61,6 +61,29 @@ Patch34: 0034-minor-cleanups-in-parsing-for-dmsquash-live-and-live.patch Patch35: 0035-fstab-sys-mount-it-in-initramfs-instead-of-newroot-i.patch Patch36: 0036-typo-fix.patch Patch37: 0037-mktemp-was-long-obsoleted-by-coreutils.patch +Patch38: 0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch +Patch39: 0039-90kernel-modules-module-setup.sh-install-modules.ord.patch +Patch40: 0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch +Patch41: 0041-server-id-in-ip-is-not-optional.patch +Patch42: 0042-ip-server-id-should-be-server-IP.patch +Patch43: 0043-remove-extra-semicolons-in-dracut.8.xml.patch +Patch44: 0044-deal-common-part-of-etc-passwd-in-99base.patch +Patch45: 0045-Add-job-control-support-to-emergency-shell.patch +Patch46: 0046-change-root-home-dir-to-root.patch +Patch47: 0047-Add-ssh-client-module-code.patch +Patch48: 0048-ctty-add-help-line-in-usage.patch +Patch49: 0049-plymouth-add-xz-support-for-kernel-modules.patch +Patch50: 0050-add-xz-compression-for-kernel-modules.patch +Patch51: 0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch +Patch52: 0052-dracut-unset-GREP_OPTIONS.patch +Patch53: 0053-lsinitrd-use-xz-with-single-stream-if-available.patch +Patch54: 0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch +Patch55: 0055-network-dhclient-script-set-FQDN.patch +Patch56: 0056-AUTHORS-updated-and-fixed-.mailmap.patch +Patch57: 0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch +Patch58: 0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch +Patch59: 0059-40network-also-look-in-drivers-s390-net-for-network-.patch +Patch60: 0060-fix-rpm-build-error-after-adding-ssh-client-module.patch BuildArch: noarch @@ -307,6 +330,7 @@ rm -rf $RPM_BUILD_ROOT %{dracutlibdir}/modules.d/90livenet %{dracutlibdir}/modules.d/95nbd %{dracutlibdir}/modules.d/95nfs +%{dracutlibdir}/modules.d/95ssh-client %{dracutlibdir}/modules.d/45ifcfg %{dracutlibdir}/modules.d/95znet @@ -337,6 +361,9 @@ rm -rf $RPM_BUILD_ROOT %dir /var/lib/dracut/overlay %changelog +* Mon Jan 23 2012 Harald Hoyer 014-61.git20120123 +- update to latest git + * Tue Jan 17 2012 Harald Hoyer 014-38.git20120117 - update to latest git