update to latest git

This commit is contained in:
Harald Hoyer 2012-01-23 12:28:44 +01:00
parent 3957aa4012
commit 83ebbb2bc3
24 changed files with 1351 additions and 1 deletions

View File

@ -0,0 +1,24 @@
From 027dbc9f85f2e55af283d6714b0b1fed478900dd Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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

View File

@ -0,0 +1,42 @@
From 2e7b6616814a3706f0c15bc20c7c8303463bcba0 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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
}

View File

@ -0,0 +1,42 @@
From acfab3733f406a5b052941ffacc70511e9723106 Mon Sep 17 00:00:00 2001
From: Anton Blanchard <anton@samba.org>
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.</para>
<term><envar>ifname=</envar><replaceable>&lt;interface&gt;</replaceable>:<replaceable>&lt;MAC&gt;</replaceable></term>
<listitem>
<para>Assign network device name &lt;interface&gt; (ie eth0) to the NIC with MAC &lt;MAC&gt;.
-Note letters in the MAC-address must be lowercase!
<remark>Note: If you use this option you <emphasis remap="B">must</emphasis> specify an ifname= argument for all interfaces used in ip= or fcoe= arguments.</remark>
This parameter can be specified multiple times.</para>
</listitem>
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="

View File

@ -0,0 +1,27 @@
From b3d838e5d0f763beb9bb8b6ed6a28ad00eee9ff2 Mon Sep 17 00:00:00 2001
From: Anton Blanchard <anton@samba.org>
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.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><envar>ip=</envar><replaceable>&lt;client-IP&gt;</replaceable>:<optional>
+ <term><envar>ip=</envar><replaceable>&lt;client-IP&gt;</replaceable>:
<replaceable>&lt;server-id&gt;</replaceable>
- </optional>:<replaceable>&lt;gateway-IP&gt;</replaceable>:<replaceable>&lt;netmask&gt;</replaceable>:<replaceable>&lt;client_hostname&gt;</replaceable>:<replaceable>&lt;interface&gt;</replaceable>:<replaceable>{none|off}</replaceable></term>
+ :<replaceable>&lt;gateway-IP&gt;</replaceable>:<replaceable>&lt;netmask&gt;</replaceable>:<replaceable>&lt;client_hostname&gt;</replaceable>:<replaceable>&lt;interface&gt;</replaceable>:<replaceable>{none|off}</replaceable></term>
<listitem>
<para>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.</para>

View File

@ -0,0 +1,38 @@
From e7cbf8fd30ec39736b4f19fa2e68eba9776b8a80 Mon Sep 17 00:00:00 2001
From: Anton Blanchard <anton@samba.org>
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.</para>
</varlistentry>
<varlistentry>
<term><envar>ip=</envar><replaceable>&lt;client-IP&gt;</replaceable>:
- <replaceable>&lt;server-id&gt;</replaceable>
+ <replaceable>&lt;server-IP&gt;</replaceable>
:<replaceable>&lt;gateway-IP&gt;</replaceable>:<replaceable>&lt;netmask&gt;</replaceable>:<replaceable>&lt;client_hostname&gt;</replaceable>:<replaceable>&lt;interface&gt;</replaceable>:<replaceable>{none|off}</replaceable></term>
<listitem>
<para>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=<interface>:[dhcp|on|any]
#
-# ip=<client-IP-number>:<server-id>:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:[dhcp|on|any|none|off]
+# ip=<client-IP-number>:<server-IP-number>:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:[dhcp|on|any|none|off]
#
# When supplying more than only ip= line, <interface> is mandatory and
# bootdev= must contain the name of the primary interface to use for

View File

@ -0,0 +1,32 @@
From 8e1ffb1859a08da46816cbf9f4676569ba5d49b9 Mon Sep 17 00:00:00 2001
From: Cong Wang <xiyou.wangcong@gmail.com>
Date: Tue, 10 Jan 2012 22:49:03 +0800
Subject: [PATCH] remove extra semicolons in dracut.8.xml
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
---
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.
</varlistentry>
<varlistentry>
<term>
- <option>--add_fstab;&nbsp;<replaceable>&lt;filename&gt;</replaceable>&nbsp;</option>
+ <option>--add_fstab&nbsp;<replaceable>&lt;filename&gt;</replaceable>&nbsp;</option>
</term>
<listitem>
<para>Add entries of <replaceable>&lt;filename&gt;</replaceable> to the initramfs /etc/fstab.</para>
@@ -406,7 +406,7 @@ the local host instead of a generic host.
</varlistentry>
<varlistentry>
<term>
- <option>--mount;&nbsp;&quot;<replaceable>&lt;device&gt;</replaceable> <replaceable>&lt;mountpoint&gt;</replaceable> <replaceable>&lt;filesystem type&gt;</replaceable> <replaceable>&lt;filesystem options&gt;</replaceable>&quot;</option>
+ <option>--mount&nbsp;&quot;<replaceable>&lt;device&gt;</replaceable> <replaceable>&lt;mountpoint&gt;</replaceable> <replaceable>&lt;filesystem type&gt;</replaceable> <replaceable>&lt;filesystem options&gt;</replaceable>&quot;</option>
</term>
<listitem>
<para>Add entries of <replaceable>&lt;filename&gt;</replaceable> to the initramfs /etc/fstab.</para>

View File

@ -0,0 +1,42 @@
From 59ee80764e08e8614c610d18b572427f8eefaa86 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
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 <dyoung@redhat.com>
---
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"

View File

@ -0,0 +1,166 @@
From 4401925c822e2f7e927bad4c16e4a08ac6a18d9a Mon Sep 17 00:00:00 2001
From: Michal Soltys <soltys@ziu.info>
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 <soltys@ziu.info>
Signed-off-by: Dave Young <dyoung@redhat.com>
---
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
</varlistentry>
<varlistentry>
<term>
+ <option>--ctty</option>
+ </term>
+ <listitem>
+ <para>if possible, try to spawn an emergency shell on a terminal
+ with job control</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
<option>-h</option>
</term>
<term>
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.</para>
<para>force loading kernel module &lt;drivername&gt; after all automatic loading modules have been loaded. This parameter can be specified multiple times.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>
+ <envar>rd.ctty=<replaceable>&lt;terminal&gt;</replaceable></envar>
+ </term>
+ <listitem>
+ <para>
+ if the dracut image was generated with --ctty option, try to
+ spawn an emergency shell on the specified terminal; if
+ <envar>rd.ctty</envar> is specified without a value or not
+ provided at all, the default is /dev/tty1. The '/dev' prefix
+ can be omitted.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect2>
<refsect2 id="dracut-kernel-debug">
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."

View File

@ -0,0 +1,25 @@
From 85bb744dfeb4f86979609b24323fec5181a1b98c Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
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 <dyoung@redhat.com>
---
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"

View File

@ -0,0 +1,148 @@
From cdfeb278ab4d4b6a9d848e1b9accc3554e4ac6eb Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
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 <dyoung@redhat.com>
---
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:
</varlistentry>
<varlistentry>
<term>
+ <option>--sshkey&nbsp;<replaceable>&lt;sshkey file&gt;</replaceable></option>
+ </term>
+ <listitem>
+ <para>ssh key file used with ssh-client module.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>
<option>-l</option>
</term>
<term>
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
+}
+

View File

@ -0,0 +1,24 @@
From b93aaba84f8cfaaf7f8e07fc23935c80d9e87e20 Mon Sep 17 00:00:00 2001
From: Dave Young <dyoung@redhat.com>
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 <dyoung@redhat.com>
---
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
}

View File

@ -0,0 +1,32 @@
From e38fcc86086d62dfdcd776728b77d7d7acb20b80 Mon Sep 17 00:00:00 2001
From: James Buren <ryuo@frugalware.org>
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

View File

@ -0,0 +1,110 @@
From 7fffc9f11f836d6e19414f0c0f23e7e8fb4f17c4 Mon Sep 17 00:00:00 2001
From: James Buren <ryuo@frugalware.org>
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 </proc/modules|xargs modinfo -F filename '
@@ -996,13 +997,17 @@ filter_kernel_modules_by_path () (
$2 $initdir/$$.ko && echo "$_modname"
rm -f $initdir/$$.ko
;;
+ *.ko.xz) xz -dc "$_modname" > $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 </proc/modules \
| xargs modinfo -F filename -k $kernel 2>/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
}

View File

@ -0,0 +1,47 @@
From 3ea5d2e28fe0e5790594d036c430dbad4e903186 Mon Sep 17 00:00:00 2001
From: Cong Wang <xiyou.wangcong@gmail.com>
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 <xiyou.wangcong@gmail.com>
---
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 <http://www.gnu.org/licenses/>.
#
-[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [<initramfs file> [<filename>]]" ; exit 1 ; }
+[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]" ; 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 "========================================================================"

View File

@ -0,0 +1,25 @@
From 1fcf2d2f4a7eb95a507f5a4e85640e3d25bce79e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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]}): ';

View File

@ -0,0 +1,38 @@
From c96425c3647d1d5e7110ac369056df79a6024e1d Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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

View File

