On Sun, Nov 16, 2014 at 12:21:37PM +1100, wraeth wrote:
> On Fri, Nov 14, 2014 at 07:43:18PM +0100, Michael Mair-Keimberger wrote:
> > Basically my changes in my grub config were already correct, however I
> > completely forgot, that, since I wrote my own init script, arg's like
> > "root" and "init" simply weren't used by my script...
> > If you look at my script, I only check the cmdline for "lvm", so
> > setting "init" or "root" haven't any effect at all :D
> 
> Glad you got this part of it sorted! I know how both relieving and
> frustrating it can be to find such a simple thing as the solution - it
> took me two weeks to realise I was calling 'mpc' and not 'mpd' in my
> startup script, explaining why MPD was never running... :-/
> 

Thanks!
Yeah, it can be really frustration, but it's worth the relieving feeling
when you found the bug :)

> > Regarding dracut: Even though I got it to work, it also just bootet
> > openrc and not systemd. Don't know why and I didn't digged further after
> > it worked with my own script.
> 
> You could try inspecting dmesg to try and determine why it isn't loading
> your chosen init. It could be something as simple as a typo, or if the
> filesystem (if you have /usr on a separate partition) isn't available at
> the time it's trying to launch init.

Pretty sure! However, honestly I didn't look further into dracut for now
(maybe another day - if I want to know how they work with lvm). BTW,
with `dracut --print-cmdline` it prints you an example grub entry for
your system, however it's doesn't set "init" and I think (otherwise I
guess it would have work here) as long as you didn't already boot into 
systemd it wouldn't use it too...

> 
> > Regarding LVM:
> > As mentioned systemd can't mount my lvm partitions from fstab. Those lvm
> > partitions should be mounted by UUID, but it seems like systemd can't
> > find them, even though there are available afterwards (under
> > /dev/vg0/...).
> 
> I've found dracut initrd's can be a little finicky with LVM volumes.
> With that in mind, here's the kernel cmdline for one of my systems wich
> uses LUKS->LVM->EXT4 for it's root partition. Note that it has explicit
> arguments for *all* LV's and not just root.
> 
>   BOOT_IMAGE=/vmlinuz-3.17.1-gentoo-r1 root=/dev/mapper/vg1-root ro
>   rd.luks.uuid=luks-3f93b8aa-cf8b-4312-85d6-d45cffa59780
>   rd.lvm.lv=vg1/swap rd.lvm.lv=vg1/root resume=/dev/mapper/vg1-swap
>   rootflags=rw,noatime,data=ordered rootfstype=ext4 quiet
> 
Thanks for sharing.
From dracut's manual (man dracut.cmdline), rd.lvm.lv only activates
given logical volumes, which should be the same like `vgchange -a y`
(however i didn't look what exactly dracut does here).
Since I'm already doing `vgchange -a y` in my init script, these logical
volumes should be available for systemd.
I've also checked for systemd's lvm service (lvm2-lvmetad.service) to
make sure it's enabled and starts on boot, but it didn't changed
anything.

However, for now I just read-only mount these lv's directly via my init
script and remount them write-able via /etc/local.d/*.start
script's (glad to see systemd can make use of these scripts :) )

> > If I comment them out in /etc/fstab (they are not important) systemd
> > boots just fine. I've also set "use_lvmetad = 1" in /etc/lvm/lvm.conf as
> > mentioned at the systemd wiki.
> 
> This is a dracut-ism, in that if a static filesystem (as denoted by it's
> presence in /etc/fstab) is unmountable, it will assume there are
> problems and will drop to recovery. The idea of recovery is to identify
> your root partition with a symlink to the device node, after which you
> *should* be able to continue.
> 
>   ln -s /dev/<root_device> /dev/root
> 
> See [1] for more. That being said, it may continue to drop to recovery -
> I've found the dracut recovery console to be a little temperamental with
> things like that...
> 
> [1]: http://fedoraproject.org/wiki/How_to_debug_Dracut_problems

Hmm, not sure about that. I think you misunderstood me ;)
I wasn't drop into dracut's (or in this case in my initramfs) rescue
shell (if you meant that). I was drop into systemd maintaince mode,
which means after it couldn't mount these other lv's it stops all
services, keep / read only and ask for the root password. Done that I
was still able to remount / and all other partitions...
It seems like fstab's static filesystem are mandatory for systemd ;)
> 
> Cheers;
> -- 
> wraeth <wra...@wraeth.id.au>
> GnuPG Key: B2D9F759

-- 
greetings
Michael Mair-Keimberger

Attachment: signature.asc
Description: Digital signature

Reply via email to