---
name: "pmbootstrap"
section: "1"
platform: "linux"
package: "pmbootstrap"
version: "3.1.0-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pmbootstrap"
---

# pmbootstrap(1)

Develop and install postmarketOS

## NAME

pmbootstrap - Develop and install postmarketOS

## SYNOPSIS

**pmbootstrap** \[*options*\] *action*

## DESCRIPTION

**pmbootstrap** is the central tool used in the development and installation of postmarketOS.

## OPTIONS

- **-h**, **--help**

  Show the built-in help message and exit.

- **-V**, **--version**

  Show pmbootstrap's version number and exit.

- **-c**, **--config** ***config***

  Specify path to pmbootstrap.cfg file; defaults to *~/.config*.

- **--config-channels** *channels*

  Specify path to channels.cfg, which is by default read from the master branch of pmaports.git.

- **-mp**, **--mirror-pmOS** ***URL***

  Specify postmarketOS mirror to use. Can be disabled with **-mp=''**. Multiple mirrors can be specified with **-mp='***one***' -mp='***two***'**. The default value is *http://mirror.postmarketos.org/postmarketos*.

- **-m**, **--mirror-alpine** ***URL***

  Specify Alpine Linux mirror to use. The default value is *http://dl-cdn.alpinelinux.org/alpine*.

- **-j**, **--jobs** ***jobs***

  Specify number of parallel jobs to use when compiling.

- **-E**, **--extra-space** ***space***

  Specify an integer with the amount of additional space to allocate to the image, in MB (default 0).

- **-B**, **--boot-size** ***size***

  Specify the boot partition size on target machine in MB (default 128).

- **-p**, **--aports** ***aports***

  Specify the path to postmarketOS aports (pmaports).

- **-t**, **--timeout** ***time***

  Specify the seconds after which hung processes get killed (default 900).

- **-w**, **--work** ***work***

  Specify the folder where all data gets stored (chroots, caches, built packages, etc).

- **-y**, **--assume-yes**

  Assume 'yes' to all question prompts.

- **--as-root**

  Allow running as root. This is not recommended, as it may screw up the work folder's directory permissions.

- **-o**, **--offline**

  Do not attempt to update the package index files.

- **--no-ccache**

  Do not cache the compiled output.

- **--no-cross**

  Disable cross compiler; build only with QEMU and gcc.

- **-l**, **--log** ***log***

  Specify path to log file.

- **--details-to-stdout**

  Print details (e.g. build output) to stdout instead of writing to the log.

- **-v**, **--verbose**

  Write even more information to the log files.

- **-q**, **--quiet**

  Do not output any log messages.

## ACTIONS

- **init**

  Initialize the config file.

- **shutdown**

  Shut down active chroots (unmount them and unregister QEMU binfmt).

- **index**

  Re-index all repositories with custom-built packages.

- **work\_migrate**

  Migrate the work folder version.

- **kconfig**

  Change or edit kernel configs.

- **export**

  Create convenience symlinks to generated image files (system, kernel, initramfs, boot.img, etc).

- **sideload**

  Push packages to a running phone connected over USB or WiFi.

- **netboot**

  Launch an nbd server with the postmarketOS rootfs.

- **flasher**

  Flash something to the target device.

- **initramfs**

  Do something with the initramfs.

- **pkgrel\_bump**

  Increase the pkgrel to indicate that a package must be rebuilt because of a dependency change.

- **aportupgrade**

  Check for outdated packages that need upgrading.

- **newapkbuild**

  Get a template to package new software.

- **lint**

  Run quality checks on pmaports (required to pass CI).

- **status**

  Get a quick health check for the work dir.

- **log**

  Follow the pmbootstrap log file.

- **zap**

  Safely delete chroot folders.

- **stats**

  Show ccache stats.

- **update**

  Update all existing APKINDEX files.

- **build\_init**

  Initialize the build environment.

- **chroot**

  Start a shell in a chroot.

- **install**

  Set up a device specific chroot and install to an SD card or image file.

- **checksum**

  Update aport checksums.

- **aportgen**

  Generate a postmarketOS-specific package build recipe (aport/APKBUILD).

- **build**

  Build a package for a specific architecture.

- **config**

  Get and set pmbootstrap options.

- **bootimg\_analyze**

  Extract all the information from an existing boot.img.

- **pull**

  Update all git repositories that pmbootstrap cloned.

- **ci**

  Run continuous integration scripts locally of git repo in current directory.
