Skip to content

Draft: drop pine64 images in favor of rootfs

NOT READY, DO NOT MERGE

This begins to accomplish the long-term goal of getting pine64 fully onto system-image. All overlays (excluding device-specific bootloader bits), deb packages, and the kernel for all 4 supported Pine64 devices are packed into a new ubuntu-touch-pine64-rootfs.

Unfortunately, this suffers from a caveat of needing $variant mainline for installing ubuntu-touch-${variant} in ubuntu-touch-common.yaml, but for deploying to rootfs should be tagged pine64 like android9plus and hybris do, as to not create a confusing mainline tarball that is actually pine64 specific.

I am attempting to introduce a $mainline_variant variable to try to solve this, which would allow for us to abide by system-image's conventions, but would see a creation of a 20.04/arm64/pine64/devel channel instead of a 20.04/arm64/mainline/devel channel.

This merge requires https://gitlab.com/ook37/pine64-focal to be upstreamed into a new repository https://gitlab.com/ubports/porting/community-ports/pine64-focal, which has broken out the prebuilt Debos images into its own repository.

It will then need to be hosted on a Jenkins repository, somewhere, perhaps a new https://ci.ubports.com/job/rootfs/job/focal/pine64. For now, we can have that repo run once per week, to ensure users can continue getting the pine64 images that were being built here daily, but more spaced out to save Jenkins a significant amount of space.

Eventually, the goal is for https://gitlab.com/ubports/porting/community-ports/pine64-focal to build images in the penultimate style that xenial used on PinePhone - that is, rather than prebuilt images being built up from the start, they will mimic a system-image deploy, downloading the rootfs and bootloader bits from the CI, and packing them up into an image for flashing.

Our current device-specific image builds are fairly close to being in a convertible state for this; at this point, it is just postinst systemd scripts (depending on phone or tablet) + bootloader packing (device-specific) that happens after the common pine64 rootfs is built. Though it is unclear how we convert that and send it up to system-image. Need help with that.

Edited by Oren Klopfer

Merge request reports