|
Packit Service |
863627 |
=======
|
|
Packit Service |
863627 |
osbuild
|
|
Packit Service |
863627 |
=======
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
----------------------------------------------
|
|
Packit Service |
863627 |
Build-Pipelines for Operating System Artifacts
|
|
Packit Service |
863627 |
----------------------------------------------
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
:Manual section: 1
|
|
Packit Service |
863627 |
:Manual group: User Commands
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
SYNOPSIS
|
|
Packit Service |
863627 |
========
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
| ``osbuild`` [ OPTIONS ] PIPELINE
|
|
Packit Service |
863627 |
| ``osbuild`` [ OPTIONS ] -
|
|
Packit Service |
863627 |
| ``osbuild`` ``--help``
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
DESCRIPTION
|
|
Packit Service |
863627 |
===========
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
**osbuild** is a build-system for operating system artifacts. It takes a
|
|
Packit Service |
863627 |
pipeline description as input and produces file-system trees, images, or other
|
|
Packit Service |
863627 |
artifacts as output. Its pipeline description gives comprehensive control over
|
|
Packit Service |
863627 |
the individual steps to execute as part of a pipeline. **osbuild** provides
|
|
Packit Service |
863627 |
isolation from the host system as well as caching capabilities, and thus
|
|
Packit Service |
863627 |
ensures that pipeline builds will be deterministic and efficient.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
OPTIONS
|
|
Packit Service |
863627 |
=======
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
**osbuild** reads the pipeline description from the file passed on the
|
|
Packit Service |
863627 |
command-line. To make **osbuild** read the pipeline description from standard
|
|
Packit Service |
863627 |
input, pass ``-``.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
The following command-line options are supported. If an option is passed, which
|
|
Packit Service |
863627 |
is not listed here, **osbuild** will deny startup and exit with an error.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
-h, --help print usage information and exit immediately
|
|
Packit Service |
863627 |
--store=DIR directory where intermediary file system trees
|
|
Packit Service |
863627 |
are stored
|
|
Packit Service |
863627 |
--sources=PATH json file containing a dictionary of source
|
|
Packit Service |
863627 |
configuration
|
|
Packit Service |
863627 |
--secrets=PATH json file containing a dictionary of secrets
|
|
Packit Service |
863627 |
that are passed to sources
|
|
Packit Service |
863627 |
-l DIR, --libdir=DIR directory containing stages, assemblers, and
|
|
Packit Service |
863627 |
the osbuild library
|
|
Packit Service |
863627 |
--checkpoint=CHECKPOINT stage to commit to the object store during
|
|
Packit Service |
863627 |
build (can be passed multiple times)
|
|
Packit Service |
863627 |
--json output results in JSON format
|
|
Packit Service |
863627 |
--output-directory=DIR directory where result objects are stored
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
MANIFEST
|
|
Packit Service |
863627 |
========
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
The input to **osbuild** is a description of the pipeline to execute, as well
|
|
Packit Service |
863627 |
as required parameters to each pipeline stage. This data must be *JSON*
|
|
Packit Service |
863627 |
encoded. It is read from the file specified on the command-line, or, if ``-``
|
|
Packit Service |
863627 |
is passed, from standard input.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
The format of the manifest is described in ``osbuild-manifest``\(5). The formal
|
|
Packit Service |
863627 |
schema of the manifest is available online as the OSBuild JSON Schema [#]_.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
EXAMPLES
|
|
Packit Service |
863627 |
========
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
The following sub-sections contain examples on running **osbuild**. Generally,
|
|
Packit Service |
863627 |
**osbuild** must be run with superuser privileges, since this is required to
|
|
Packit Service |
863627 |
create file-system images.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
Example 1: Run an empty pipeline
|
|
Packit Service |
863627 |
--------------------------------
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
To verify your **osbuild** setup, you can run it on an empty pipeline which
|
|
Packit Service |
863627 |
produces no output:
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
|
|
|
Packit Service |
863627 |
| # echo {} | osbuild -
|
|
Packit Service |
863627 |
|
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
Example 1: Build a Fedora 30 qcow2 image
|
|
Packit Service |
863627 |
----------------------------------------
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
To build a basic qcow2 image of Fedora 30, use:
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
|
|
|
Packit Service |
863627 |
| # osbuild ./samples/base-qcow2.json
|
|
Packit Service |
863627 |
|
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
The pipeline definition ``./samples/base-rpm-qcow2.json`` is provided in the
|
|
Packit Service |
863627 |
upstream source repository of **osbuild**.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
Example 2: Run from a local checkout
|
|
Packit Service |
863627 |
------------------------------------
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
To run **osbuild** from a local checkout, use:
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
|
|
|
Packit Service |
863627 |
| # python3 -m osbuild --libdir . samples/base-rpm-qcow2.json
|
|
Packit Service |
863627 |
|
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
This will make sure to execute the **osbuild** module from the current
|
|
Packit Service |
863627 |
directory, as well as use it to search for stages, assemblers, and more.
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
SEE ALSO
|
|
Packit Service |
863627 |
========
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
``osbuild-manifest``\(5), ``osbuild-composer``\(1)
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
NOTES
|
|
Packit Service |
863627 |
=====
|
|
Packit Service |
863627 |
|
|
Packit Service |
863627 |
.. [#] OSBuild JSON Schema:
|
|
Packit Service |
863627 |
https://osbuild.org/schemas/osbuild1.json
|