@ -0,0 +1,65 @@
From 39339512e2ea0724de9474a8bdac81e5abaf8c97 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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

View File

@ -0,0 +1,42 @@
From da55af4763d6a88da5a0b31cb68cdc0a2adfcd7e Mon Sep 17 00:00:00 2001
From: Ian Dall <ian@beware.dropbear.id.au>
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

View File

@ -0,0 +1,92 @@
From 6769292c0d43316b116552b0af56509496f96d80 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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 <harald@redhat.com> <harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Harald Hoyer <harald@redhat.com> <harald@eeepc.(none)>
Mike Snitzer <snitzer@redhat.com> <msnitzer@redhat.com>
Amerigo Wang <amwang@redhat.com> <xiyou.wangcong@gmail.com>
-
+Andrey Borzenkov <arvidjaar@gmail.com> <arvidjaar@mail.ru>
+Dan Horák <dhorak@redhat.com> <dan@danny.cz>
+John Reiser <jreiser@bitwagon.com> <jreiser@BitWagon.com>
+Luca Berra <bluca@vodka.it> <bluca@comedia.it>
diff --git a/AUTHORS b/AUTHORS
index 99eab35..12dbe15 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -7,45 +7,55 @@ Jeremy Katz <katzj@redhat.com>
David Dillow <dave@thedillows.org>
Michal Soltys <soltys@ziu.info>
Will Woods <wwoods@redhat.com>
+Andrey Borzenkov <arvidjaar@gmail.com>
Andreas Thienemann <andreas@bawue.net>
Hans de Goede <hdegoede@redhat.com>
Peter Jones <pjones@redhat.com>
-Luca Berra <bluca@comedia.it>
-Andrey Borzenkov <arvidjaar@mail.ru>
-Andrey Borzenkov <arvidjaar@gmail.com>
-Marc Grimme <grimme@atix.de>
+Amerigo Wang <amwang@redhat.com>
+Colin Guthrie <colin@mageia.org>
+John Reiser <jreiser@bitwagon.com>
+Luca Berra <bluca@vodka.it>
+Dave Young <dyoung@redhat.com>
Daniel Drake <dsd@laptop.org>
+Marc Grimme <grimme@atix.de>
Roberto Sassu <roberto.sassu@polito.it>
-Amerigo Wang <amwang@redhat.com>
+Anton Blanchard <anton@samba.org>
Bill Nottingham <notting@redhat.com>
+Brian C. Lane <bcl@redhat.com>
+Dan Horák <dhorak@redhat.com>
David Cantrell <dcantrell@redhat.com>
Lance Albertson <lance@osuosl.org>
Marian Ganisin <mganisin@redhat.com>
Michael Ploujnikov <plouj@somanetworks.com>
Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Alan Pevec <apevec@redhat.com>
-Dan Horák <dan@danny.cz>
+Ian Dall <ian@beware.dropbear.id.au>
+James Buren <ryuo@frugalware.org>
Joey Boggs <jboggs@redhat.com>
Jon Ander Hernandez <jonan.h@gmail.com>
Mike Snitzer <snitzer@redhat.com>
Peter Rajnoha <prajnoha@redhat.com>
+Przemysław Rudy <prudy1@o2.pl>
Vladislav Bogdanov <bubble@hoster-ok.com>
Alexander Todorov <atodorov@redhat.com>
Andy Lutomirski <luto@mit.edu>
+Anssi Hannula <anssi@mageia.org>
Christian Heinz <christian.ch.heinz@gmail.com>
-Dan Horák <dhorak@redhat.com>
Dave Jones <davej@redhat.com>
+Duane Griffin <duaneg@dghda.com>
Frederic Crozat <fcrozat@mandriva.com>
Glen Gray <slaine@slaine.org>
-Ian Dall <ian@beware.dropbear.id.au>
+Hermann Gausterer <git-dracut-2012@mrq1.org>
James Laska <jlaska@redhat.com>
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+Leho Kraav <leho@kraav.com>
Lubomir Rintel <lkundrak@v3.sk>
-Luca Berra <bluca@vodka.it>
Matt <smoothsailing72@hotmail.com>
Matt Smith <shadowfax@gmx.com>
Michal Schmidt <mschmidt@redhat.com>
Munehiro Matsuda <haro@kgt.co.jp>
+Paolo Bonzini <pbonzini@redhat.com>
+Peter Robinson <pbrobinson@fedoraproject.org>
Pádraig Brady <P@draigBrady.com>
Quentin Armitage <quentin@armitage.org.uk>
Sergey Fionov <fionov@gmail.com>

View File

