summaryrefslogtreecommitdiff
path: root/extensions/rawdisk.write.help
blob: 52ed73fbf964339a8e2e77b76e3b48cb299c32e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# Copyright (C) 2014, 2015 Codethink Limited
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, see <http://www.gnu.org/licenses/>.

help: |

    Write a system produced by Morph to a physical disk, or to a file that can
    be used as a virtual disk. The target will be formatted as a single Btrfs
    partition, with the system image written to a subvolume in /systems, and
    other subvolumes created for /home, /opt, /root, /srv and /var.

    When written to a physical drive, the drive can be used as the boot device
    for a 'real' machine.

    When written to a file, the file can be used independently of `morph` to
    create virtual machines with KVM / libvirt, OpenStack or, after converting
    it to VDI format, VirtualBox.

    `morph deploy` will fail if the file specified by `location` already
    exists.

    If used in `morph upgrade`, the rootfs produced by 'morph build' is added
    to the existing raw disk image or device as an additional btrfs sub-volume.
    `morph upgrade` will fail if the file specified by `location` does not
    exist, or is not a Baserock raw disk image. (Most users are unlikely to
    need or use this functionality: it is useful mainly for developers working
    on the Baserock tools.)

    Parameters:

    * location: the pathname of the disk image to be created/upgraded, or the
      path to the physical device.

    * VERSION_LABEL=label - should contain only alpha-numeric
      characters and the '-' (hyphen) character. Mandatory if being used with
      `morph update`

    * INITRAMFS_PATH=path: the location of an initramfs for the bootloader to
      tell Linux to use, rather than booting the rootfs directly.

    * DTB_PATH=path: **(MANDATORY)** for systems that require a device tree
      binary - Give the full path (without a leading /) to the location of the
      DTB in the built system image . The deployment will fail if `path` does
      not exist.

    * BOOTLOADER_INSTALL=value: the bootloader to be installed
      **(MANDATORY)** for non-x86 systems

        allowed values =
        - 'extlinux' (default) - the extlinux bootloader will
           be installed
        - 'none' - no bootloader will be installed by `morph deploy`. A
           bootloader must be installed manually. This value must be used when
           deploying non-x86 systems such as ARM.

    * BOOTLOADER_CONFIG_FORMAT=value: the bootloader format to be used.
      If not specified for x86-32 and x86-64 systems, 'extlinux' will be used

        allowed values =
        - 'extlinux'

    * KERNEL_ARGS=args: optional additional kernel command-line parameters to
      be appended to the default set. The default set is:

        'rw init=/sbin/init rootfstype=btrfs \
          rootflags=subvol=systems/default/run \
          root=[name or UUID of root filesystem]'

        (See https://www.kernel.org/doc/Documentation/kernel-parameters.txt)

    (See `morph help deploy` for details of how to pass parameters to write
    extensions)