pmbootstrap, with Synit changes
Go to file
Oliver Smith bed1eacbb5 Close #256: Implement strict package building mode (#532)
Contrary to abuild, pmbootstrap only installs makedepends, and
keeps the installed packages around - both hacks save lots of time.

However, they may introduce missing makedepends in the APKBUILDs,
that the authors of the APKBUILDs do not notice because it works
for them.

This PR adss a strict mode, which will always clean the chroots
before building a package, and also remove all installed dependencies
after the package was built. You can use the following syntax to
only zap once, but build many packages at once:
`pmbootstrap build --strict hello-world 0xffff heimdall`

It also builds dependencies properly without leaving makedepends
behind.
2017-09-08 23:50:59 +00:00
aports Fix #533: postmarketos-demos: Add missing dbus dependency (#538) 2017-09-08 22:44:41 +00:00
keys Hello, there! 2017-05-26 22:08:45 +02:00
pmb Close #256: Implement strict package building mode (#532) 2017-09-08 23:50:59 +00:00
test Recovery installer zip (#404) 2017-08-24 21:07:36 +00:00
.gitignore gitignore: Added vim temporary files 2017-06-25 21:40:49 +02:00
.travis.yml Fix #381: Completely disable Travis mail notifications 2017-08-19 03:35:28 +02:00
CONTRIBUTING.md Updated all outdated wiki links (#504) 2017-09-03 06:46:54 +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 Make sure to tell people WSL is not supported (#507) 2017-09-03 14:07:22 +00:00
pmbootstrap.py Close #327: Add initial setup.py (#443) 2017-09-02 19:30:40 +00: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

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 provide a USB network interface, which we request an IP from, and telnet into to open the full-disk encryption on the main system partition:

$ dhclient -v enp0s20f0u1
$ telnet 172.16.42.1

Trying 172.16.42.1...
Connected to 172.16.42.1.
Escape character is '^]'.

Enter passphrase for /dev/mapper/mmcblk0p25p2:
Connection closed by foreign host.

Once the partition has been unlocked it is possible to connect via SSH:

$ 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