diff options
| author | 2024-08-30 11:30:26 -0700 | |
|---|---|---|
| committer | 2024-09-28 15:10:02 -0700 | |
| commit | 03aacd1818f24ff945f206ac580699b6b23cef11 (patch) | |
| tree | ab592b4bf8af72050efa511af6d2c7dfd5ecf65f | |
| parent | 5fe8b10e986e41eec9cde4e0004c8ac28dc4b76c (diff) | |
| download | kiwi-descriptions-03aacd1818f24ff945f206ac580699b6b23cef11.tar.gz kiwi-descriptions-03aacd1818f24ff945f206ac580699b6b23cef11.zip | |
Add FEX-RootFS definition
Add a new definition for a RootFS to be used by FEX (https://src.fedoraproject.org/rpms/fex-emu). This is based on the upstream manifest (https://github.com/FEX-Emu/RootFS/blob/main/Configs/Fedora_40.json).
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
| -rw-r--r-- | Fedora.kiwi | 1 | ||||
| -rw-r--r-- | VARIANTS.md | 1 | ||||
| -rwxr-xr-x | config.sh | 8 | ||||
| -rw-r--r-- | fex-excludes.yaml | 34 | ||||
| -rw-r--r-- | teams/asahi.xml | 162 | ||||
| -rw-r--r-- | tmt/plans/asahi/build-fex-rootfs.fmf | 12 |
6 files changed, 214 insertions, 4 deletions
diff --git a/Fedora.kiwi b/Fedora.kiwi index d19c4a9..b19d43f 100644 --- a/Fedora.kiwi +++ b/Fedora.kiwi @@ -47,6 +47,7 @@ <include from="this://./teams/sway.xml"/> <include from="this://./teams/budgie.xml"/> <include from="this://./teams/miraclewm.xml"/> + <include from="this://./teams/asahi.xml"/> <packages type="bootstrap"> <package name="basesystem"/> <package name="filesystem"/> diff --git a/VARIANTS.md b/VARIANTS.md index fb67c7b..4b8bf3a 100644 --- a/VARIANTS.md +++ b/VARIANTS.md @@ -14,6 +14,7 @@ | | | `Container-Base-Generic-Minimal` | | | | `Container-Base-Generic` | | Toolbox Container | `oci` | `Container-Toolbox` | +| RootFS for FEX | `erofs` | `FEX-RootFS` | | KDE Spin | `iso` | `KDE-Desktop-Live` | | | `oem` | `KDE-Desktop-Disk` | | KDE Mobile Spin | `iso` | `KDE-Mobile-Live` | @@ -16,7 +16,7 @@ echo "Configure image: [$kiwi_iname]-[$kiwi_profiles]..." #====================================== # Set SELinux booleans #-------------------------------------- -if [[ "$kiwi_profiles" != *"Container"* ]]; then +if [[ "$kiwi_profiles" != *"Container"* ]] && [[ "$kiwi_profiles" != *"FEX"* ]]; then ## Fixes KDE Plasma, see rhbz#2058657 setsebool -P selinuxuser_execmod 1 fi @@ -33,7 +33,7 @@ rm -f /var/lib/systemd/random-seed #====================================== # Configure grub correctly #-------------------------------------- -if [[ "$kiwi_profiles" != *"Container"* ]]; then +if [[ "$kiwi_profiles" != *"Container"* ]] && [[ "$kiwi_profiles" != *"FEX"* ]]; then ## Works around issues with grub-bls ## See: https://github.com/OSInside/kiwi/issues/2198 echo "GRUB_DEFAULT=saved" >> /etc/default/grub @@ -111,7 +111,7 @@ fi #====================================== # Setup default target #-------------------------------------- -if [[ "$kiwi_profiles" != *"Container"* ]]; then +if [[ "$kiwi_profiles" != *"Container"* ]] && [[ "$kiwi_profiles" != *"FEX"* ]]; then if [[ "$kiwi_profiles" == *"Desktop"* ]]; then systemctl set-default graphical.target else @@ -192,7 +192,7 @@ chmod 600 /root/.ssh/authorized_keys chown -R root:root /root/.ssh fi -if [[ "$kiwi_profiles" == *"Container"* ]]; then +if [[ "$kiwi_profiles" == *"Container"* ]] || [[ "$kiwi_profiles" == *"FEX"* ]]; then # Set install langs macro so that new rpms that get installed will # only install langs that we limit it to. LANG="en_US" diff --git a/fex-excludes.yaml b/fex-excludes.yaml new file mode 100644 index 0000000..2619ae6 --- /dev/null +++ b/fex-excludes.yaml @@ -0,0 +1,34 @@ +exclude: +- /dev +- /sys +- /proc +- /etc/hosts +- /etc/resolv.conf +- /etc/timezone +- /etc/localtime +- /etc/passwd +- /etc/passwd- +- /etc/group +- /etc/group- +- /etc/shadow +- /etc/shadow- +- /etc/gshadow +- /etc/gshadow- +- /etc/fstab +- /etc/mtab +- /etc/subuid +- /etc/subgid +- /etc/machine-id +- /boot +- /home +- /media +- /mnt +- /root +- /srv +- /tmp +- /run +- /opt +- /var/tmp +- /var/run +- /var/lock +- /var/lib/dbus/machine-id diff --git a/teams/asahi.xml b/teams/asahi.xml new file mode 100644 index 0000000..d5766ab --- /dev/null +++ b/teams/asahi.xml @@ -0,0 +1,162 @@ +<image> + <profiles> + <profile name="FEX-RootFS" description="FEX RootFS packages"/> + </profiles> + <preferences profiles="FEX-RootFS" arch="x86_64"> + <type image="erofs" erofscompression="lz4"/> + <timezone>Etc/UTC</timezone> + <locale>en_US</locale> + <rpm-locale-filtering>true</rpm-locale-filtering> + <rpm-excludedocs>true</rpm-excludedocs> + </preferences> + <packages type="image" profiles="FEX-RootFS"> + <file name="fex-excludes.yaml" target="image/exclude_files.yaml"/> + </packages> + <packages type="bootstrap" profiles="FEX-RootFS"> + <package name="dnf5-plugins"/> + <package name="util-linux-core"/> + <package name="sudo"/> + <package name="rsync"/> + <package name="glibc.x86_64"/> + <package name="glibc.i686"/> + <package name="dbus"/> + <package name="systemd.x86_64"/> + <package name="systemd.i686"/> + <package name="systemd-libs.x86_64"/> + <package name="systemd-libs.i686"/> + <package name="pulseaudio.x86_64"/> + <package name="mesa-libGL.x86_64"/> + <package name="mesa-libGL.i686"/> + <package name="mesa-libEGL.x86_64"/> + <package name="mesa-libEGL.i686"/> + <package name="mesa-libGLU.x86_64"/> + <package name="mesa-libGLU.i686"/> + <package name="mesa-dri-drivers.x86_64"/> + <package name="mesa-dri-drivers.i686"/> + <package name="mesa-vulkan-drivers.x86_64"/> + <package name="mesa-vulkan-drivers.i686"/> + <package name="mesa-va-drivers.x86_64"/> + <package name="mesa-va-drivers.i686"/> + <package name="mesa-demos.x86_64"/> + <package name="libglvnd-opengl.x86_64"/> + <package name="libglvnd-opengl.i686"/> + <package name="libglvnd-egl.x86_64"/> + <package name="libglvnd-egl.i686"/> + <package name="libglvnd-gles.x86_64"/> + <package name="libglvnd-gles.i686"/> + <package name="libatomic.x86_64"/> + <package name="libatomic.i686"/> + <package name="libatomic_ops.x86_64"/> + <package name="libatomic_ops.i686"/> + <package name="libunwind.x86_64"/> + <package name="libunwind.i686"/> + <package name="libnsl.x86_64"/> + <package name="libnsl.i686"/> + <package name="flac-libs.x86_64"/> + <package name="flac-libs.i686"/> + <package name="SDL2.x86_64"/> + <package name="SDL2.i686"/> + <package name="sdl12-compat.x86_64"/> + <package name="sdl12-compat.i686"/> + <package name="protobuf-compiler.x86_64"/> + <package name="protobuf-compiler.i686"/> + <package name="protobuf-c.x86_64"/> + <package name="protobuf-c.i686"/> + <package name="openal-soft.x86_64"/> + <package name="openal-soft.i686"/> + <package name="speex.x86_64"/> + <package name="speex.i686"/> + <package name="libvorbis.x86_64"/> + <package name="libvorbis.i686"/> + <package name="usbutils"/> + <package name="pciutils"/> + <package name="libpciaccess.x86_64"/> + <package name="libpciaccess.x86_64"/> + <package name="glew-devel.x86_64"/> + <package name="glew-devel.i686"/> + <package name="libX11-xcb.x86_64"/> + <package name="libX11-xcb.i686"/> + <package name="xcb-util.x86_64"/> + <package name="xcb-util.i686"/> + <package name="xcb-util-cursor.x86_64"/> + <package name="xcb-util-cursor.i686"/> + <package name="xcb-util-image.x86_64"/> + <package name="xcb-util-image.i686"/> + <package name="xcb-util-keysyms.x86_64"/> + <package name="xcb-util-keysyms.i686"/> + <package name="xcb-util-xrm.x86_64"/> + <package name="xcb-util-xrm.i686"/> + <package name="libxkbcommon.x86_64"/> + <package name="libxkbcommon.i686"/> + <package name="libwayland-client.x86_64"/> + <package name="libwayland-client.i686"/> + <package name="libwayland-egl.x86_64"/> + <package name="libwayland-egl.i686"/> + <package name="libXext.x86_64"/> + <package name="libXext.i686"/> + <package name="libXdamage.x86_64"/> + <package name="libXdamage.i686"/> + <package name="libxcb.x86_64"/> + <package name="libxcb.i686"/> + <package name="libxshmfence.x86_64"/> + <package name="libxshmfence.i686"/> + <package name="libXxf86vm.x86_64"/> + <package name="libXxf86vm.i686"/> + <package name="libXrandr.x86_64"/> + <package name="libXrandr.i686"/> + <package name="llvm-libs.x86_64"/> + <package name="llvm-libs.i686"/> + <package name="llvm14-libs.x86_64"/> + <package name="llvm14-libs.i686"/> + <package name="llvm15-libs.x86_64"/> + <package name="llvm15-libs.i686"/> + <package name="libclc.x86_64"/> + <package name="libclc.i686"/> + <package name="spirv-tools-devel.x86_64"/> + <package name="spirv-tools-devel.i686"/> + <package name="spirv-llvm-translator.x86_64"/> + <package name="spirv-llvm-translator.i686"/> + <package name="harfbuzz.x86_64"/> + <package name="harfbuzz.i686"/> + <package name="libva.x86_64"/> + <package name="libva.i686"/> + <package name="libvdpau.x86_64"/> + <package name="libvdpau.i686"/> + <package name="fuse-libs.x86_64"/> + <package name="fuse-libs.i686"/> + <package name="fuse3-libs.x86_64"/> + <package name="fuse3-libs.i686"/> + <package name="ibus-libs.x86_64"/> + <package name="ibus-libs.i686"/> + <package name="mangohud.x86_64"/> + <package name="mangohud.i686"/> + <package name="nss.x86_64"/> + <package name="nss.i686"/> + <package name="nspr.x86_64"/> + <package name="nspr.i686"/> + <package name="python3.x86_64"/> + <package name="python3.i686"/> + <package name="openssl-libs.x86_64"/> + <package name="openssl-libs.i686"/> + <package name="curl"/> + <package name="xterm"/> + <package name="zenity"/> + <package name="xz"/> + <package name="xdg-desktop-portal.x86_64"/> + <package name="xdg-desktop-portal.i686"/> + <package name="xdg-desktop-portal-gtk"/> + <package name="wine.x86_64"/> + <package name="wine.i686"/> + <package name="vulkan-tools"/> + <package name="vulkan-loader.i686"/> + <package name="vulkan-loader.x86_64"/> + <package name="pkgconf.x86_64"/> + <package name="pkgconf.i686"/> + <package name="clinfo"/> + <package name="gobject-introspection"/> + <package name="kbd-misc"/> + <package name="glibc-langpack-en"/> + <package name="zlib-ng.x86_64"/> + <package name="zlib-ng.i686"/> + </packages> +</image> diff --git a/tmt/plans/asahi/build-fex-rootfs.fmf b/tmt/plans/asahi/build-fex-rootfs.fmf new file mode 100644 index 0000000..30313f9 --- /dev/null +++ b/tmt/plans/asahi/build-fex-rootfs.fmf @@ -0,0 +1,12 @@ +summary: Build FEX RootFS +discover: + how: fmf +adjust: + enabled: false + when: arch != x86_64 +environment: + image_type: erofs + image_profile: FEX-RootFS + kiwi_file: Fedora.kiwi +execute: + how: tmt |