pmbootstrap-meow/docs/usage.rst
Oliver Smith 1dfaafe577
kconfig check: move rules to kconfigcheck.toml (MR 2333)
Move all kconfig rules from pmb.config to a separate toml file
pmb/data/kconfigcheck.toml. This is a fallback, pmbootstrap now prefers
loading kconfigcheck.toml from the currently checked out pmaports branch
if it exists.

This finally allows having separate kconfig check rules per pmaports
branch and makes the workflow of adjusting these rules much more
pleasant as the rules and kernel configs can just be adjusted at the
same time in pmaports!

This patch also moves the definition of what rules should be checked for
community and main devices, those that have pmb:kconfigcheck-community
in their linux APKBUILD, to the new kconfigcheck.toml. This should make
it much more intuitive, previously one needed to find the place in the
pmbootstrap source and edit it there.

Furthermore the "enforce_check" logic is removed. Previously pmbootstrap
would print warnings for failed config checks in some cases, but not
exit with error which was very confusing. Now exit 0 means all checks
passed and exit 1 means, that there is at least one error.

Use toml for the file, as discussed in pmbootstrap issue 2165. Python
3.11 has a native toml reader, use tomli for previous Python versions
for compatibility.
2024-06-30 18:04:31 +02:00

60 lines
1.4 KiB
ReStructuredText

#####
Usage
#####
pmbootstrap offers many options and actions and is normally ran from a shell.
Before pmbootstrap can be used, a number of configuration questions need to be answered. The sections below go into detail for the various questions.
.. code-block:: shell
$ pmboostrap init
If you already ran this before, run the following to update your local clone of pmaports.git instead, before moving straight onto the installation step:
.. code-block:: shell
$ pmbootstrap pull
For further details on the different actions please see below and refer to the wiki-arcticle on `pmbootstrap`_.
.. autoprogram:: pmb.parse:get_parser()
:prog: pmbootstrap
:groups:
Requirements
============
pmbootstrap requires the following:
* Linux distribution on the host system (`x86`, `x86_64`, `aarch64` or `armv7`)
.. note::
Windows subsystem for `Linux (WSL)`_ does **not** work! Please use `VirtualBox`_ instead.
* Linux kernel 3.17 or higher (`oldkernel`_)
.. note::
Kernel version 5.8 - 6.0 might have issues with loop-devices
* Python 3.9+
* For python3 <= 3.10: tomli
* OpenSSL
* git
* ps
* tar
* sudo or doas
.. _pmbootstrap: https://wiki.postmarketos.org/wiki/Pmbootstrap#Using_pmbootstrap
.. _Linux (WSL): https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
.. _virtualbox: https://www.virtualbox.org/
.. _oldkernel: https://postmarketos.org/oldkernel