You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
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
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:
Report bugs to https://bugs.launchpad.net/ubuntu-image !
As for documentation, the best place would be:
https://github.com/canonical/ubuntu-image/blob/main/internal/imagedefinition/README.rst
The text was updated successfully, but these errors were encountered: