Skip to content

Build Xubuntu Raspberry Pi image #8

@bluesabre

Description

@bluesabre

Documentation received from flavors email chain

For this to work you need some arm64 machine to run the build on. Right now ubuntu-image doesn't really support cross-builds, sadly. Let's start off with building the regular Ubuntu desktop image as a 'baseline'.

On the arm64 machine, install the ubuntu-image snap:
sudo snap install --classic ubuntu-image

Download the image definition repository:
git clone https://git.launchpad.net/ubuntu-images -b mantic

Now this is a tricky part, but you might need to install some build dependencies. Not everything is needed, but it all depends on what the 'gadget' requires for building or not. Sadly there's no auto-resolving of deps right now. An easy workaround would be to install livecd-rootfs. livecd-rootfs itself is not needed here (ubuntu-image does not use it), but it should pull in all the pi related build-deps.
sudo apt install livecd-rootfs

Finally, just run ubuntu-image to build the desktop raspi image:
sudo snap run ubuntu-image classic -O output/ ubuntu-images/ubuntu-pi-arm64.yaml

After some time, this should result in a .img file in the output/ directory. That's basically what livecd-rootfs does right now when building our pi images. This means that with some tweaks to livecd-rootfs, you can also build these images on a livefs builder if you want.

Now, if you want to experiment with building a flavor image, simply copy the ubuntu-pi-arm64.yaml image definition and tweak the following:

  • Change the name of the image you are building
  • Add the universe and multiverse components to the components: list
  • Modify the seed: section of the rootfs: part to include your flavor seeds in it
  • Modify the extra-packages: bit to make sure your flavor packages are installed instead

Report bugs to https://bugs.launchpad.net/ubuntu-image !

As for documentation, the best place would be:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions