pmbootstrap, with Synit changes
Go to file
Oliver Smith 3c59126bc1
Remove timestamp based rebuilds (#1174)
If you want to build a package without changing the version number,
please use `--force` from now on. For example:

    pmbootstrap build --force hello-world

Prior to this commit, changes were detected automatically (timestamp
based rebuilds). However, that feature does not work as expected with
the binary package repository we have now, and depending on how you use
git, it has never worked. Close #1167, close #1156, close #1023 and
close #985. This commit also mentions --force when a package is up to date,
but the user requested to build it.
2018-01-28 23:27:33 +00:00
aports Nextbit Robin booting. SSH over USB working (#1145) 2018-01-27 14:52:34 +00:00
keys Close #871: Enable binary repository (#887) 2017-11-19 15:04:08 +00:00
pmb Remove timestamp based rebuilds (#1174) 2018-01-28 23:27:33 +00:00
test Remove timestamp based rebuilds (#1174) 2018-01-28 23:27:33 +00:00
.gitignore gitignore: Ignore Visual Studio Code folder (#918) 2017-11-20 16:25:41 +00:00
.travis.yml Remove timestamp based rebuilds (#1174) 2018-01-28 23:27:33 +00:00
CONTRIBUTING.md CONTRIBUTING.md: Mention that we squash PRs (#651) 2017-09-29 21:23:46 +00:00
LICENSE Initial commit 2017-05-26 19:25:48 +00:00
MANIFEST.in Close #327: Add initial setup.py (#443) 2017-09-02 19:30:40 +00:00
README.md README.md: fix typo s/coretutils/coreutils/ (#1044) 2017-12-27 19:05:59 +00:00
pmbootstrap.py Happy new year! (update copyright to 2018) 2018-01-04 04:53:35 +01:00
setup.cfg Close #327: Add initial setup.py (#443) 2017-09-02 19:30:40 +00:00
setup.py Close #327: Add initial setup.py (#443) 2017-09-02 19:30:40 +00:00

README.md

pmbootstrap

Introduction | Security Warning | Supported Devices | travis badge | Coverage status

Sophisticated chroot/build/flash tool to develop and install postmarketOS.

For in-depth information please refer to the postmarketOS wiki.

Requirements

Usage

Assuming you have a supported device, you can build and flash a postmarketOS image by running through the following steps. For new devices check the porting guide.

First, clone the git repository and initialize your pmbootstrap environment:

$ git clone https://github.com/postmarketOS/pmbootstrap
$ cd pmbootstrap
$ ./pmbootstrap.py init

While running any pmbootstrap command, it's always useful to have a log open in a separate window where further details can be seen:

$ ./pmbootstrap.py log

It's now time to run a full build which will create the boot and system images:

$ ./pmbootstrap.py install

Once your device is connected and is ready to be flashed (e.g. via fastboot), you can run a flash of the kernel (boot) and system partitions:

$ ./pmbootstrap.py flasher flash_kernel
$ ./pmbootstrap.py flasher flash_system

After a reboot, the device will prompt for the full-disk encryption password, which you typed in the install step (unless you have disabled full-disk encryption with --no-fde). Once the partition has been unlocked it is possible to connect via SSH:

$ dhclient -v enp0s20f0u1
$ ssh user@172.16.42.1

Development

Testing

Install pytest (via your package manager or pip) and run it inside the pmbootstrap folder.

License

GPLv3