summaryrefslogtreecommitdiff
path: root/doc/man/debos.1
diff options
context:
space:
mode:
authorHéctor Orón Martínez <zumbi@debian.org>2018-08-10 18:07:56 +0200
committerHéctor Orón Martínez <zumbi@debian.org>2018-08-10 18:07:56 +0200
commita3819b2c8c823955bb053d5a34da27c94aef4d47 (patch)
tree430633212532264c15f75ca47e02f3e4740c7c3c /doc/man/debos.1
parent8ab62bc45ed897f007493d02084538503ade6f37 (diff)
New upstream version 1.0.0+git20180808.5b74d5d
Diffstat (limited to 'doc/man/debos.1')
-rw-r--r--doc/man/debos.1132
1 files changed, 132 insertions, 0 deletions
diff --git a/doc/man/debos.1 b/doc/man/debos.1
new file mode 100644
index 0000000..6e58a40
--- /dev/null
+++ b/doc/man/debos.1
@@ -0,0 +1,132 @@
+.\" Automatically generated by Pandoc 2.2.1
+.\"
+.TH "debos" "1" "" "" ""
+.hy
+.SH NAME
+.IP
+.nf
+\f[C]
+debos\ \-\ \ Debian\ OS\ images\ builder
+\f[]
+.fi
+.SH SYPNOSIS
+.IP
+.nf
+\f[C]
+debos\ [options]\ <recipe\ file\ in\ YAML>
+debos\ [\-\-help]
+\f[]
+.fi
+.PP
+Application Options:
+.IP
+.nf
+\f[C]
+\ \ \ \ \ \ \-\-artifactdir=
+\ \ \-t,\ \-\-template\-var=\ \ \ Template\ variables
+\ \ \ \ \ \ \-\-debug\-shell\ \ \ \ \ Fall\ into\ interactive\ shell\ on\ error
+\ \ \-s,\ \-\-shell=\ \ \ \ \ \ \ \ \ \ Redefine\ interactive\ shell\ binary\ (default:\ bash)
+\ \ \ \ \ \ \-\-scratchsize=\ \ \ \ Size\ of\ disk\ backed\ scratch\ space
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+debos is a tool to make the creation of various Debian\-based OS images
+simpler.
+While most other tools focus on specific use\-cases, debos is more meant
+as a tool\-chain to make common actions trivial while providing enough
+rope to do whatever tweaking that might be required behind the scene.
+.PP
+debos expects a YAML file as input and will run the actions listed in
+the file sequentially.
+These actions should be self\-contained and independent of each other.
+.PP
+Some of the actions provided by debos to customize and produce images
+are:
+.IP \[bu] 2
+apt: install packages and their dependencies with `apt'
+.IP \[bu] 2
+debootstrap: construct the target rootfs with debootstrap
+.IP \[bu] 2
+download: download a single file from the internet
+.IP \[bu] 2
+filesystem\-deploy: deploy a root filesystem to an image previously
+created
+.IP \[bu] 2
+image\-partition: create an image file, make partitions and format them
+.IP \[bu] 2
+ostree\-commit: create an OSTree commit from rootfs
+.IP \[bu] 2
+ostree\-deploy: deploy an OSTree branch to the image
+.IP \[bu] 2
+overlay: do a recursive copy of directories or files to the target
+filesystem
+.IP \[bu] 2
+pack: create a tarball with the target filesystem
+.IP \[bu] 2
+raw: directly write a file to the output image at a given offset
+.IP \[bu] 2
+run: allows to run a command or script in the filesystem or in the host
+.IP \[bu] 2
+unpack: unpack files from archive in the filesystem
+.PP
+A full syntax description of all the debos actions can be found at:
+https://godoc.org/github.com/go\-debos/debos/actions
+.SH SIMPLE EXAMPLE
+.PP
+The following example will create a arm64 image, install several
+packages in it, change the file /etc/hostname to \[lq]debian\[rq] and
+finally make a tarball.
+.IP
+.nf
+\f[C]
+{{\-\ $image\ :=\ or\ .image\ "debian.tgz"\ \-}}
+
+architecture:\ arm64
+
+actions:
+\ \ \-\ action:\ debootstrap
+\ \ \ \ suite:\ "buster"
+\ \ \ \ components:
+\ \ \ \ \ \ \-\ main
+\ \ \ \ \ \ \-\ non\-free
+\ \ \ \ mirror:\ https://deb.debian.org/debian
+\ \ \ \ variant:\ minbase
+
+\ \ \-\ action:\ apt
+\ \ \ \ packages:\ [\ sudo,\ openssh\-server,\ adduser,\ systemd\-sysv,\ firmware\-linux\ ]
+
+\ \ \-\ action:\ run
+\ \ \ \ chroot:\ true
+\ \ \ \ command:\ echo\ debian\ >\ /etc/hostname
+
+\ \ \-\ action:\ pack
+\ \ \ \ file:\ {{\ $image\ }}
+\ \ \ \ compression:\ gz
+\f[]
+.fi
+.PP
+To run it, create a file named \f[C]example.yaml\f[] and run:
+.IP
+.nf
+\f[C]
+debos\ example.yaml
+\f[]
+.fi
+.PP
+The final tarball will be named \[lq]debian.tgz\[rq] if you would like
+to modify this name, you can provided a different name for the variable
+image like this:
+.IP
+.nf
+\f[C]
+debos\ \-t\ image:"debian\-arm64.tgz"\ example.yaml
+\f[]
+.fi
+.SH OTHER EXAMPLES
+.PP
+This example builds a customized image for a Raspberry Pi 3.
+https://github.com/go\-debos/debos\-recipes
+.SH SEE ALSO
+.PP
+fakemachine at https://github.com/go\-debos/fakemachine