PMBOOTSTRAP(1)
π PMBOOTSTRAP(1) π
okay bestie, welcome to the pmbootstrap manual page, straight out of the General Commands Manual β¨ this is the whole thing, no skips, no cuts, we're going the full distance π«Ά
πΈ NAME πΈ
pmbootstrap β Develop and install postmarketOS π
β¨ SYNOPSIS β¨
pmbootstrap [options] action
π¦ DESCRIPTION π¦
so like, pmbootstrap is the central tool used in the development and installation of postmarketOS. it's giving main character energy fr fr, it does the whole thing π
π OPTIONS π
-h,--helpβ show the built-in help message and dip out. exit, done, bye π-V,--versionβ showpmbootstrap's version number and exit.-c,--configconfig β tell it where yourpmbootstrap.cfgfile lives; by default it's~/.config.--config-channelschannels β point it at the path ofchannels.cfg. by default this gets read from the master branch ofpmaports.git, iconic β¨-mp,--mirror-pmOSURL β pick which postmarketOS mirror to use. you can turn it off with-mp=''. and yeah you can stack multiple mirrors with-mp='one' -mp='two'. the default value ishttp://mirror.postmarketos.org/postmarketos.-m,--mirror-alpineURL β pick which Alpine Linux mirror to use. default value ishttp://dl-cdn.alpinelinux.org/alpine.-j,--jobsjobs β set how many parallel jobs to use when compiling. multitasking queen π-E,--extra-spacespace β give it an integer, the amount of additional space to allocate to the image, measured in MB (default0).-B,--boot-sizesize β set the boot partition size on the target machine, in MB (default128).-p,--aportsaports β specify the path to postmarketOS aports (pmaports).-t,--timeouttime β set the number of seconds before hung processes get killed (default900).-w,--workwork β specify the folder where all the data gets stored (chroots, caches, built packages, etc). it's the stash spot π-y,--assume-yesβ assume 'yes' to all question prompts. no more typing, just vibes.--as-rootβ allow running as root. not recommended, because it may screw up the work folder's directory permissions. like, genuinely don't π-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,--loglog β specify the path to the log file.--details-to-stdoutβ print details (e.g. build output) to stdout instead of writing them to the log.-v,--verboseβ write even more information to the log files. the way that it just keeps going π-q,--quietβ do not output any log messages. shhh π€«
π₯ 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). no cap, CI will not let you through without it πstatusβ get a quick health check for the work dir. vibe check for your work folder fr fr.logβ follow thepmbootstraplog file.zapβ safely delete chroot folders.statsβ show ccache stats.updateβ update all existingAPKINDEXfiles.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 setpmbootstrapoptions.bootimg_analyzeβ extract all the information from an existingboot.img.pullβ update all git repositories thatpmbootstrapcloned.ciβ run continuous integration scripts locally of git repo in current directory.
and that's the whole page, bestie, you ate it π
πΈ this little number comes to you courtesy of the General Commands Manual and it's filed under PMBOOTSTRAP(1) β periodt β¨ππ¦
π¦ where this page comes from
- debian trixie: pmbootstrap 3.1.0-2 Β· GPL-3.0-or-later
- ubuntu noble: pmbootstrap 2.1.0-1 Β· GPL-3.0-or-later
- ubuntu questing: pmbootstrap 3.5.2-1
- ubuntu resolute: pmbootstrap 3.9.0-1 Β· GPL-3.0-or-later
- ubuntu stonking: pmbootstrap 3.10.3-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms