pmbootstrap, with Synit changes
Go to file
Martijn Braam 21228a14d1 Unified linux-postmarketos kernel for qemu and n900 (#228)
The creates the linux-postmarketos package which for now supports the n900 (and probably the other maemo devices) and qemu with the vexpress-a9 machine simulation.

I've put the generated dtbs in /usr/share/dtb for now and set the dtb field in the deviceinfo for the n900 and my new qemu device.

* Introduced linux-postmarketos-omap
* Unified kernel progress
* Created kernel bootable with qemu
* Updated n900 deviceinfo for generic kernel
* Changed qemu device to vexpress
* Updated APK comments and added linux-postmarketos-dev package
* Append dtb in mkinitfs
* Fixed bootscript on n900 for the generic kernel
* Don't detect double flavors with -dtb appending
* Added graphics drivers for vexpress (qemu)
* Added more drivers for qemu

This adds virtio network support in qemu for the vexpress-a9 machine.
The keyboard and mouse don't work yet.
You can boot into weston if --no-fde is specified
2017-07-25 20:08:35 +00:00
aports Unified linux-postmarketos kernel for qemu and n900 (#228) 2017-07-25 20:08:35 +00:00
keys Hello, there! 2017-05-26 22:08:45 +02:00
pmb Unified linux-postmarketos kernel for qemu and n900 (#228) 2017-07-25 20:08:35 +00:00
test Properly support specifying a local folder as --mirror-pmOS 2017-07-12 21:55:47 +02:00
.gitignore gitignore: Added vim temporary files 2017-06-25 21:40:49 +02:00
.travis.yml Rename travis.yaml to travis.yml 2017-05-28 02:48:03 +02:00
CONTRIBUTING.md Add CONTRIBUTING.md 2017-05-28 03:40:30 +02:00
LICENSE Initial commit 2017-05-26 19:25:48 +00:00
README.md Close #103: Document how to use chroot commands with parameters 2017-06-23 23:46:09 +02:00
pmbootstrap.py Close #174: Put frontend functions in extra file (#185) 2017-07-18 19:01:11 +00:00

README.md

pmbootstrap

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

Static code analysis status: travis badge

Requirements

  • Linux distribution
  • Python 3
  • OpenSSL

Usage

Check out the porting guide for a practical start!

Run ./pmbootstrap.py init first, to select a target device and the work folder, which will contain all the chroots and other data. After that, you can run any command. All dependencies (e.g. chroots) will be installed automatically, if they are not available yet.

Here are some examples:

./pmbootstrap.py --help: List all available commands

./pmbootstrap.py log: Run tail -f on the logfile, which contains detailed output. Do this in a second terminal, while executing another pmbootstrap command to get all the details.

./pmbootstrap.py chroot: Open a shell inside a native Alpine Linux chroot (~6 MB install size).

./pmbootstrap.py chroot -- ls -l /home/user Execute ls -l /home/user inside the chroot. Make sure, that you use -- before the command, so all following options (e.g. -l) do not get interpreted by pmbootstrap, but passed correctly to your command.

./pmbootstrap.py chroot --suffix=buildroot_armhf: Open a shell inside an armhf Alpine Linux chroot, with qemu user mode emulation and binfmt support automatically set up.

./pmbootstrap.py build hello-world: Build the "hello-world" package (specify any package from the aports-folder here).

./pmbootstrap.py build hello-world --arch=armhf: Build the "hello-world" package for armhf inside the armhf chroot, with the cross-compiler installed in the native chroot (chroots are connected via distcc).

./pmbootstrap.py install: Generate a system image file with a full postmarketOS installation. All required packages get built first, if they do not exist yet. You will get asked for the "user" password and the root partition password.

./pmbootstrap.py install --sdcard=/dev/mmcblk0: Format and partition the SD card /dev/mmcblk0, and put a full postmarketOS installation on it

Testsuite

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