1libguestfs-make-fixed-applianVcier(t1u)alization Sulpipbogrutestfs-make-fixed-appliance(1)
2
3
4
6 libguestfs-make-fixed-appliance - Make a "fixed appliance" for
7 libguestfs
8
10 libguestfs-make-fixed-appliance [--options] OUTPUTDIR
11
12 libguestfs-make-fixed-appliance [--options] --xz
13
15 libguestfs-make-fixed-appliance lets you make a pre-built binary
16 appliance for libguestfs.
17
18 Note that ordinary users should not need to run this tool.
19
20 Some reasons why you might want to use this include:
21
22 · You want to make a self-contained libguestfs appliance that can be
23 copied to another machine or platform that doesn't support
24 supermin(8).
25
26 · You have multiple users on the same machine and want to avoid the
27 storage duplication and start-up overhead of having multiple cached
28 copies of the appliance.
29
30 · You want to have very predictable performance from libguestfs (see
31 guestfs-performance(1)).
32
33 For deeper understanding of why you might need this tool, read the
34 section "FIXED APPLIANCE" below.
35
36 Instead of running this tool, you can download fixed appliances from
37 http://libguestfs.org/download/binaries/appliance/. These appliances
38 were made using this tool.
39
40 There are two ways to use this tool.
41
42 · Specify an output directory, for example:
43
44 libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance
45
46 The output directory is created if it does not exist. Four files
47 are created in this directory:
48
49 <OUTPUTDIR>/kernel
50 <OUTPUTDIR>/initrd
51 <OUTPUTDIR>/root
52 <OUTPUTDIR>/README.fixed
53
54 Note that "OUTPUTDIR/root" is a sparse file, so take care when
55 copying it.
56
57 You can then run libguestfs (possibly after copying this directory
58 to another machine) by setting the environment variable
59 LIBGUESTFS_PATH to "OUTPUTDIR".
60
61 · The alternative method is to use the --xz option to create a
62 compressed tarball:
63
64 libguestfs-make-fixed-appliance --xz
65
66 This creates a tarball in the current directory called:
67
68 appliance-<VERSION>.tar.xz
69
70 (where "VERSION" is the version of libguestfs). The tarball
71 contains the four files:
72
73 appliance/kernel
74 appliance/initrd
75 appliance/root
76 appliance/README.fixed
77
78 Note that "appliance/root" is a sparse file, so take care when
79 copying it.
80
82 --help
83 Display short usage information and exit.
84
85 -V
86 --version
87 Display the version number and exit.
88
89 --xz
90 Instead of creating the appliance in an output directory, create a
91 compressed tarball of the appliance in the current directory called
92 "appliance-VERSION.tar.xz" where "VERSION" is the version of
93 libguestfs.
94
95 Using --xz can take some time. If working normally, the tool is
96 completely silent when it is running.
97
99 When libguestfs (or libguestfs tools) are run, they search a path
100 looking for an appliance. The path is built into libguestfs, or can be
101 set using the "LIBGUESTFS_PATH" environment variable.
102
103 Normally a supermin appliance is located on this path (see "SUPERMIN
104 APPLIANCE" in supermin(8)). libguestfs reconstructs this into a full
105 appliance by running supermin-helper(8).
106
107 However, a simpler "fixed appliance" can also be used. libguestfs
108 detects this by looking for a directory on the path containing four
109 files called "kernel", "initrd", "root" and "README.fixed" (note the
110 "README.fixed" file must be present as well).
111
112 If the fixed appliance is found, libguestfs skips supermin entirely and
113 just runs qemu with the kernel, initrd and root disk from the fixed
114 appliance.
115
116 Thus the fixed appliance can be used when a platform or Linux distro
117 does not support supermin. You build the fixed appliance on a platform
118 that does support supermin, and copy it over, and use that to run
119 libguestfs.
120
122 The fixed appliance is a complete Linux binary distro. If you
123 distribute it, you may need to distribute corresponding source files to
124 remain in legal compliance with the licenses of the software in the
125 appliance (such as the GNU General Public License).
126
128 libguestfs-make-fixed-appliance returns 0 if the appliance was built
129 without errors.
130
132 For the full list of environment variables which may affect libguestfs,
133 please see the guestfs(3) manual page.
134
136 guestfs(3), supermin(8), supermin-helper(8), xz(1),
137 http://libguestfs.org/, http://qemu.org/.
138
140 Richard W.M. Jones ("rjones at redhat dot com")
141
143 Copyright (C) 2009-2013 Red Hat Inc.
144
146 This program is free software; you can redistribute it and/or modify it
147 under the terms of the GNU General Public License as published by the
148 Free Software Foundation; either version 2 of the License, or (at your
149 option) any later version.
150
151 This program is distributed in the hope that it will be useful, but
152 WITHOUT ANY WARRANTY; without even the implied warranty of
153 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
154 General Public License for more details.
155
156 You should have received a copy of the GNU General Public License along
157 with this program; if not, write to the Free Software Foundation, Inc.,
158 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
159
161 To get a list of bugs against libguestfs, use this link:
162 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
163
164 To report a new bug against libguestfs, use this link:
165 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
166
167 When reporting a bug, please supply:
168
169 · The version of libguestfs.
170
171 · Where you got libguestfs (eg. which Linux distro, compiled from
172 source, etc)
173
174 · Describe the bug accurately and give a way to reproduce it.
175
176 · Run libguestfs-test-tool(1) and paste the complete, unedited output
177 into the bug report.
178
179
180
181libguestfs-1.20.11 2013-08-27libguestfs-make-fixed-appliance(1)