Pull in febootstrap-supermin-helper (C version) from libguestfs.
[febootstrap.git] / febootstrap-supermin-helper.pod
1 =head1 NAME
2
3 febootstrap-supermin-helper - Reconstruct initramfs from supermin appliance.
4
5 =head1 SYNOPSIS
6
7  febootstrap-supermin-helper supermin.img hostfiles.txt host_cpu kernel initrd
8  febootstrap-supermin-helper input [...] host_cpu kernel initrd
9
10 =head1 DESCRIPTION
11
12 I<febootstrap-supermin-helper> reconstructs a bootable kernel and
13 initramfs from a supermin appliance.  First you should be familiar
14 with L<febootstrap(8)>, L<febootstrap-to-initramfs(8)> and
15 L<febootstrap-to-supermin(8)>.
16
17 =head1 PARAMETERS
18
19 Of the four or five required parameters, the first few are I<input>
20 files, and the last two are I<output> files.
21
22 C<supermin.img> and C<hostfiles.txt> are the input files which
23 describe the supermin appliance.  (You can also use a directory name
24 here which is searched for files).
25
26 C<host_cpu> should be the host CPU, eg. C<x86_64> or C<i686>.
27
28 C<kernel> and C<initrd> are the temporary output files that this
29 script produces.  These output files are meant to be used just for
30 booting the appliance, and should be deleted straight afterwards.
31
32 =head1 OPTIONS
33
34 =over 4
35
36 =item B<-k file> | B<--kmods file>
37
38 If this option is specified, then C<file> should be a list of
39 wildcards matching kernel module names, eg:
40
41  virtio*.ko
42  scsi*.ko
43  piix.ko
44
45 In this case, only kernel modules matching those wildcards will be
46 included in the output appliance.  Note: You must resolve any
47 dependencies yourself as this does not pull in dependent modules
48 automatically.
49
50 If this option is not specified, then every kernel module from the
51 host will be included.  This is safer, but can produce rather large
52 appliances which need a lot more memory to boot.
53
54 =back
55
56 =head1 SPEED
57
58 In libguestfs, on a mid-range Intel-based PC, we reconstruct the
59 initramfs using this script in around 1/5th of a second (assuming a
60 "hot cache" - it's rather slower when run the first time on a cold
61 cache).
62
63 Some tips to improve performance:
64
65 =over 4
66
67 =item *
68
69 Use a kernel module whitelist (the C<--kmods> option), and only
70 list the kernel modules you really need.
71
72 =item *
73
74 Minimize the appliance, removing as much extraneous junk as possible.
75
76 As well as using L<febootstrap-minimize(8)> it is worth checking for
77 anything that is not necessary for your particular application and
78 removing it by hand.
79
80 =back
81
82 =head1 SEE ALSO
83
84 L<febootstrap(8)>,
85 L<febootstrap-to-initramfs(8)>,
86 L<febootstrap-to-supermin(8)>.
87
88 =head1 AUTHORS
89
90 Richard W.M. Jones <rjones @ redhat . com>
91
92 =head1 COPYRIGHT
93
94 (C) Copyright 2009-2010 Red Hat Inc.,
95 L<http://people.redhat.com/~rjones/febootstrap>.
96
97 This program is free software; you can redistribute it and/or modify
98 it under the terms of the GNU General Public License as published by
99 the Free Software Foundation; either version 2 of the License, or
100 (at your option) any later version.
101
102 This program is distributed in the hope that it will be useful,
103 but WITHOUT ANY WARRANTY; without even the implied warranty of
104 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
105 GNU General Public License for more details.
106
107 You should have received a copy of the GNU General Public License
108 along with this program; if not, write to the Free Software
109 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.