Migrate to mkosi + sysupdate - #809
Conversation
Add post-boot configuration for NetworkManager
Mask firstboot
|
This is more elegant than #808, and builds out the mkosi/sysupdate method from #793 that fully supports ubuntu already. In comparison to my bootc suggestion, this:
|
|
@danirabbit what's the best way to land this? This PR currently replaces the old stuff, but I'm guessing some the 8.1 stable jobs might be run in parallel with the 9.0 sysupdate jobs until 8.1 reaches EOL? Edit: My proposal, not speaking for @jumpyvi here:
|
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as outdated.
This comment was marked as outdated.
|
OK so going back on my above suggestions, how about we keep sysupdate on a branch, and add a 4th job on a sysupdate branch then:
|
We don't know when/if systemd will choose to implement this. idk if there is any other solutions |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
|
For S3 compatible storage I would recommend Cloudflare R2. We already use Cloudflare and there is no bandwidth billing there, only storage and action costs. |
|
Thank you! Looks like we were holding it wrong: cost won’t be a problem at $0.60 for 10,000 users downloading a 4gb image once a week on Cloudflare R2 (50 gb, 4 writes per mo, 70% egress, 40,000 reads per mo) - thank you @lewisgoddard . OK so maybe @jumpyvi we don't optimize for transmission size yet for now then, and optimize for deltas later as sysupdate matures - other projects will have this problem too. |
* re-add sysupdate jobs * make only monthly image. * make monthly * update scripts * done * merge * revert * fix typo, PR feedback on build * add date to raw * better update file matching * update sha * update upload.py for cloudflare R2
|
@jumpyvi got updates working (hosted on a temporary CDN), @jumpyvi has also booted the .raw off of a usb stick (I don't have one that's big enough).
Finally, an initial job has been added @danirabbit - edited upload.py to upload to Cloudflare R2 |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
….feature Co-authored-by: Danielle Foré <danielle@elementary.io>
danirabbit
left a comment
There was a problem hiding this comment.
I think I'm happy to move this to testing. Just waiting on re-review from @ryonakano I think :)
|
Sorry for my late review, I will take a look at this again when getting back home today. |
ryonakano
left a comment
There was a problem hiding this comment.
I'm sorry for my late review. Leaving a few nitpicking comments and questions, otherwise LGTM.
Co-authored-by: Ryo Nakano <ryonakaknock3@gmail.com>
ryonakano
left a comment
There was a problem hiding this comment.
Thanks for the fix, leaving tiny EOF comments.
ryonakano
left a comment
There was a problem hiding this comment.
Sorry, I have some additional comments.
| name: Extension release ${{ steps.get_date.outputs.RELEASE_DATE }} (${{ inputs.build_type }}) for ${ARCH} | ||
| files: | | ||
| mkosi.output/ext/ext-*.raw.zst | ||
| mkosi.output/ext/SHA256SUMS No newline at end of file |
| uses: ./.github/workflows/reusable-release.yml | ||
| with: | ||
| build_type: daily | ||
| secrets: inherit No newline at end of file |
| uses: ./.github/workflows/reusable-release.yml | ||
| with: | ||
| build_type: stable | ||
| secrets: inherit No newline at end of file |
| @@ -0,0 +1 @@ | |||
| #placeholder for real public key No newline at end of file | |||
| Configure the channel (stable, daily) in the configuration file (`etc/terraform-amd64.conf` or `etc/terraform-arm64.conf` based on your host architecture), then run: | ||
| ```bash | ||
| just genkey | ||
| just do-release |
There was a problem hiding this comment.
| just do-release | |
| just do-daily |
| More information about the concepts behind `live-build` and the technical decisions made to arrive at this set of tools to build an .iso can be found [on the wiki](https://github.com/elementary/os/wiki/Building-iso-Images). | ||
| ## Minimum specs | ||
| - UEFI | ||
| - ~8gb usb stick |
There was a problem hiding this comment.
| - ~8gb usb stick | |
| - 8 GB of USB flash drive |
| ## Minimum specs | ||
| - UEFI | ||
| - ~8gb usb stick | ||
| - Gnome Boxes >=51 (for VM only) |
There was a problem hiding this comment.
| - Gnome Boxes >=51 (for VM only) | |
| - GNOME Boxes >=51 (for VM only) |
| - UEFI | ||
| - ~8gb usb stick | ||
| - Gnome Boxes >=51 (for VM only) | ||
| - 70gb destination disk, 4gb ram (less should be possible, but not tested) |
There was a problem hiding this comment.
| - 70gb destination disk, 4gb ram (less should be possible, but not tested) | |
| - 64 GB of destination disk | |
| - 4 GB of system memory (RAM) |
I can install with 64 GB.
| just genkey | ||
| just do-release | ||
| ``` | ||
| Create install media with [Fedora Media Writer](https://flathub.org/en/apps/org.fedoraproject.MediaWriter) or [Impression](flathub.org/en/apps/io.gitlab.adhami3310.Impression), or boot with Gnome Boxes (>=51). Then, in demo mode, install via script: |
There was a problem hiding this comment.
| Create install media with [Fedora Media Writer](https://flathub.org/en/apps/org.fedoraproject.MediaWriter) or [Impression](flathub.org/en/apps/io.gitlab.adhami3310.Impression), or boot with Gnome Boxes (>=51). Then, in demo mode, install via script: | |
| Create install media with [Fedora Media Writer](https://flathub.org/en/apps/org.fedoraproject.MediaWriter) or [Impression](flathub.org/en/apps/io.gitlab.adhami3310.Impression), or boot with GNOME Boxes (>=51). Then, in demo mode, install via script: |
|
|
||
| More information about the concepts behind `live-build` and the technical decisions made to arrive at this set of tools to build an .iso can be found [on the wiki](https://github.com/elementary/os/wiki/Building-iso-Images). | ||
| ## Minimum specs | ||
| - UEFI |
There was a problem hiding this comment.
| - UEFI | |
| - UEFI with secure boot disabled |

Migrate to mkosi and sysupdate
I got basic boot, missing a few package update to be able to check the full experience with Resolute.
Fixes elementary/settings-daemon#167
Fixes #717
Fixes #724