WIP ppl-os building tools
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Maciej Krüger 268d997d26
fix: rpi board config
1 month ago
boards fix: rpi board config 1 month ago
deps fix: build-tool 7 months ago
presigned feat: make signing optional, add presigned 5 months ago
.gitignore feat: Ignore .cloud-init.yaml 7 months ago
Makefile fix: cleanbuild, now for real 5 months ago
README.md docs: Rewrite README 5 months ago
build-tool.js fix: cleanbuild, now for real 5 months ago
conf-tool.sh fix: cleanbuild, now for real 5 months ago
definition.yaml feat: Use ubuntu core 18 9 months ago
dev.cloud-init.yaml feat: Use $USER_EMAIL instead of mine 7 months ago
json2yaml.js fix: Mention node on readme, drop python requirement 7 months ago
package.json fix: cleanbuild, now for real 5 months ago



Files required to build the ubuntu core based pplOS


Everything subject to change, including number of bugs (hopefully to zero ;)


System Requirements

  • A linux distro that is either ubuntu based or has support for running lxd containers and snapd
  • At least 1GB free disk space

Other Requirements

Build environment setup on debian

First you need to add the nodeJS PPA, unless you already installed node v10+ on your system by other means: $ curl https://deb.nodesource.com/setup_10.x | sudo bash -

Now install the necesarry packages: $ sudo apt-get install -y nodejs ubuntu-image snapcraft snapd nodejs

If you also want to test using a virtual device you should install qemu-kvm, too: $ sudo apt-get install -y qemu-kvm

It is recommended that you build on Ubuntu, as building on other distributions might require the usage of containers. You may want to setup lxd at this point.

Now you need to install the npm dependencies using npm i

Build configuration

It is required that you are signed into your Ubuntu One account on the local snapd instance If not already done run snap login to do so

If you’re building on a non-ubuntu distro you need to have lxd installed and setup for snap building to work

You can now go ahead and run bash conf-tool.sh

If you’re planning to test using the virtual device you can leave eveything as-is, otherwise the defaults might not be suited for your use case.

Creating the image

To build a board’s model file run make BOARD.model

To build an image for a specific board run make BOARD.img

The board tag for the virtual device is amd64

Running the virtual device

Use make start to build the amd64.img and launch it with kvm

If you used the defaults in the configuration step, you should now be able to connect with make ssh

Could not access KVM kernel module: Permission denied

Is your user in the kvm group? Try sudo addgroup $(whoami) kvm and reboot.