examples: Add virt-dhcp-address program.
[libguestfs.git] / generator / generator_prepopts.ml
1 (* libguestfs
2  * Copyright (C) 2009-2010 Red Hat Inc.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  *)
18
19 (* Please read generator/README first. *)
20
21 type optargs = (string * string * string) list
22
23 type prepopt = string * string * optargs * string
24
25 (* Used for the guestfish -N (prepared disk images) option.
26  * Note that the longdescs are indented by 2 spaces.
27  *)
28 let prepopts = [
29   ("disk",
30    "create a blank disk",
31    [ "size", "100M", "the size of the disk image" ],
32    "  Create a blank disk, size 100MB (by default).
33
34   The default size can be changed by supplying an optional parameter.");
35
36   ("part",
37    "create a partitioned disk",
38    [ "size", "100M", "the size of the disk image";
39      "partition", "mbr", "partition table type" ],
40    "  Create a disk with a single partition.  By default the size of the disk
41   is 100MB (the available space in the partition will be a tiny bit smaller)
42   and the partition table will be MBR (old DOS-style).
43
44   These defaults can be changed by supplying optional parameters.");
45
46   ("fs",
47    "create a filesystem",
48    [ "filesystem", "ext2", "the type of filesystem to use";
49      "size", "100M", "the size of the disk image";
50      "partition", "mbr", "partition table type" ],
51    "  Create a disk with a single partition, with the partition containing
52   an empty filesystem.  This defaults to creating a 100MB disk (the available
53   space in the filesystem will be a tiny bit smaller) with an MBR (old
54   DOS-style) partition table and an ext2 filesystem.
55
56   These defaults can be changed by supplying optional parameters.");
57
58   ("lv",
59    "create a disk with logical volume",
60    [ "name", "/dev/VG/LV", "the name of the VG and LV to use";
61      "size", "100M", "the size of the disk image";
62      "partition", "mbr", "partition table type" ],
63    "  Create a disk with a single partition, set up the partition as an
64   LVM2 physical volume, and place a volume group and logical volume
65   on there.  This defaults to creating a 100MB disk with the VG and
66   LV called /dev/VG/LV.  You can change the name of the VG and LV
67   by supplying an alternate name as the first optional parameter.
68
69   Note this does not create a filesystem.  Use 'lvfs' to do that.");
70
71   ("lvfs",
72    "create a disk with logical volume and filesystem",
73    [ "name", "/dev/VG/LV", "the name of the VG and LV to use";
74      "filesystem", "ext2", "the type of filesystem to use";
75      "size", "100M", "the size of the disk image";
76      "partition", "mbr", "partition table type" ],
77    "  Create a disk with a single partition, set up the partition as an
78   LVM2 physical volume, and place a volume group and logical volume
79   on there.  Then format the LV with a filesystem.  This defaults to
80   creating a 100MB disk with the VG and LV called /dev/VG/LV, with an
81   ext2 filesystem.");
82
83   ("bootroot",
84    "create a boot and root filesystem",
85    [ "bootfs", "ext2", "the type of filesystem to use for boot";
86      "rootfs", "ext2", "the type of filesystem to use for root";
87      "size", "100M", "the size of the disk image";
88      "bootsize", "32M", "the size of the boot filesystem";
89      "partition", "mbr", "partition table type" ],
90    "  Create a disk with two partitions, for boot and root filesystem.
91   Format the two filesystems independently.  There are several optional
92   parameters which control the exact layout and filesystem types.");
93
94   ("bootrootlv",
95    "create a boot and root filesystem using LVM",
96    [ "name", "/dev/VG/LV", "the name of the VG and LV for root";
97      "bootfs", "ext2", "the type of filesystem to use for boot";
98      "rootfs", "ext2", "the type of filesystem to use for root";
99      "size", "100M", "the size of the disk image";
100      "bootsize", "32M", "the size of the boot filesystem";
101      "partition", "mbr", "partition table type" ],
102    "  This is the same as 'bootroot' but the root filesystem (only) is
103   placed on a logical volume, named by default '/dev/VG/LV'.  There are
104   several optional parameters which control the exact layout.");
105 ]