1FEBOOTSTRAP-SUPERMIN-HELPER(8V)irtualization SupporFtEBOOTSTRAP-SUPERMIN-HELPER(8)
2
3
4
6 febootstrap-supermin-helper - Reconstruct initramfs from supermin
7 appliance.
8
10 febootstrap-supermin-helper supermin.img hostfiles.txt host_cpu kernel initrd
11 febootstrap-supermin-helper input [...] host_cpu kernel initrd
12
13 febootstrap-supermin-helper -f ext2 input [...] host_cpu kernel initrd appliance
14
15 febootstrap-supermin-helper -f checksum input [...] host_cpu
16
18 febootstrap-supermin-helper reconstructs a bootable kernel and
19 initramfs from a supermin appliance. First you should be familiar with
20 febootstrap(8).
21
23 Of the required parameters, the first few are input files, and the last
24 two or three are output files.
25
26 "supermin.img" and "hostfiles.txt" are the input files which describe
27 the supermin appliance. (You can also use a directory name here which
28 is searched for files).
29
30 "host_cpu" should be the host CPU, eg. "x86_64" or "i686".
31
32 "kernel", "initrd" and "appliance" are the temporary output files that
33 this script produces. These output files are meant to be used just for
34 booting the appliance, and should be deleted straight afterwards. The
35 extra "appliance" parameter is only required when the format is "ext2".
36 None of these parameters are needed for the checksum output "-f
37 checksum".
38
40 -f fmt
41 --format fmt
42 Select the output format for the appliance. Possible formats are:
43
44 cpio
45 A Linux initramfs. This is the default.
46
47 In this case you have to supply names for the "kernel" and
48 "initrd", where the "initrd" is the appliance.
49
50 ext2
51 An ext2 filesystem.
52
53 In this case you have to supply names for the "kernel", a small
54 "initrd" which is used just to locate the appliance, and the
55 "appliance" (the ext2 filesystem).
56
57 checksum
58 Output a checksum.
59
60 This prints a checksum which only changes when one of the input
61 files changes.
62
63 You can use this in order to cache the output of a previous run
64 of this program: computing the checksum is much quicker than
65 building an appliance, and you only need to invalidate the
66 cache (and consequently rebuild the appliance) when the
67 checksum changes. Note that the host_cpu and the UID of the
68 current user are included in the checksum.
69
70 --copy-kernel
71 Copy the kernel instead of symlinking to the kernel in "/boot".
72
73 This is fractionally slower, but is necessary if you want to change
74 the permissions or SELinux label on the kernel.
75
76 -k file
77 --kmods file
78 If this option is specified, then "file" should be a list of
79 wildcards matching kernel module names, eg:
80
81 virtio*.ko
82 scsi*.ko
83 piix.ko
84
85 In this case, only kernel modules matching those wildcards will be
86 included in the output appliance. Note: You must resolve any
87 dependencies yourself as this does not pull in dependent modules
88 automatically.
89
90 If this option is not specified, then every kernel module from the
91 host will be included. This is safer, but can produce rather large
92 appliances which need a lot more memory to boot.
93
94 -u user
95 --user user
96 -g group
97 --group group
98 Run febootstrap-supermin-helper as an alternate user and/or group.
99 "user" and "group" can be specified as either a name, which will be
100 resolved using the system name service, or a uid/gid. Use of these
101 options requires root privileges.
102
103 Use of these options is required if running febootstrap-supermin-
104 helper as root with the effective uid/gid set to non-root. Bash
105 will reset the effective uid/gid to the real uid/gid when invoked.
106 As febootstrap-supermin-helper uses bash in parts, this will result
107 in the creation of an appliance with a mixture of ownerships.
108
110 In libguestfs, on a mid-range Intel-based PC, we reconstruct the
111 initramfs using this script in around 1/5th of a second (assuming a
112 "hot cache" - it's rather slower when run the first time on a cold
113 cache).
114
115 Some tips to improve performance:
116
117 · Use a kernel module whitelist (the "--kmods" option), and only list
118 the kernel modules you really need.
119
120 · Minimize the appliance, removing as much extraneous junk as
121 possible.
122
124 FEBOOTSTRAP_KERNEL
125 If this environment variable is set, then automatic selection of
126 the kernel is bypassed and this kernel is used.
127
128 The environment variable should point to a kernel file, eg.
129 "/boot/vmlinuz-3.0.x86_64"
130
131 The corresponding module path is guessed from the kernel name, but
132 you can override that by setting "FEBOOTSTRAP_MODULES".
133
134 FEBOOTSTRAP_MODULES
135 If "FEBOOTSTRAP_KERNEL" and "FEBOOTSTRAP_MODULES" are both set,
136 then automatic selection of the kernel is bypassed and the kernel
137 and module path are set to these values.
138
139 The environment variable should point to a module directory, eg.
140 "/lib/modules/3.0.x86_64/"
141
142 This has no effect if "FEBOOTSTRAP_KERNEL" is not set.
143
145 febootstrap(8).
146
148 Richard W.M. Jones <rjones @ redhat . com>
149
151 (C) Copyright 2009-2011 Red Hat Inc.,
152 <http://people.redhat.com/~rjones/febootstrap>.
153
154 This program is free software; you can redistribute it and/or modify it
155 under the terms of the GNU General Public License as published by the
156 Free Software Foundation; either version 2 of the License, or (at your
157 option) any later version.
158
159 This program is distributed in the hope that it will be useful, but
160 WITHOUT ANY WARRANTY; without even the implied warranty of
161 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
162 General Public License for more details.
163
164 You should have received a copy of the GNU General Public License along
165 with this program; if not, write to the Free Software Foundation, Inc.,
166 675 Mass Ave, Cambridge, MA 02139, USA.
167
168
169
170febootstrap-3.20 2012-12-03 FEBOOTSTRAP-SUPERMIN-HELPER(8)