summaryrefslogtreecommitdiff
path: root/index.mdwn
blob: 921915684ead52f63c8d1eac8474f07090b2f060 (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
83
[[!meta title="Debian image builder"]]

[[About]] —
[[Contact]] —
[[Code|patches]] —
[[Release process|release]] —
[[Contributing]] —
[[Documentation]]

**Note:** vmdb2 is in "selfish maintenance mode". Lars maintains the
software to the extent he needs it, but is not spending time to
develop new features or debug problems he doesn't see himself. He will
review patches, however, so if you want vmdb2 to improve, make a
change and submit it for review.

vmdb2 installs a bare bones Debian system to a disk or disk image
file. It can be used for installing Debian to bare metal hardware,
bootable USB sticks, or to set up system disks for virtual machines.

Information on how we do things, and help to get you started if you're
interested:

* [[Code; also sending patches|patches]] or pull requests.
* Debian builds [images for Raspberry Pi](http://raspi.debian.net/)
  boards with vmdb2.

# Example .vmdb file

A .vmdb file defines how an image is built:

~~~yaml
steps:
  - mkimg: "{{ output }}"
    size: 4G

  - mklabel: msdos
    device: "{{ output }}"

  - mkpart: primary
    device: "{{ output }}"
    start: 1M
    end: 10M
    tag: unused

  - mkpart: primary
    device: "{{ output }}"
    start: 10M
    end: 100%
    tag: rootfs

  - kpartx: "{{ output }}"

  - mkfs: ext4
    partition: rootfs
    label: smoke

  - mount: rootfs

  - unpack-rootfs: rootfs

  - debootstrap: stretch
    mirror: http://deb.debian.org/debian
    target: rootfs
    unless: rootfs_unpacked

  - apt: install
    packages:
      - linux-image-amd64
    tag: rootfs
    unless: rootfs_unpacked

  - cache-rootfs: rootfs
    unless: rootfs_unpacked

  - chroot: rootfs
    shell: |
      sed -i '/^root:[^:]*:/s//root::/' /etc/passwd
      echo pc-vmdb2 > /etc/hostname

  - grub: bios
    tag: rootfs
    console: serial
~~~