On Tue, Jun 07, 2011 at 06:57:12PM +0100, Richard W.M. Jones wrote:
On Tue, Jun 07, 2011 at 06:04:42PM +0200, Hilko Bengen wrote:
> * Richard W.M. Jones:
>
> >> 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.
>
> Is a small size the only reason why you have written febootstrap's /init
> in C with as few external dependencies as possible?
>
> Would you accept a patch that would make it possible to use the
> distribution's initrd creation tools (initramfs-tools, dracut,
> mkinitcpio) with febootstrap?
Yes, with a few privisos. I hope you don't think these are too
onerous, but from a libguestfs point of view they are vital:
- It would have to work with Fedora (dracut) and Debian
- It would need to not slow down boot at all. ie.
'time guestfish -a /dev/null run' should not be affected
- It shouldn't make the boot any more risky/buggy than it is
currently. A low bar because our boot is already quite buggy,
but let's not make things worse ...
I forgot an important one:
- Mustn't require root.
dracut basically requires root for everything. We used to use
fakeroot/fakechroot in febootstrap 2.x, and it was a world of pain.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming blog:
http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora