2014-05-12 4:15 GMT-06:00 <cov...@ccs.covici.com>: > How can I do this, genkernel looks for its init before it mounts /usr > and genkernel-next will not mount the separate /usr at all. My latest > initrd is from the very latest genkernel. > > But how to get a complete history of systemd actions in the order that > they are done, I thought the confirm_spawn would do this for me -- at > least for my initial debugging. >
I have had this trouble too, and a very similar setup than you, and after a few workarounds I got to boot with a genkernel and a dracut generated initramfs, so it can be done both ways, but i would recommend dracut, since is more straight forward in practice, and you can setup once and then just generate initramfs that surely will work. The most important part is your kernel boot comand line, giving instructions so your system specific lvm volumes (root, usr and var if separated). mine looks like this "rd.lvm rd.lvm.vg=gentoovg rd.lvm.lv=gentoovg/root rd.lvm.lv=gentoovg/usr root=/dev/mapper/gentoovg-root ccinit=/usr/lib/systemd/systemd quiet" A little too long in my opinion, but works, and the rd.lvm.lv parts result redundant if rd.lvm.vg is already set, i think, it worked when I tested, but I kept the redundancy just in case. this can be setup in sevaral ways, directly when compiling the kernel, using dracut the config file, or the bootloader, I used dracut since I wanted to centralize the boot process configuration as much as possible. Also be sure that the lvm binaries are included in the initramfs, if you will be using dracut you would need to add to /etc/dracut.conf: use_fstab="yes" host_cmdline="yes" kernel_cmdline="your_cmd_line"