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

Reply via email to