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
21 deterministic 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 --build-env=PATH
36 json file containing a description of the build environment
37
38 --store=DIR
39 directory where intermediary file system trees are stored
40
41 --sources=PATH
42 json file containing a dictionary of source configuration
43
44 --secrets=PATH
45 json file containing a dictionary of secrets that are passed to
46 sources
47
48 -l DIR, --libdir=DIR
49 directory containing stages, assemblers, and the osbuild library
50
51 --checkpoint=CHECKPOINT
52 stage to commit to the object store during build (can be passed
53 multiple times)
54
55 --json output results in JSON format
56
57 --output-directory=DIR
58 directory where result objects are stored
59
61 The input to osbuild is a description of the pipeline to execute, as
62 well as required parameters to each pipeline stage. This data must be
63 JSON encoded. It is read from the file specified on the command-line,
64 or, if - is passed, from standard input.
65
66 The format of the manifest is described in osbuild-manifest(5). The
67 formal schema of the manifest is available online as the OSBuild JSON
68 Schema [1].
69
71 The following sub-sections contain examples on running osbuild. Gener‐
72 ally, osbuild must be run with superuser privileges, since this is
73 required to create file-system images.
74
75 Example 1: Run an empty pipeline
76 To verify your osbuild setup, you can run it on an empty pipeline which
77 produces no output:
78
79 # echo {} | osbuild -
80
81
82
83 Example 1: Build a Fedora 30 qcow2 image
84 To build a basic qcow2 image of Fedora 30, use:
85
86 # osbuild ./samples/base-qcow2.json
87
88
89
90 The pipeline definition ./samples/base-rpm-qcow2.json is provided in
91 the upstream source repository of osbuild.
92
93 Example 2: Run from a local checkout
94 To run osbuild from a local checkout, use:
95
96 # python3 -m osbuild --libdir . samples/base-rpm-qcow2.json
97
98
99
100 This will make sure to execute the osbuild module from the current
101 directory, as well as use it to search for stages, assemblers, and
102 more.
103
105 osbuild-manifest(5), osbuild-composer(1)
106
108 [1] OSBuild JSON Schema: https://osbuild.org/schemas/osbuild1.json
109
110
111
112
113 OSBUILD(1)