@ -0,0 +1,187 @@
From ccaa9bee2e813daa3460698d5aa444423d92483f Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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 @@
</author>
<author>
<contrib>Developer</contrib>
+ <firstname>Philippe</firstname>
+ <surname>Seewer</surname>
+ <email>philippe.seewer@bfh.ch</email>
+ </author>
+ <author>
+ <contrib>Developer</contrib>
<firstname>Warren</firstname>
<surname>Togami</surname>
- <email>wtogami@redhat.com</email>
</author>
<author>
<contrib>Developer</contrib>
- <firstname>Jeremy</firstname>
- <surname>Katz</surname>
- <email>katzj@redhat.com</email>
+ <firstname>Amadeusz</firstname>
+ <surname>Żołnowski</surname>
+ <email>aidecoe@aidecoe.name</email>
</author>
<author>
<contrib>Developer</contrib>
- <firstname>Philippe</firstname>
- <surname>Seewer</surname>
- <email>philippe.seewer@bfh.ch</email>
+ <firstname>Jeremy</firstname>
+ <surname>Katz</surname>
</author>
<author>
<contrib>Developer</contrib>
@@ -42,12 +46,6 @@
<surname>Dillow</surname>
<email>dave@thedillows.org</email>
</author>
- <author>
- <contrib>Developer</contrib>
- <firstname>Amadeusz</firstname>
- <surname>Żołnowski</surname>
- <email>aidecoe@aidecoe.name</email>
- </author>
</authorgroup>
</refentryinfo>
<refmeta>
@@ -113,6 +111,11 @@ For a complete list of kernel command line options see
when building the initramfs.
Modules are located in
<filename>/usr/lib/dracut/modules.d</filename>. This parameter can be specified multiple times.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --modules "module1 module2" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -124,6 +127,11 @@ Modules are located in
</term>
<listitem>
<para>omit a space-separated list of dracut modules. This parameter can be specified multiple times.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --omit "module1 module2" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -135,6 +143,11 @@ Modules are located in
</term>
<listitem>
<para>add a space-separated list of dracut modules to the default set of modules. This parameter can be specified multiple times.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --add "module1 module2" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -143,6 +156,11 @@ Modules are located in
</term>
<listitem>
<para>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.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --force-add "module1 module2" ...</screen>
+ </para>
</listitem>
</varlistentry>
@@ -157,6 +175,11 @@ Modules are located in
<para>specify a space-separated list of kernel modules to exclusively include
in the initramfs.
The kernel modules have to be specified without the &quot;.ko&quot; suffix. This parameter can be specified multiple times.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --drivers "kmodule1 kmodule2" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -166,6 +189,11 @@ The kernel modules have to be specified without the &quot;.ko&quot; suffix. This
<listitem>
<para>specify a space-separated list of kernel modules to add to the initramfs.
The kernel modules have to be specified without the &quot;.ko&quot; suffix. This parameter can be specified multiple times.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --add-drivers "kmodule1 kmodule2" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -175,6 +203,11 @@ The kernel modules have to be specified without the &quot;.ko&quot; suffix. This
<listitem>
<para>specify a space-separated list of kernel filesystem modules to exclusively
include in the generic initramfs. This parameter can be specified multiple times.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --filesystems "filesystem1 filesystem2" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -253,6 +286,11 @@ include in the generic initramfs. This parameter can be specified multiple times
<filename>dracut.conf</filename>'s specification; the
installation is opportunistic (non-existing tools are ignored)
</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --fscks "fsck.foo barfsck" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
@@ -450,6 +488,11 @@ TARGET directory in the final initramfs. If SOURCE is a file, it will be install
</term>
<listitem>
<para>install the space separated list of files into the initramfs.</para>
+ <para>
+ If [LIST] has multiple arguments, then you have to put these in quotes.
+ For example:
+ <screen># dracut --install "/bin/foo /sbin/bar" ...</screen>
+ </para>
</listitem>
</varlistentry>
<varlistentry>

View File

@ -0,0 +1,23 @@
From 1b91369455d2011b7eaa13e0a892d4dc914197c4 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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

View File

@ -0,0 +1,23 @@
From c254ac796fe52d19ad47df99055cd58fee5e517e Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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

View File

@ -0,0 +1,29 @@
From a29cf54c02d11af96e3c0e59935c536921d3fc9b Mon Sep 17 00:00:00 2001
From: Cong Wang <xiyou.wangcong@gmail.com>
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 <xiyou.wangcong@gmail.com>
---
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

View File

@ -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 <harald@redhat.com> 014-61.git20120123
- update to latest git
* Tue Jan 17 2012 Harald Hoyer <harald@redhat.com> 014-38.git20120117
- update to latest git