On Sun, Jan 16, 2005 at 05:40:42PM +0100, Erik van Konijnenburg wrote:
> 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:
I think I agree with Christoph here. Let's have a variable in
mkinitrd.conf that triggers installation of the multipath parts into the
initrd and better spend our time into integration of udev into the
initrd, everything will fall into place nicely afterwards.
Cheers,
 -- Guido
> 
> 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