I have just set up a Gentoo base system (which means I can boot and log in and do stuff with it now). My root partition is in an LVM2 virtual group (with a separated /boot
partition). In order to boot I need to pass the parameters below to the kernel:
root=/dev/ram0 real_root=/dev/vg/rootlv init=/linuxrc dolvm
Apparently it is using an initial ramdisk to do something (I guess loading the LVM things) before mounting root. Is there a way that I can put this code into the kernel itself so that no initrd is needed? If not, how can I make the initrd myself?
It might be useful to add that I had tried compiling the kernel for non-LVM root, without initrd and it worked perfectly. Then I tried to put the whole thing under LVM and couldn't get the machine to boot (I guess it cannot deal with the LVM stuff). Then I used the genkernel
tool with the --lvm
option and it creates the working kernel and initrd that I am currently using.
Now I want to skip genkernel
and do everything on my own, preferably without initrd so that the machine will boot somewhat faster (I don't need the flexibility anyway).