On Tue, Mar 27, 2012 at 10:24 PM, Mike Edenfield <kut...@kutulu.org> wrote: >> From: Alan Mackenzie [mailto:a...@muc.de] >> >> Hi, Alan. >> >> On Tue, Mar 27, 2012 at 11:48:19PM +0200, Alan McKinnon wrote: >> > On Tue, 27 Mar 2012 21:24:22 +0000 >> > Alan Mackenzie <a...@muc.de> wrote: >> >> > > That is precisely what the question was NOT about. The idea was to >> > > copy (not move) booting software to /sbin instead of an initramfs - >> > > the exact same programs, modulo noise - to have the SW in /sbin >> > > necessary to mount /usr. >> >> > Two words: >> >> > shared libraries >> >> > Copying binaries is not enough. You have to find and copy every shared >> > library those binaries use. Plus all the data and other files they >> > might need. >> >> > This is non-trivial. >> >> <silently screams>. It's equally non-trivial for initramfs, yet nobody >> seems to be raising this objection for that. >> >> Why is nobody else on this thread willing to take up its main point, the >> exact equivalence between the known, ugly, initramfs solution and the as >> yet half-baked idea of putting the same binaries into /sbin? > > Well, for one, the initramfs solution is not generally considered "ugly" > except by a select vocal few who object to it on vague, unarticulated > grounds. That notwithstanding: > > The binaries on the initramfs are not always the same as the ones installed > in the system; frequently they are statically linked versions, or > stripped-down versions, or otherwise unsuitable for being used after the > full system is booted. (Dracut, for example, forces you to add > USE=static-libs to a lot of the packages it wants to put into your initramfs > image.) Putting those binaries into the execution path of the system is a > bad idea because you don't always them to run once the system has booted -- > I want the full set of udev rules, not the bare handful that my initramfs > has on it.
I agree with most of what you say; however, I believe you are mistaken about the static nature of the binaries in the initramfs created by dracut. I use dracut with the whole bang (plymouth, systemd, udev, you name it), and I don't have *any* of my packages compiled with "static-libs". Even more, my system right now runs everything with "-static-libs". I like to think (and, unless I missed something, that's in fact the truth) that my initramfs is actually more or less in sync with my running system, and I update it a lot, since it's trivial to do so with dracut. Outside of that, I agree with everything you say. Regards. -- Canek Peláez Valdés Posgrado en Ciencia e Ingeniería de la Computación Universidad Nacional Autónoma de México