On Tue, Mar 17, 2015 at 5:07 PM, Dale <[email protected]> wrote: > Alan McKinnon wrote: >> You are reading it wrong. That means: >> util-linux needs to be built with USE="static-libs" >> because >> lvm2 is already built with USE="static" >> >> None of which explains why you originally built lvm2 that way. > > It was because emerge told me it needed it for some reason. It is very > rare that I just put something in package.use on my own.
This was probably required by some script for mounting /usr or by some initramfs you were using before you switched to dracut. Dracut is pretty advanced by initramfs standards. It handles dynamic linking just fine (bundling libraries/etc as needed). Simpler initramfs tools and such don't, and to make things easier there is a tendency to build anything needed to mount root/usr static so that it is certain to run correctly. You can look inside an initramfs by doing the following: mkdir /tmp/ext cd /tmp/ext zcat /boot/initramfs-3.18.9-gentoo.img | cpio -i find usr find lib64 ... There is quite a bit of dynamic linking going on in a typical dracut initramfs, and quite a bit of stuff installed in /usr it utilizes either to mount root/usr or just for operator convenience (it is nice to be able to use less in an emergency shell, and so on). It is also really easy to tell dracut to add stuff to an initramfs. I tweaked my btrfs module to add btrfstune to the initramfs so that I could easily enable skinny metadata without a boot CD. In some sense, you could think of an initramfs as the rescue CD you always have ready (though I also keep systemrescuecd handy on a USB stick). -- Rich

