Patched pmbootstrap to build my packages
Find a file
clayton craft d0f09ca0d0 Resolve #361 by zapping existing chroots after init (#385)
This extends zap() to add a 'no_confirm' option (False by default), and
zap() is now called by init with no_confirm=True to automatically zap
any existing chroots after the user runs init. This helps insure that
what is installed in the chroots is exactly what the user expects after
setting options in init.

Additionally, we create `cache_http` to verify write access to the work
folder instead of `chroot_native`. So we can ask for zapping only if
no chroot folder exists.
2017-08-18 16:25:58 +00:00
aports telepathy-qt5: Add missing -dev to telepathy-farstream dependency (#408) 2017-08-18 15:57:58 +00:00
keys Hello, there! 2017-05-26 22:08:45 +02:00
pmb Resolve #361 by zapping existing chroots after init (#385) 2017-08-18 16:25:58 +00:00
test Fix #271: properly resolve symlinks in all paths (#329) 2017-08-15 14:08:48 +00:00
.gitignore gitignore: Added vim temporary files 2017-06-25 21:40:49 +02:00
.travis.yml Implemented checksum test in the travis script (#298) 2017-07-30 19:43:02 +00:00
CONTRIBUTING.md contributing: fixed typos and added some links (#372) 2017-08-14 14:23:35 +00:00
LICENSE Initial commit 2017-05-26 19:25:48 +00:00
pmbootstrap.py Close #174: Put frontend functions in extra file (#185) 2017-07-18 19:01:11 +00:00
README.md README refactoring (#367) 2017-08-16 20:45:31 +00:00

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

  • Linux distribution (x86_64 or aarch64)
  • Python 3.4+
  • OpenSSL

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