Pulling for now seems indeed the best option.  I'm closing the #290145
report with suggested patch; it's obviously not what's needed.

Based on reading of mkinitrd, the extension scripts are invoked as
the very last action in mkinitrd.  LVM is special-cased in the main body;
thus your extension script can't act before the code generated for LVM.

Extending initrd-tools for multipath-tools could be done as follows:

Let multipath-tools depend on dmsetup.  Having a multipath device
causes mkinitrd to invoke dmsetup, and initrd-tools also runs in
environments where everything is on a single IDE disk, so having
the dependency in initrd-tools would needlessly bloat simple desktop
installs.

In mkinitrd, the getroot() function looks at devices and decides how
to make them operational.  For device-mapper devices, it invokes dm(),
which uses `dmsetup table` to determine whether it's a crypt device
or LVM.  This function would need to be extended to recognise multipath.
You then need a function to generate script code for multipath; dmcrypt()
is a good example.  This does the following:

- invoke getroot() on underlying devices
- echo required modules to file descriptor 1
- echo required files to fd 4
- echo required script fragment to fd 5
- echo names of required executables and libraries to fd 6

Regards,
Erik

On Thu, Jan 13, 2005 at 01:59:22PM +0100, Guido Guenther wrote:
> On Wed, Jan 12, 2005 at 11:02:50PM +0100, Erik van Konijnenburg wrote:
> > The cause: multipath adds a script /etc/mkinitrd/scripts/01_udev; this
> > mounts a new /dev and lets udevstart run on it.  This happens after
> > /script is executed, which is where the LVM command "vgchange -a y vg0"
> > is executed to create LVM devices.  Unfortunately, udevstart has no way
> > of creating the /dev/mapper nodes required by LVM, so the root device
> > /dev/mapper/vg0 stays missing.
> Uargh, that is very bad. We should run the multipath stuff before the
> LVM stuff anyway since you most likely want LVM over the multipath (if
> not you're of corse still free to do so). I'll have to have a look at
> the scripts of 0.4.2 to see if we can do this easily. Until then it
> would probably be best to pull the initrd related parts from
> multipath-tools again since they seem to cause quiet some trouble at the
> moment and are "only" needed if your root device is multipathed.
> Cheers,
>  -- Guido


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to