On Tue, Jun 07, 2011 at 01:29:16AM +0200, Hilko Bengen wrote:
* Richard W.M. Jones:
I would prefer either that we push all this stuff into libguestfs's init script, or (better) that we fix the Debian packages themselves so that any directories, device files etc that they need are listed in the packages already and not in separate scripts. (Fedora is just as culpable about this).
Since not many people seem to be involved and interested in hacking on initrd systems, I think that fixing this in the distributions won't exactly be a short-term effort.
A few short looks at dracut and mkinitcpio (Arch Linux) show that their /init scripts perform essentially the same filesystem mount operations as the /init script from Debian's initramfs-tools described earlier. (I am not surprised.)
In Fedora, the same code is duplicated (with small differences/errors) in at least 3 places: anaconda, mock, the live CD scripts. Plus libguestfs if you want to count that. However this is definitely a bug in Fedora, even if the maintainers won't fix it.
It should be easy to implement this in a few mount(2) calls as part of febootstrap's /init. One could even use #ifdefs to cope with slightly different behavior across distributions.
The problem is that we'll end up with complex conditional C code, when really this is better and easier done in the shell script. The code will also be different for every distro.
I think febootstrap would be more useful when used for other purposes than building a libguestfs appliance. And there is one less possibly distribution-specific detail that needs to be coded into libguestfs.
Agreed. However I still don't think fixing this in febootstrap is the right thing to do. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones New in Fedora 11: Fedora Windows cross-compiler. Compile Windows programs, test, and build Windows installers. Over 70 libraries supprt'd http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw