* [PATCH 1/1] Final fixups to make the full testsuite work.
@ 2009-05-26 2:57 Victor Lowther
[not found] ` <151d32e89583815962af8d721b17d0b320f80a2f.1243306326.git.victor.lowther-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Victor Lowther @ 2009-05-26 2:57 UTC (permalink / raw)
To: initramfs-u79uwXL29TY76Z2rM5mHXA
test-10 now completes sucessfully. What has changed:
Added some logging functionality. All info, warning, and error messages
are logged to a logfile, which is cleared on every dracut run.
We no longer try to incrementally assemble mdraid arrays. It did not
work using Ubuntu 9.04 x86_64. It is probably a bug in mdadm, but for
now just fall back to auto assembly. A better fix would be appreciated, as
long as it does not break the test suite and does not remove mdraid testing
from the test suite.
create-root.sh mounts the root filesystem straight away.
It takes forever (or, at least 30 seconds) to actually unlock the LUKS device.
This did not happen when the unlock was not done in a udev rule.
It is either cryptseup behaving badly when called from udev, or demons.
We should really not add all the network modules to the initramfs, at least for
testing. Doing so really bloats things.
Anyways, I am throwing this out there for discussion and ideas on better
ways of fixing these warts.
---
dracut-functions | 10 ++++++++++
modules.d/90mdraid/70-mdadm.rules | 12 ------------
modules.d/90mdraid/install | 2 +-
modules.d/90mdraid/mdadm-assemble.sh | 5 +++++
test/TEST-10-RAID/create-root.sh | 1 +
test/TEST-10-RAID/test.sh | 2 +-
6 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/dracut-functions b/dracut-functions
index ac22fcd..1cea9c7 100755
--- a/dracut-functions
+++ b/dracut-functions
@@ -28,16 +28,26 @@ IF_dynamic=""
# Generic substring function. If $2 is in $1, return 0.
strstr() { [[ ! ${1#*$2*} = $1 ]]; }
+if ! [[ $dracutlogfile ]]; then
+ [[ $dsrc = /usr/lib/dracut ]] && \
+ dracutlogfile=/var/log/dracut/log || \
+ dracutlogfile=/tmp/dracut.log
+ >"$dracutlogfile"
+fi
+
dwarning() {
echo "W: $@" >&2
+ echo "W: $@" >>"$dracutlogfile"
}
dinfo() {
[[ $beverbose ]] && echo "I: $@" >&2
+ echo "I: $@" >>"$dracutlogfile"
}
derror() {
echo "E: $@" >&2
+ echo "E: $@" >>"$dracutlogfile"
}
# $1 = file to copy to ramdisk
diff --git a/modules.d/90mdraid/70-mdadm.rules b/modules.d/90mdraid/70-mdadm.rules
deleted file mode 100644
index ae54c96..0000000
--- a/modules.d/90mdraid/70-mdadm.rules
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file causes block devices with Linux RAID (mdadm) signatures to
-# automatically cause mdadm to be run.
-# See udev(8) for syntax
-
-SUBSYSTEM!="block", GOTO="raid_end"
-ACTION!="add|change", GOTO="raid_end"
-KERNEL=="md/*", GOTO="raid_end"
-
-KERNEL!="sr*", IMPORT{program}="vol_id --export $tempnode"
-ENV{ID_FS_TYPE}=="linux_raid_member", RUN+="/sbin/mdadm -IR $root/%k"
-
-LABEL="raid_end"
diff --git a/modules.d/90mdraid/install b/modules.d/90mdraid/install
index 1885f7c..70a0bc7 100755
--- a/modules.d/90mdraid/install
+++ b/modules.d/90mdraid/install
@@ -4,8 +4,8 @@ inst /etc/passwd
inst /etc/group
instmods =drivers/md
[ -x /sbin/mdmon ] && dracut_install mdmon
-inst_rules "$moddir/70-mdadm.rules"
[ -f /etc/mdadm/mdadm.conf ] && inst /etc/mdadm/mdadm.conf /etc/mdadm.conf
[ -f /etc/mdadm.conf ] && inst /etc/mdadm.conf
inst_hook pre-pivot 30 "$moddir/mdmon-pre-pivot.sh"
+inst_hook mount 05 "$moddir/mdadm-assemble.sh"
diff --git a/modules.d/90mdraid/mdadm-assemble.sh b/modules.d/90mdraid/mdadm-assemble.sh
new file mode 100755
index 0000000..1b05a3b
--- /dev/null
+++ b/modules.d/90mdraid/mdadm-assemble.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+mdadm -AqsR
+udevadm trigger
+udevadm settle --timeout=5
\ No newline at end of file
diff --git a/test/TEST-10-RAID/create-root.sh b/test/TEST-10-RAID/create-root.sh
index 29f349c..368f90a 100755
--- a/test/TEST-10-RAID/create-root.sh
+++ b/test/TEST-10-RAID/create-root.sh
@@ -16,3 +16,4 @@ lvm lvcreate -l 100%FREE -n root dracut
udevadm settle --timeout=4
[ -b /dev/dracut/root ] || emergency_shell
mke2fs /dev/dracut/root
+mount /dev/dracut/root /sysroot
diff --git a/test/TEST-10-RAID/test.sh b/test/TEST-10-RAID/test.sh
index f7abe54..c003420 100755
--- a/test/TEST-10-RAID/test.sh
+++ b/test/TEST-10-RAID/test.sh
@@ -33,7 +33,7 @@ test_setup() {
. $basedir/dracut-functions
dracut_install sfdisk mke2fs poweroff cp umount
inst_simple ./halt.sh /pre-pivot/02halt.sh
- inst_simple ./copy-root.sh /mount/01copy-root.sh
+ inst_simple ./copy-root.sh /mount/95copy-root.sh
inst_simple ./create-root.sh /pre-mount/01create-root.sh
)
--
1.6.0.4
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] Final fixups to make the full testsuite work.
[not found] ` <151d32e89583815962af8d721b17d0b320f80a2f.1243306326.git.victor.lowther-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2009-05-26 9:26 ` Harald Hoyer
[not found] ` <4A1BB5DE.3090206-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Harald Hoyer @ 2009-05-26 9:26 UTC (permalink / raw)
To: Victor Lowther; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA
On 05/26/2009 04:57 AM, Victor Lowther wrote:
> test-10 now completes sucessfully. What has changed:
hmm, it completed sucessfully on Fedora 11 without any problems..
>
> Added some logging functionality. All info, warning, and error messages
> are logged to a logfile, which is cleared on every dracut run.
>
> We no longer try to incrementally assemble mdraid arrays. It did not
> work using Ubuntu 9.04 x86_64. It is probably a bug in mdadm, but for
> now just fall back to auto assembly. A better fix would be appreciated, as
> long as it does not break the test suite and does not remove mdraid testing
> from the test suite.
worked on Fedora 11
$ rpm -qf /sbin/mdadm
mdadm-3.0-0.devel3.6.fc11.x86_64
>
> create-root.sh mounts the root filesystem straight away.
>
> It takes forever (or, at least 30 seconds) to actually unlock the LUKS device.
> This did not happen when the unlock was not done in a udev rule.
> It is either cryptseup behaving badly when called from udev, or demons.
huh? works instantly on Fedora 11
$ rpm -qf /sbin/cryptsetup
cryptsetup-luks-1.0.6-7.fc11.x86_64
>
> We should really not add all the network modules to the initramfs, at least for
> testing. Doing so really bloats things.
>
> Anyways, I am throwing this out there for discussion and ideas on better
> ways of fixing these warts.
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] Final fixups to make the full testsuite work.
[not found] ` <4A1BB5DE.3090206-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2009-05-26 12:15 ` Victor Lowther
[not found] ` <1243340142.4005.8.camel-76q0VzFBGGqhmyxYjSZgiRL4W9x8LtSr@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Victor Lowther @ 2009-05-26 12:15 UTC (permalink / raw)
To: Harald Hoyer; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA
On Tue, 2009-05-26 at 11:26 +0200, Harald Hoyer wrote:
> On 05/26/2009 04:57 AM, Victor Lowther wrote:
> > test-10 now completes sucessfully. What has changed:
>
> hmm, it completed sucessfully on Fedora 11 without any problems..
Ah, distro issues. I have been doing all my recent work using Ubuntu
9.04 x86_64.
I suppose that brings up another rather fundamental question -- what
degree of cross-distro compatibility should we be building into dracut
from the beginning? I try to write things so that dracut will work on
anything whose udev rules are reasonably in line with upstream -
everything but Debian, these days
Is anyone besides me testing dracut on something that isn't Fedora?
--
Victor Lowther
RHCE# 805008539634727
LPIC-2# LPI000140019
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] Final fixups to make the full testsuite work.
[not found] ` <1243340142.4005.8.camel-76q0VzFBGGqhmyxYjSZgiRL4W9x8LtSr@public.gmane.org>
@ 2009-05-26 13:27 ` Harald Hoyer
2009-05-29 11:02 ` Seewer Philippe
1 sibling, 0 replies; 5+ messages in thread
From: Harald Hoyer @ 2009-05-26 13:27 UTC (permalink / raw)
To: Victor Lowther; +Cc: initramfs-u79uwXL29TY76Z2rM5mHXA
On 05/26/2009 02:15 PM, Victor Lowther wrote:
> On Tue, 2009-05-26 at 11:26 +0200, Harald Hoyer wrote:
>> On 05/26/2009 04:57 AM, Victor Lowther wrote:
>>> test-10 now completes sucessfully. What has changed:
>> hmm, it completed sucessfully on Fedora 11 without any problems..
>
> Ah, distro issues. I have been doing all my recent work using Ubuntu
> 9.04 x86_64.
>
> I suppose that brings up another rather fundamental question -- what
> degree of cross-distro compatibility should we be building into dracut
> from the beginning? I try to write things so that dracut will work on
> anything whose udev rules are reasonably in line with upstream -
> everything but Debian, these days
>
> Is anyone besides me testing dracut on something that isn't Fedora?
>
Hmm, we should specify a minimum version requirement for the tools we use. Other
distributions will catch up at some point.
I think we should not write too many workarounds for outdated distributions/tools.
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] Final fixups to make the full testsuite work.
[not found] ` <1243340142.4005.8.camel-76q0VzFBGGqhmyxYjSZgiRL4W9x8LtSr@public.gmane.org>
2009-05-26 13:27 ` Harald Hoyer
@ 2009-05-29 11:02 ` Seewer Philippe
1 sibling, 0 replies; 5+ messages in thread
From: Seewer Philippe @ 2009-05-29 11:02 UTC (permalink / raw)
To: Victor Lowther; +Cc: Harald Hoyer, initramfs-u79uwXL29TY76Z2rM5mHXA
Victor Lowther wrote:
> On Tue, 2009-05-26 at 11:26 +0200, Harald Hoyer wrote:
>> On 05/26/2009 04:57 AM, Victor Lowther wrote:
>>> test-10 now completes sucessfully. What has changed:
>> hmm, it completed sucessfully on Fedora 11 without any problems..
>
> Ah, distro issues. I have been doing all my recent work using Ubuntu
> 9.04 x86_64.
>
> I suppose that brings up another rather fundamental question -- what
> degree of cross-distro compatibility should we be building into dracut
> from the beginning? I try to write things so that dracut will work on
> anything whose udev rules are reasonably in line with upstream -
> everything but Debian, these days
>
> Is anyone besides me testing dracut on something that isn't Fedora?
Yes me! Currently that's Ubuntu 9.04 && Debian 5.0
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-05-29 11:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-26 2:57 [PATCH 1/1] Final fixups to make the full testsuite work Victor Lowther
[not found] ` <151d32e89583815962af8d721b17d0b320f80a2f.1243306326.git.victor.lowther-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2009-05-26 9:26 ` Harald Hoyer
[not found] ` <4A1BB5DE.3090206-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2009-05-26 12:15 ` Victor Lowther
[not found] ` <1243340142.4005.8.camel-76q0VzFBGGqhmyxYjSZgiRL4W9x8LtSr@public.gmane.org>
2009-05-26 13:27 ` Harald Hoyer
2009-05-29 11:02 ` Seewer Philippe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox