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