-
-
Notifications
You must be signed in to change notification settings - Fork 257
feat: LTS Anaconda WebUI ISOs [pending https://github.com/ublue-os/titanoboa/pull/118] #2942
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 18 commits
Commits
Show all changes
24 commits
Select commit
Hold shift + click to select a range
b51f5d2
chore(anaconda): update Anaconda configuration for centos-release-kmo…
hanthor 5c1bb2d
Merge pull request #4 from hanthor/webui
hanthor 4810555
chore(workflow): update Maximize build space step to use container-st…
hanthor f5ef86b
chore(workflow): update Maximize build space step to use container-st…
hanthor d724506
Merge pull request #5 from ublue-os/main
pull[bot] 2733b19
Merge pull request #6 from ublue-os/main
pull[bot] c76f53a
Merge pull request #7 from ublue-os/main
pull[bot] fc4248e
chore(anaconda): add LTS configuration script and support for webui i…
hanthor 4ca4205
chore(anaconda): fix incorrect directory for webui in liveinst script
hanthor 8d3e599
chore(anaconda): remove anaconda-liveinst in favor of anaconda-live
hanthor 1252544
chore(anaconda): add libblockdev-btrfs to the installation specificat…
hanthor 3b9fff3
chore(anaconda): add libdnf5 and python3-libdnf5 to installation spec…
hanthor 093546b
chore(anaconda): add a newline after removing anaconda-liveinst for b…
hanthor d62cb72
Merge branch 'main' into webui
hanthor 6221f41
Merge branch 'main' into webui
hanthor 6c257c7
fix: update image reference and adjust artifact upload condition in w…
hanthor 25bb98f
Merge branch 'main' into webui
hanthor ad7857e
fix: use central flatpak list
hanthor 138dbc9
revert: changing to xfs
hanthor 60ad518
revert: fedora to btrfs
hanthor 70b7e9d
fix: remove sudo
hanthor f3e3c56
fix: run both space savers
hanthor cd31e1c
Update .github/workflows/reusable-build-iso-anaconda.yml
hanthor 10f5339
fix: double maximize space
hanthor File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,188 @@ | ||
| #!/usr/bin/env bash | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Made an entirely different script for LTS, too many differences. May need the custom sbkey for GDX/HWE once we add akmods to those builds |
||
|
|
||
| set -eoux pipefail | ||
|
|
||
| IMAGE_INFO="$(cat /usr/share/ublue-os/image-info.json)" | ||
| IMAGE_TAG="$(jq -c -r '."image-tag"' <<<"$IMAGE_INFO")" | ||
| IMAGE_REF="$(jq -c -r '."image-ref"' <<<"$IMAGE_INFO")" | ||
| IMAGE_REF="${IMAGE_REF##*://}" | ||
| # sbkey='https://github.com/ublue-os/akmods/raw/main/certs/public_key.der' | ||
|
|
||
| # Configure Live Environment | ||
|
|
||
| # Remove packages from liveCD to save space | ||
| dnf remove -y google-noto-fonts-all ublue-brew ublue-motd yaru-theme || true | ||
|
|
||
| # Setup dock | ||
| tee /usr/share/glib-2.0/schemas/zz2-org.gnome.shell.gschema.override <<EOF | ||
| [org.gnome.shell] | ||
| welcome-dialog-last-shown-version='4294967295' | ||
| favorite-apps = ['anaconda.desktop', 'documentation.desktop', 'discourse.desktop', 'org.mozilla.firefox.desktop', 'org.gnome.Nautilus.desktop'] | ||
| EOF | ||
|
|
||
|
|
||
| glib-compile-schemas /usr/share/glib-2.0/schemas | ||
|
|
||
| systemctl disable rpm-ostree-countme.service | ||
| systemctl disable tailscaled.service | ||
| systemctl disable bootloader-update.service | ||
| # systemctl disable brew-upgrade.timer | ||
| # systemctl disable brew-update.timer | ||
| # systemctl disable brew-setup.service | ||
| systemctl disable rpm-ostreed-automatic.timer | ||
| systemctl disable uupd.timer | ||
| systemctl disable ublue-system-setup.service | ||
| # systemctl disable ublue-guest-user.service | ||
| systemctl disable check-sb-key.service | ||
| # systemctl --global disable ublue-flatpak-manager.service | ||
| systemctl --global disable podman-auto-update.timer | ||
| systemctl --global disable ublue-user-setup.service | ||
|
|
||
| # Configure Anaconda | ||
|
|
||
| # remove anaconda-liveinst to be replaced with anaconda-live | ||
| dnf remove -y anaconda-liveinst | ||
|
|
||
| # Install Anaconda, Webui if >= F42 | ||
| SPECS=( | ||
| "libdnf5" | ||
| "python3-libdnf5" | ||
| "libblockdev" | ||
| "libblockdev-lvm" | ||
| "libblockdev-dm" | ||
| "libblockdev-btrfs" | ||
| "anaconda-live" | ||
| "anaconda-webui" | ||
| "firefox" | ||
| ) | ||
|
|
||
| dnf copr enable -y jreilly1821/anaconda-webui | ||
|
|
||
| dnf install -y "${SPECS[@]}" | ||
|
|
||
|
|
||
| # Fix the wrong dir for webui | ||
| sudo sed -i 's|/usr/libexec/webui-desktop|/usr/libexec/anaconda/webui-desktop|g' /bin/liveinst | ||
|
hanthor marked this conversation as resolved.
Outdated
|
||
|
|
||
| # Anaconda Profile Detection | ||
|
|
||
| # Bluefin | ||
| tee /etc/anaconda/profile.d/bluefin-lts.conf <<'EOF' | ||
| # Anaconda configuration file for Bluefin LTS | ||
|
|
||
| [Profile] | ||
| # Define the profile. | ||
| profile_id = bluefin | ||
|
|
||
| [Profile Detection] | ||
| # Match os-release values | ||
| os_id = bluefin-lts | ||
|
|
||
| [Network] | ||
| default_on_boot = FIRST_WIRED_WITH_LINK | ||
|
|
||
| [Bootloader] | ||
| efi_dir = centos | ||
| menu_auto_hide = True | ||
|
|
||
| [Storage] | ||
| file_system_type = xfs | ||
| default_partitioning = | ||
| / (min 5 GiB, max 70 GiB) | ||
| /var (min 5 GiB) | ||
|
|
||
| [User Interface] | ||
| custom_stylesheet = /usr/share/anaconda/pixmaps/silverblue/fedora-silverblue.css | ||
| hidden_spokes = | ||
| NetworkSpoke | ||
| PasswordSpoke | ||
| UserSpoke | ||
| hidden_webui_pages = | ||
| anaconda-screen-accounts | ||
|
|
||
| [Localization] | ||
| use_geolocation = False | ||
| EOF | ||
|
|
||
| sed -i 's/^ID=.*/ID=bluefin-lts/' /usr/lib/os-release | ||
| echo "VARIANT_ID=bluefin-lts" >>/usr/lib/os-release | ||
|
|
||
| # Configure | ||
| . /etc/os-release | ||
| # if [[ "$IMAGE_TAG" =~ gts ]]; then | ||
| # echo "Bluefin ${IMAGE_TAG^^} release $VERSION_ID (${VERSION_CODENAME:=Big Bird})" >/etc/system-release | ||
| # else | ||
| echo "Bluefin release $VERSION_ID Achillobator" >/etc/system-release | ||
| sed -i 's/ANACONDA_PRODUCTVERSION=.*/ANACONDA_PRODUCTVERSION=""/' /usr/{,s}bin/liveinst || true | ||
| sed -i 's|^Icon=.*|Icon=/usr/share/pixmaps/fedora-logo-icon.png|' /usr/share/applications/liveinst.desktop || true | ||
| sed -i 's| Fedora| Bluefin|' /usr/share/anaconda/gnome/fedora-welcome || true | ||
| sed -i 's|Activities|in the dock|' /usr/share/anaconda/gnome/fedora-welcome || true | ||
|
|
||
| # Get Artwork | ||
| git clone --depth=1 https://github.com/ublue-os/packages.git /root/packages | ||
| mkdir -p /usr/share/anaconda/pixmaps/silverblue | ||
| cp -r /root/packages/bluefin/fedora-logos/src/anaconda/* /usr/share/anaconda/pixmaps/silverblue/ | ||
| rm -rf /root/packages | ||
|
|
||
| # Interactive Kickstart | ||
| tee -a /usr/share/anaconda/interactive-defaults.ks <<EOF | ||
| ostreecontainer --url=ghcr.io/ublue-os/bluefin:lts --transport=containers-storage --no-signature-verification | ||
| %include /usr/share/anaconda/post-scripts/install-configure-upgrade.ks | ||
| %include /usr/share/anaconda/post-scripts/install-flatpaks.ks | ||
| EOF | ||
|
|
||
| # Signed Images | ||
| tee /usr/share/anaconda/post-scripts/install-configure-upgrade.ks <<EOF | ||
| %post --erroronfail | ||
| bootc switch --mutate-in-place --enforce-container-sigpolicy --transport registry $IMAGE_REF:$IMAGE_TAG | ||
| %end | ||
| EOF | ||
|
|
||
| # # Disable Fedora Flatpak | ||
| # tee /usr/share/anaconda/post-scripts/disable-fedora-flatpak.ks <<'EOF' | ||
| # %post --erroronfail | ||
| # systemctl disable flatpak-add-fedora-repos.service | ||
| # %end | ||
| # EOF | ||
|
|
||
| # Install Flatpaks | ||
| tee /usr/share/anaconda/post-scripts/install-flatpaks.ks <<'EOF' | ||
| %post --erroronfail --nochroot | ||
| deployment="$(ostree rev-parse --repo=/mnt/sysimage/ostree/repo ostree/0/1/0)" | ||
| target="/mnt/sysimage/ostree/deploy/default/deploy/$deployment.0/var/lib/" | ||
| mkdir -p "$target" | ||
| rsync -aAXUHKP /var/lib/flatpak "$target" | ||
| %end | ||
| EOF | ||
|
|
||
| # Fetch the Secureboot Public Key | ||
| # curl --retry 15 -Lo /etc/sb_pubkey.der "$sbkey" | ||
|
|
||
| # # Enroll Secureboot Key | ||
| # tee /usr/share/anaconda/post-scripts/secureboot-enroll-key.ks <<'EOF' | ||
| # %post --erroronfail --nochroot | ||
| # set -oue pipefail | ||
|
|
||
| # readonly ENROLLMENT_PASSWORD="universalblue" | ||
| # readonly SECUREBOOT_KEY="/etc/sb_pubkey.der" | ||
|
|
||
| # if [[ ! -d "/sys/firmware/efi" ]]; then | ||
| # echo "EFI mode not detected. Skipping key enrollment." | ||
| # exit 0 | ||
| # fi | ||
|
|
||
| # if [[ ! -f "$SECUREBOOT_KEY" ]]; then | ||
| # echo "Secure boot key not provided: $SECUREBOOT_KEY" | ||
| # exit 0 | ||
| # fi | ||
|
|
||
| # SYS_ID="$(cat /sys/devices/virtual/dmi/id/product_name)" | ||
| # if [[ ":Jupiter:Galileo:" =~ ":$SYS_ID:" ]]; then | ||
| # echo "Steam Deck hardware detected. Skipping key enrollment." | ||
| # exit 0 | ||
| # fi | ||
|
|
||
| # mokutil --timeout -1 || : | ||
| # echo -e "$ENROLLMENT_PASSWORD\n$ENROLLMENT_PASSWORD" | mokutil --import "$SECUREBOOT_KEY" || : | ||
| # %end | ||
| # EOF | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the important bit