diff --git a/.gitea/workflows/build-iso.yaml b/.gitea/workflows/build-iso.yaml index 403b1dd..9dedb12 100644 --- a/.gitea/workflows/build-iso.yaml +++ b/.gitea/workflows/build-iso.yaml @@ -7,7 +7,7 @@ on: env: FEDORA_VERSION: "44" - KICKSTART_FILE: desktop_44_standard_grub_gnome_guest-agents + KICKSTART_FILE: live-desktop_44_livefs_grub_gnome_guest-agents_live jobs: validate: @@ -39,6 +39,7 @@ jobs: shell: bash container: image: git.phyllo.me/devops/fedora-runner-image:latest + privileged: true steps: - uses: https://git.phyllo.me/devops/checkout@v5 @@ -58,7 +59,11 @@ jobs: - name: Build ISO with livemedia-creator run: | - livemedia-creator --ks cook/dishes/${{ env.KICKSTART_FILE }}.cfg --no-virt --resultdir build --project phyllomeos --make-iso --volid phyllomeos --iso-only --iso-name ${{ env.KICKSTART_FILE }}-${{ env.FEDORA_VERSION }}.iso --releasever ${{ env.FEDORA_VERSION }} --macboot + for i in $(seq 0 63); do mknod -m 0660 /dev/loop$i b 7 $i 2>/dev/null || true; done + mknod -m 0660 /dev/loop-control b 7 0 2>/dev/null || true + ks="$(mktemp --suffix=.cfg)" + grep -v -E '^(text|cmdline|graphical)([[:space:]]|$)' "cook/dishes/${{ env.KICKSTART_FILE }}.cfg" > "$ks" + livemedia-creator --ks "$ks" --no-virt --resultdir build --project phyllomeos --make-iso --volid phyllomeos --iso-only --iso-name ${{ env.KICKSTART_FILE }}-${{ env.FEDORA_VERSION }}.iso --releasever ${{ env.FEDORA_VERSION }} --macboot - name: Upload ISO as artifact if: github.ref == 'refs/heads/main' diff --git a/.gitignore b/.gitignore index 1076864..361a65d 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,8 @@ build/ # Python __pycache__/ *.py[cod] -.pytest_cache/ \ No newline at end of file +.pytest_cache/ +# Build artifacts (livemedia-creator side effects) +anaconda/ +livemedia.log +program.log diff --git a/cook/recipe_templates.yaml b/cook/recipe_templates.yaml index fb83e65..a0c3ad3 100644 --- a/cook/recipe_templates.yaml +++ b/cook/recipe_templates.yaml @@ -36,6 +36,7 @@ choices: standard: storage/standard.ks encrypted: storage/encrypted.ks biosboot: storage/biosboot.ks + livefs: live/core/storage.ks bootloader: grub: bootloader/grub.ks systemd-boot: bootloader/systemd-boot.ks @@ -71,4 +72,10 @@ features: intelcpu: hypervisor/intelcpu.ks intelgpu: hypervisor/intelgpu.ks hardware-support: packages/hardware-support.ks - guest-agents: guest-agents/base.ks \ No newline at end of file + guest-agents: guest-agents/base.ks + live: + true: + - live/core/base.ks + - live/core/packages.ks + - live/post/base.ks + - live/post/session.ks \ No newline at end of file diff --git a/cook/recipes_manifest.yaml b/cook/recipes_manifest.yaml index 3cec6a2..315edf2 100644 --- a/cook/recipes_manifest.yaml +++ b/cook/recipes_manifest.yaml @@ -58,4 +58,14 @@ recipes: hardware-support: true guest-agents: false hypervisor: desktop - hypervisor_type: intelcpu \ No newline at end of file + hypervisor_type: intelcpu + + # Live desktop ISO variants (built with livemedia-creator --make-iso) + - name: live-desktop + variants: + - repository: "44" + desktop: gnome + storage: livefs + bootloader: grub + guest-agents: true + live: true \ No newline at end of file