docs: Add documentation for buildmodes and bootstrap build mode

docs/README.profile.rst:
Add documentation for the optional `buildmodes` array in profiledef.sh, the understood build modes `bootstrap` and
`iso` and the implicit default build mode 'iso'.
Add basic documentation for the bootstrap_packages.arch file.
Add missing backticks.
Fix indent.
This commit is contained in:
David Runge 2021-05-02 20:32:24 +02:00
parent 2cac53967b
commit 1630d76c87
No known key found for this signature in database
GPG key ID: 7258734B41C31549

View file

@ -10,6 +10,7 @@ An archiso profile consists of several configuration files and a directory for f
├── airootfs/
├── efiboot/
├── syslinux/
├── bootstrap_packages.arch
├── packages.arch
├── pacman.conf
└── profiledef.sh
@ -33,6 +34,11 @@ The image file is constructed from some of the variables in ``profiledef.sh``: `
* ``iso_version``: A string that states the version of the resulting image (defaults to ``""``)
* ``install_dir``: A string (maximum eight characters long, which **must** consist of ``[a-z0-9]``) that states the
directory on the resulting image into which all files will be installed (defaults to ``mkarchiso``)
* ``buildmodes``: An optional list of strings, that state the build modes that the profile uses. Only the following are
understood:
- ``bootstrap``: Build a compressed file containing a minimal system to bootstrap from
- ``iso``: Build a bootable ISO image (implicit default, if no ``buildmodes`` are set)
* ``bootmodes``: A list of strings, that state the supported boot modes of the resulting image. Only the following are
understood:
@ -56,19 +62,31 @@ The image file is constructed from some of the variables in ``profiledef.sh``: `
permissions. The array's keys contain the path and the value is a colon separated list of owner UID, owner GID and
access mode. E.g. ``file_permissions=(["/etc/shadow"]="0:0:400")``. When directories are listed with a trailing backslash (``/``) **all** files and directories contained within the listed directory will have the same owner UID, owner GID, and access mode applied recursively.
bootstrap_packages.arch
=======================
All packages to be installed into the environment of a bootstrap image have to be listed in an architecture specific
file (e.g. ``bootstrap_packages.x86_64``), which resides top-level in the profile.
Packages have to be listed one per line. Lines starting with a ``#`` and blank lines are ignored.
This file is required when generating bootstrap images using the ``bootstrap`` build mode.
packages.arch
=============
All packages to be installed into the environment of the image have to be listed in an architecture specific file (e.g.
``packages.x86_64``), which resides top-level in the profile.
All packages to be installed into the environment of an ISO image have to be listed in an architecture specific file
(e.g. ``packages.x86_64``), which resides top-level in the profile.
Packages have to be listed one per line. Lines starting with a `#` and blank lines are ignored.
Packages have to be listed one per line. Lines starting with a ``#`` and blank lines are ignored.
.. note::
The **mkinitcpio** and **mkinitcpio-archiso** packages are mandatory (see `#30
<https://gitlab.archlinux.org/archlinux/archiso/-/issues/30>`_).
This file is required when generating ISO images using the ``iso`` build mode.
pacman.conf
===========