On Wed, Nov 12, 2014 at 12:03:04PM +1100, wraeth@wraeth.id.au wrote: > On Tue, Nov 11, 2014 at 09:56:09PM +0100, Michael Mair-Keimberger wrote: > > Today I've started to play around with systemd but so far I couldn't get > > it to boot. I've followed the how to from the gentoo wiki [1], but I > > stuck somehow. > > I found systemd to be rather tricky to implement on some of my systems, > but this was a while ago and was in a more complex configuration that > you're using (though as most people are suggesting, I used dracut to > generate my initrd). > > I would also suggest to use either dracut or genkernel-next to generate > an initramfs if you wanted to go down that path. Note that > sys-kernel/genkernel (as opposed to sys-kernel/genkernel-next) can have > issues with systemd (the last time I tried it it complained about > systemd and suggested using genkernel-next). > > If you would prefer a hand-rolled one, I can't offer much, but as I > think has already been suggested, one key point is to call the correct > binary. > > The systemd binary itself is /usr/lib/systemd/systemd, though calling > /sbin/init may work if that's configured in such a way as to launch > systemd. > Thanks for the detailed explanation. I wasn't specific enough on the genkernel part. I already used genkernel-next for generating the initramfs (which doesn't boot). However i'll give dracut a try, I guess if it works i still can extract dracut's initramfs and see what exaclty it does in order to boot with systemd. Maybe i could adopt that to my custom one as well. > The other point I might add is that my system, which uses dracut, has > systemd launched with some specific arguments: > > ps -fp 1 > UID PID PPID C STIME TTY TIME CMD > root 1 0 0 11:31 ? 00:00:00 > /usr/lib/systemd/systemd --switched-root --system --deserialize 18 > > This may be relevant when creating your own initramfs. Thanks, thats something i could try as well :) > > > First of all, with systemd installed I can't install lvm2 with the > > static use flag anymore, which is mandatory for being able using it for > > a initramfs. Why isn't that possible? How can I use the lvm binaries for > > my initramfs? > > Again, as I think has been mentioned, the 'static' use flag is typically > a shortcut for easily building an initrd. Provided you include all the > dependencies of a given binary (as seen with `ldd /path/to/binary`) you > don't need static binaries. Yeah, now i was digging a bit further into static binaries. If I insert the relevant libaries it should work too. :) However i was wondering why lvm2 shouldn't be able to build with the static flag on systemd. However that's not important any more, i'm just curious :) > > > This lead me to my second question. At the wiki, the only way to create > > an initramfs for systemd was with genkernel (genkernel --udev --lvm). > > While the command itself is pretty useless (it's `genkernel --udev --lvm > > initramfs` if you want to create the initramfs -> is this a bug??) i > > also would like to use my own initramfs. > > I'm not sure what you mean by the command is useless and is a bug. > Genkernel has multiple potential targets - 'all' for building the kernel > and initrams, 'kernel' for the kernel binary and modules, 'initramfs' > for just the initramfs image, etc. This command should generate an > initramfs with the required components for systemd, udev and lvm. Well, at the wiki it's written you should run: genkernel --udev --lvm in order to generate the initramfs. But, you already mentioned it, you need a target in order generate anything, but it isn't mentioned at the wiki. As i'm not familar with genkernel i was a bit confused about the command. I would suggest following for example: genkernel --udev --lvm [target] > > Hopefully some of this will help clear things up a little. Yes, of course. Many thanks :) > > Cheers. > -- > wraeth > GnuPG Key: B2D9F759 -- greetings Michael Mair-Keimberger