diff --git a/appliance/libguestfs-make-fixed-appliance.pod b/appliance/libguestfs-make-fixed-appliance.pod index 9807f800f..99c55faf0 100644 --- a/appliance/libguestfs-make-fixed-appliance.pod +++ b/appliance/libguestfs-make-fixed-appliance.pod @@ -38,8 +38,8 @@ L). =back -For deeper understanding of why you might need this tool, read the -section L below. +For deeper understanding of why you might need this tool, read +L. Instead of running this tool, you can download fixed appliances from L. These @@ -120,30 +120,6 @@ completely silent when it is running. =back -=head1 FIXED APPLIANCE - -When libguestfs (or libguestfs tools) are run, they search a path -looking for an appliance. The path is built into libguestfs, or can -be set using the C environment variable. - -Normally a supermin appliance is located on this path (see -L). libguestfs reconstructs this -into a full appliance by running C. - -However, a simpler "fixed appliance" can also be used. libguestfs -detects this by looking for a directory on the path containing four -files called F, F, F and F (note -the F file must be present as well). - -If the fixed appliance is found, libguestfs skips supermin entirely -and just runs qemu with the kernel, initrd and root disk from the -fixed appliance. - -Thus the fixed appliance can be used when a platform or Linux distro -does not support supermin. You build the fixed appliance on a -platform that does support supermin, and copy it over, and use that -to run libguestfs. - =head1 LICENSING The fixed appliance is a complete Linux binary distro. If you diff --git a/examples/guestfs-faq.pod b/examples/guestfs-faq.pod index 8d52ab2ba..bc54c542e 100644 --- a/examples/guestfs-faq.pod +++ b/examples/guestfs-faq.pod @@ -431,7 +431,16 @@ enough supermin installed, then see the previous question. If supermin 5 doesn't support your distro at all, you will need to use the "fixed appliance method" where you use a pre-compiled binary -appliance. See: L +appliance. To build libguestfs without supermin, you need to pass +C<--disable-appliance --disable-daemon> to either F<./autogen.sh> or +F<./configure> (depending whether you are building respectively from +git or from tarballs). Then, when using libguestfs, you B set +the C environment variable to the directory of a +pre-compiled appliance, as also described in +L. + +For pre-compiled appliances, see also: +L. Patches to port supermin to more Linux distros are welcome. diff --git a/src/guestfs.pod b/src/guestfs.pod index 5ceef9294..6cdf91f1b 100644 --- a/src/guestfs.pod +++ b/src/guestfs.pod @@ -3795,6 +3795,43 @@ The daemon self-limits the frequency of progress messages it sends (see C). Not all calls generate progress messages. +=head2 FIXED APPLIANCE + +When libguestfs (or libguestfs tools) are run, they search a path +looking for an appliance. The path is built into libguestfs, or can +be set using the C environment variable. + +Normally a supermin appliance is located on this path (see +L). libguestfs reconstructs this +into a full appliance by running C. + +However, a simpler "fixed appliance" can also be used. libguestfs +detects this by looking for a directory on the path containing all +the following files: + +=over 4 + +=item * F + +=item * F + +=item * F + +=item * F (note that it B be present as well) + +=back + +If the fixed appliance is found, libguestfs skips supermin entirely +and just runs the virtual machine (using qemu or the current backend, +see L) with the kernel, initrd and root disk from the fixed +appliance. + +Thus the fixed appliance can be used when a platform or a Linux +distribution does not support supermin. You build the fixed appliance +on a platform that does support supermin using +L, copy it over, and use that +to run libguestfs. + =head1 LIBGUESTFS VERSION NUMBERS Since April 2010, libguestfs has started to make separate development