1OSBUILD(1) User Commands OSBUILD(1)
2
3
4
6 osbuild - Build-Pipelines for Operating System Artifacts
7
9 osbuild [ OPTIONS ] PIPELINE
10 osbuild [ OPTIONS ] -
11 osbuild --help
12
13
15 osbuild is a build-system for operating system artifacts. It takes a
16 pipeline description as input and produces file-system trees, images,
17 or other artifacts as output. Its pipeline description gives comprehen‐
18 sive control over the individual steps to execute as part of a pipe‐
19 line. osbuild provides isolation from the host system as well as
20 caching capabilities, and thus ensures that pipeline builds will be de‐
21 terministic and efficient.
22
24 osbuild reads the pipeline description from the file passed on the com‐
25 mand-line. To make osbuild read the pipeline description from standard
26 input, pass -.
27
28 The following command-line options are supported. If an option is
29 passed, which is not listed here, osbuild will deny startup and exit
30 with an error.
31
32 -h, --help
33 print usage information and exit immediately
34
35 --store=DIR
36 directory where intermediary file system trees are stored
37
38 --secrets=PATH
39 json file containing a dictionary of secrets that are passed to
40 sources
41
42 -l DIR, --libdir=DIR
43 directory containing stages, assemblers, and the osbuild library
44
45 --checkpoint=CHECKPOINT
46 stage to commit to the object store during build (can be passed
47 multiple times)
48
49 --export=OBJECT
50 object to export (can be passed multiple times)
51
52 --json output results in JSON format
53
54 --output-directory=DIR
55 directory where result objects are stored
56
57 --inspect
58 return the manifest in JSON format including all the ids
59
60 NB: If neither --output-directory nor --checkpoint is specified, no at‐
61 tempt to build the manifest will be made.
62
64 The input to osbuild is a description of the pipeline to execute, as
65 well as required parameters to each pipeline stage. This data must be
66 JSON encoded. It is read from the file specified on the command-line,
67 or, if - is passed, from standard input.
68
69 The format of the manifest is described in osbuild-manifest(5). The
70 formal schema of the manifest is available online as the OSBuild JSON
71 Schema [1].
72
74 The following sub-sections contain examples on running osbuild. Gener‐
75 ally, osbuild must be run with superuser privileges, since this is re‐
76 quired to create file-system images.
77
78 Example 1: Run an empty pipeline
79 To verify your osbuild setup, you can run it on an empty pipeline which
80 produces no output:
81
82 # echo {} | osbuild -
83
84
85
86 Example 1: Build a Fedora 30 qcow2 image
87 To build a basic qcow2 image of Fedora 30, use:
88
89 # osbuild ./samples/base-qcow2.json
90
91
92
93 The pipeline definition ./samples/base-rpm-qcow2.json is provided in
94 the upstream source repository of osbuild.
95
96 Example 2: Run from a local checkout
97 To run osbuild from a local checkout, use:
98
99 # python3 -m osbuild --libdir . samples/base-rpm-qcow2.json
100
101
102
103 This will make sure to execute the osbuild module from the current di‐
104 rectory, as well as use it to search for stages, assemblers, and more.
105
107 osbuild-manifest(5), osbuild-composer(1)
108
110 [1] OSBuild JSON Schema: https://osbuild.org/schemas/osbuild1.json
111
112
113
114
115 OSBUILD(1)