David W Noon writes: > On Fri, 9 Sep 2011 13:41:07 +0200, Alex Schuster wrote about Re: > [gentoo-user] /dev/sda* missing at boot: > > > David W Noon writes: > > > > > The more I think about this merge of / and /usr, the dumber I think > > > the idea is. As I wrote in an earlier message on this list, the > > > initramfs will be many times larger than the kernel itself. > > > Indeed, my /boot partition is only 32 MiB, and that will be too > > > small to contain all the extra libraries and programs to run the > > > initramfs script. > > > > Here, I only need 2.2 M for the kernel, 1.7 M for System.map, and 3.5 > > M for the initramfs. > > My kernels are even smaller than yours: around 1.8MiB; and I have no > initramfs at all -- currently. > > The problem is the initramfs will bloat out significantly once large > run-time libraries are required for early housekeeping, such as fsck > for various types of filesystem. In particular, the old e2fsck.static > program has been dropped from e2fspprogs (about 3 years ago) and we now > have the following: > > dwn@karnak ~ % ldd /sbin/e2fsck > linux-gate.so.1 => (0xb7832000) > libext2fs.so.2 => /lib/libext2fs.so.2 (0xb77c1000) > libcom_err.so.2 => /lib/libcom_err.so.2 (0xb77bd000) > libblkid.so.1 => /lib/libblkid.so.1 (0xb7798000) > libuuid.so.1 => /lib/libuuid.so.1 (0xb7793000) > libe2p.so.2 => /lib/libe2p.so.2 (0xb778b000) > libc.so.6 => /lib/libc.so.6 (0xb7604000) > libpthread.so.0 => /lib/libpthread.so.0 (0xb75ea000) > /lib/ld-linux.so.2 (0xb7833000) > > As you can see, the fsck utility for ext2/3/4 filesystems requires > glibc and libpthread, as well as its smaller custom libraries. Putting > all the run-time libraries into the initramfs will make it both large > and a maintenance chore.
Okay, it seems I very much underestimated the problems. In my case, I only need the initramfs in order to scan for logical volumes and to open the luks-encrypted root partition. Other partitions are mounted _after_ the initramfs was left. With the UDEV change, /usr needs to be mounted from _inside_ the initramfs. So you're right, much more stuff is being needed. The above libraries and the e2fsck binary total to 2.3 M here. The initramfs is gzipped, so we have 1 M. Still not _that_ much, but I don't know what else might be needed. And something must put it into the initramfs... I assume genkernel will get this feature? Surely the Gentoo devs won't expect us users to do this all by ourselves? > What kind of libraries do you have inside your initramfs? I have no idea... but I can have a look. Ah - none at all. /lib contains a directory with all sorts of keymaps, an empty luks directory, and some 56 kernel modules. Wonko