* Richard W.M. Jones:
I forgot an important one:
- Mustn't require root.
This was on my list, of course. But never mind, I am already less enthusiastic about the idea. What initramfs-tools puts into the initrd is tied to what is installed on the host system. One would need to maintain a list of what essentials need to be included in the initrd and clean out everything else.
dracut basically requires root for everything.
Does it? I didn't run into _that_ problem. There is a dracut package in Debian/unstable, but it hasn't been kept up-to-date and it wouldn't build an initrd for me because it didn't find some files installed in the system. There seems to be more that needs to be straightened out first. For the moment, I lean towards using febootstrap from your git repository plus the attached patch to helper/init.c and uploading that to Debian. When somebody comes up with a solution for using dracut, initramfs-tools or whatever for building febootstrap's initrd, the binary /init can still be replaced. I'll certainly keep this in mind as a goal, but right now I'd rather put efforts to libguestfs packages.
We used to use fakeroot/fakechroot in febootstrap 2.x, and it was a world of pain.
What kinds of pain? fakeroot is used to build Debian packages all the time. -Hilko