44 Commits

Author SHA1 Message Date
Lukas Greve
0752b2288b try minification 2025-12-11 00:03:30 +01:00
Lukas Greve
ccaf6f40ec cleanup 2025-12-09 17:01:50 +01:00
Lukas Greve
9400b239f8 test new ingredient.
Now not working. The idea would be to deploy a system from a squashfs.img image, to avoid having to redownload all packages
2025-11-21 11:04:41 +01:00
Lukas Greve
740557564d test new workflow to release ISO 2025-11-17 16:36:53 +01:00
Lukas Greve
f612842e50 explicitly mention fedora 43 2025-11-13 21:28:28 +01:00
Lukas Greve
37c8c925dd updated recipes version 2025-11-13 20:31:05 +01:00
Lukas Greve
b721ec7b59 bump to fedora 43 2025-11-13 20:30:11 +01:00
Lukas Greve
ab9aa58eb2 fix what looks like an embarassing regression
we need to specify arch and version, or have env  variable somehwhere do it for us. As of now, it seems safer to hardcode it.
2025-11-13 20:29:55 +01:00
Lukas Greve
7fced10c52 switch local to Zurich 2025-11-13 20:05:22 +01:00
Lukas Greve
59c82dd9c3 improve comment 2025-11-13 20:05:07 +01:00
Lukas Greve
461936a841 add some comment 2025-11-13 20:04:49 +01:00
Lukas Greve
7c3571f8e6 update comment to match reality 2025-10-16 12:08:39 +02:00
Lukas Greve
7ffc71043d reverting back to GRUB 2025-10-15 14:47:02 +02:00
Lukas Greve
a8dcf4011c moving to no-secure-boot, and more generally a simpler virtual machine definition 2025-10-15 14:46:40 +02:00
Lukas Greve
28b3e927a6 fix comment 2025-10-10 12:58:26 +02:00
Lukas Greve
06caf5b3c7 increase size of efi partition and explicitly list mbr for the location of the bootloader 2025-10-10 12:58:09 +02:00
Lukas Greve
5da0303cf5 add Spice and listen to all interfaces by default 2025-10-10 12:07:52 +02:00
Lukas Greve
de48f21335 remove grub conf 2025-10-07 15:35:07 +02:00
Lukas Greve
7ae6714da1 remove grub conf 2025-10-07 15:34:56 +02:00
Lukas Greve
246fba3efa switch to systemd-boot 2025-09-07 20:17:05 +02:00
Lukas Greve
2e56372e6d new systemd-boot ingredient for live systems 2025-09-07 20:15:20 +02:00
Lukas Greve
515950daad move to root directory 2025-09-05 18:04:55 +02:00
Lukas Greve
1fecc5ea1b adjust list of packages
packages related to libvirt are explicitly picked
2025-09-05 18:04:01 +02:00
Lukas Greve
8c2b118c8e add curl 2025-07-13 20:53:28 +02:00
Lukas Greve
dd41bcb66b refine the package selection 2025-07-13 20:53:21 +02:00
Lukas Greve
e9e70c6ce3 add gitignore file, excluding aider 2025-07-13 20:53:09 +02:00
Lukas Greve
6a043dcd3d move and rename list of ingredients 2025-07-01 21:28:50 +02:00
Lukas Greve
cf3ff84a6d new script to install prerequisites on common Linux distribution 2025-07-01 21:28:33 +02:00
Lukas Greve
46bbe1d5e9 add a iommu device in the automated VM deployment and set memballon to disable 2025-06-17 14:51:14 +02:00
Lukas Greve
b98f41512d restore variables for setting specific path and networking for session and system URI 2025-06-15 17:14:31 +02:00
Lukas Greve
8c96623ad7 make selection or URI options for qemu more robust. Allow the user to just use Enter
Only allow selection of files that starts with virtual (this script is only used to deploy virtual machine)

Reworked some comments
2025-06-15 14:32:46 +02:00
Lukas Greve
358e67a041 remove whitespace 2025-06-15 14:31:00 +02:00
Lukas Greve
3b4724cf86 Removing information to the user when script goes through. 2025-06-15 14:30:48 +02:00
Lukas Greve
684a49af14 no need to echo when it succeeds 2025-06-15 14:30:00 +02:00
Lukas Greve
e1207278a3 Add possibility to pick URI, from session to system 2025-06-08 11:51:15 +02:00
Lukas Greve
00f40553b5 Document th script 2025-06-04 20:00:08 +02:00
Lukas Greve
0316eff669 rename file 2025-05-29 17:50:29 +02:00
Lukas Greve
c458ab4b5c add ability to pick memory and disk size 2025-05-29 17:49:30 +02:00
Lukas Greve
02f2a131bf add pipewire and gnome-control-center to desktop editions 2025-05-29 17:48:59 +02:00
Lukas Greve
6cfad2d5eb move file 2025-05-29 17:48:37 +02:00
Lukas Greve
5c7a5713b9 bump hardware requirements, change default network, correct paths 2025-05-22 18:14:47 +02:00
Lukas Greve
63456e0e16 bump hardware requirements 2025-05-22 18:10:43 +02:00
Lukas Greve
01326af9d8 fix bug related to path
the extra-args should refer to the file, irrespective of its location.
2025-05-22 16:48:07 +02:00
Lukas Greve
be2f5cf7a2 rename code of conduct 2025-05-21 18:18:50 +02:00
52 changed files with 570 additions and 466 deletions

View File

@@ -0,0 +1,76 @@
name: release
on:
push:
branches:
- main # Or your desired branch
jobs:
checkout:
runs-on: fedora-cloud-42
defaults:
run:
shell: bash
container:
image: git.phyllo.me/devops/fedora-runner-image:latest
steps:
- uses: https://git.phyllo.me/devops/checkout@v5
with:
fetch-depth: 0
- name: Initialize mock
run: |
mock -r fedora-43-x86_64 --init
- name: Install required packages
run: |
mock -r fedora-43-x86_64 --install lorax-lmc-novirt vim-minimal pykickstart livecd-tools
- name: Copy configuration file to mock
run: |
mock -r fedora-43-x86_64 --copyin dishes/live-server.cfg /builddir
- name: Build ISO with livemedia-creator
run: |
mock -r fedora-43-x86_64 --shell --enable-network --isolation=simple << 'EOF'
cd /builddir
livemedia-creator --ks live-server.cfg --no-virt --resultdir /var/lmc --project live-desktop-hypervisor --make-iso --volid live-desktop-hypervisor --iso-only --iso-name server-43.iso --releasever 43 --macboot
EOF
- name: Upload ISO as artifact
uses: actions/upload-artifact@v3
with:
name: server-43.iso
path: /var/lmc/server-43.iso
if-no-files-found: error
- name: Create Release
if: github.ref == 'refs/heads/main'
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: iso-build-${{ github.run_number }}
release_name: ISO Build ${{ github.run_number }}
body: |
Build artifact from workflow run ${{ github.run_number }}
ISO file: server-43.iso
draft: false
prerelease: false
- name: Upload ISO to Release
if: github.ref == 'refs/heads/main'
uses: actions/upload-release-asset@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: /var/lmc/server-43.iso
asset_name: server-43.iso
asset_content_type: application/x-iso9660-image
- name: Cleanup mock environment
if: always()
run: |
mock -r fedora-43-x86_64 --clean

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.aider*

View File

@@ -2,6 +2,41 @@
[Phyllome OS](https://wiki.phyllo.me/phyllomeos/context) uses the [kickstart installation method](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#chapter-1-introduction) to deploy itself to a specific target computer or virtual machine by means of kickstart files.
Provided that some dependencies are met (`libvirt` is running on your computer, QEMU is installed, etc), one could run the following script to deploy virtual machines, including Phyllome OS itself.
- Make the script executable:
```
chmod +x deploy-vm.sh
```
- Execute it and pick `virtual-desktop-hypervisor` when prompted:
```
./deploy-vm.sh
Executing: ./scripts/core-count.sh
System has more than 2 core (nproc --all: 6).
[...]
10. virtual-desktop-hypervisor
[...]
Enter the number of the file you want to select: 10
You selected: virtual-desktop-hypervisor
Starting install...
Retrieving 'vmlinuz' | 16 MB 00:00:00
Retrieving 'initrd.img' | 161 MB 00:00:05
Allocating 'virtinst-n0km88yy-vmlinuz' | 16 MB 00:00:00
Transferring 'virtinst-n0km88yy-vmlinuz' | 16 MB 00:00:00
Allocating 'virtinst-qxr2jxcb-initrd.img' | 161 MB 00:00:00
Transferring 'virtinst-qxr2jxcb-initrd.img' | 161 MB 00:00:00
Allocating 'virtual-desktop-hypervisor.img' | 10 GB 00:00:00
Creating domain...
```
After a successfull installation, the virtual machine will shutdown and be ready to use when powered on again.
## Repository structure
This repository contains such files broken down as:
* `ingredients`🥑 🥥 🥭 🥝 🥦 🥬 🥒 🧄: the basic building blocks for assembling Phyllome OS and other derivatives.

View File

@@ -13,6 +13,7 @@ execute_script() {
# Array of scripts
scripts=(
"./scripts/install-prerequisites-on-linux.sh"
"./scripts/core-count.sh"
"./scripts/system-memory.sh"
"./scripts/deploy-distro.sh"

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -265,10 +264,10 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
guestfs-tools
hostname
intel-audio-firmware
intel-gpu-firmware
@@ -282,11 +281,22 @@ kbd
kernel
less
libertas-firmware
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db
mesa-dri-drivers
mozilla-ublock-origin.noarch
@@ -299,11 +309,13 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-kvm
realtek-firmware
rootfiles
@@ -322,7 +334,6 @@ util-linux
vim-minimal
virt-install
virt-manager
virt-top
wget
wpa_supplicant
zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -275,10 +274,10 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
guestfs-tools
hostname
intel-audio-firmware
intel-gpu-firmware
@@ -292,11 +291,22 @@ kbd
kernel
less
libertas-firmware
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db
mesa-dri-drivers
mozilla-ublock-origin.noarch
@@ -309,11 +319,13 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-kvm
realtek-firmware
rootfiles
@@ -332,7 +344,6 @@ util-linux
vim-minimal
virt-install
virt-manager
virt-top
wget
wpa_supplicant
zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -265,10 +264,10 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
guestfs-tools
hostname
intel-audio-firmware
intel-gpu-firmware
@@ -282,11 +281,22 @@ kbd
kernel
less
libertas-firmware
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db
mesa-dri-drivers
mozilla-ublock-origin.noarch
@@ -299,11 +309,13 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-kvm
realtek-firmware
rootfiles
@@ -322,7 +334,6 @@ util-linux
vim-minimal
virt-install
virt-manager
virt-top
wget
wpa_supplicant
zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -257,10 +256,10 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
guestfs-tools
hostname
intel-audio-firmware
intel-gpu-firmware
@@ -274,11 +273,22 @@ kbd
kernel
less
libertas-firmware
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db
mesa-dri-drivers
mozilla-ublock-origin.noarch
@@ -291,11 +301,13 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-kvm
realtek-firmware
rootfiles
@@ -314,7 +326,6 @@ util-linux
vim-minimal
virt-install
virt-manager
virt-top
wget
wpa_supplicant
zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -164,6 +163,7 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
@@ -193,6 +193,9 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -40,7 +40,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -317,10 +316,10 @@ generic-release-notes
glibc
glibc-all-langpacks
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
guestfs-tools
hostname
intel-audio-firmware
intel-gpu-firmware
@@ -336,11 +335,22 @@ kernel-modules
kernel-modules-extra
less
libertas-firmware
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
livesys-scripts
man-db
mesa-dri-drivers
@@ -354,11 +364,13 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-kvm
realtek-firmware
rootfiles
@@ -377,7 +389,6 @@ util-linux
vim-minimal
virt-install
virt-manager
virt-top
wget
wpa_supplicant
zram-generator-defaults

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -40,7 +40,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -224,6 +223,7 @@ generic-release-notes
glibc
glibc-all-langpacks
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
@@ -256,6 +256,9 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration
bootloader --location=none --timeout=1
# Clear the Master Boot Record
@@ -38,7 +38,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -165,7 +164,6 @@ generic-release-common
generic-release-notes
glibc
glibc-all-langpacks
guestfs-tools
hostname
initial-setup
intel-audio-firmware
@@ -182,11 +180,22 @@ kernel-modules
kernel-modules-extra
less
libertas-firmware
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
livesys-scripts
man-db
mt7xxx-firmware
@@ -202,7 +211,6 @@ plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-kvm
realtek-firmware
rootfiles
@@ -220,7 +228,6 @@ usbutils
util-linux
vim-minimal
virt-install
virt-top
wget
zram-generator-defaults

View File

@@ -12,8 +12,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -21,9 +21,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration
bootloader --location=none --timeout=1
# Clear the Master Boot Record
@@ -38,7 +38,6 @@ part / --size=8576
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -250,21 +249,32 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
guestfs-tools
hostname
iproute
iputils
kbd
kernel
less
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db
mesa-dri-drivers
mozilla-ublock-origin.noarch
@@ -274,11 +284,13 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-guest-agent
qemu-kvm
rootfiles
@@ -297,7 +309,6 @@ util-linux
vim-minimal
virt-install
virt-manager
virt-top
wget
wpa_supplicant
zram-generator-defaults

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# X Window System configuration information
xconfig --defaultdesktop=GNOME --startxonboot
# System bootloader configuration
@@ -35,7 +35,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -43,7 +43,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -157,6 +156,7 @@ generic-release-common
generic-release-notes
glibc
gnome-backgrounds.noarch
gnome-control-center
gnome-initial-setup
gnome-shell
gnome-terminal
@@ -176,6 +176,9 @@ openssh-clients
openssh-server
parted
pciutils
pipewire-alsa
pipewire-jack-audio-connection-kit
pipewire-pulseaudio
plymouth
policycoreutils
prefixdevname

View File

@@ -1,88 +0,0 @@
# Generated by pykickstart v3.62
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved"
# System timezone
timezone Europe/Paris --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
# System bootloader configuration
bootloader --location=mbr --timeout=1 --sdboot
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%packages --exclude-weakdeps
basesystem
bash
curl
dhcp-client
dnf5
dracut
filesystem
glibc
hostname
initial-setup
iproute
iputils
kbd
kernel
ncurses
parted
procps-ng
qemu-guest-agent
rootfiles
rpm
setup
shadow-utils
spice-vdagent
systemd
util-linux
-audit
-coreutils
-e2fsprogs
-less
-man-db
-openssh-clients
-openssh-server
-policycoreutils
-selinux-policy-targeted
-sssd-common
-sssd-kcm
-sudo
-vim-minimal
%end

View File

@@ -14,8 +14,8 @@ lang en_US.UTF-8
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
@@ -23,9 +23,9 @@ selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved,libvirtd"
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration
bootloader --location=mbr --timeout=1
# Clear the Master Boot Record
@@ -33,7 +33,7 @@ zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part / --fstype="ext4" --grow --label=root
@@ -41,7 +41,6 @@ part / --fstype="ext4" --grow --label=root
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
@@ -98,7 +97,6 @@ generic-release
generic-release-common
generic-release-notes
glibc
guestfs-tools
hostname
initial-setup
iproute
@@ -106,11 +104,22 @@ iputils
kbd
kernel
less
libguestfs-tools
libusb
libvirt
libvirt-client
libvirt-client-qemu
libvirt-daemon
libvirt-daemon-common
libvirt-daemon-config-network
libvirt-daemon-driver-ch
libvirt-daemon-driver-interface
libvirt-daemon-driver-network
libvirt-daemon-driver-qemu
libvirt-daemon-kvm
libvirt-daemon-log
libvirt-daemon-qemu
libvirt-dbus
libvirt-nss
man-db
nano
ncurses
@@ -122,7 +131,6 @@ plymouth
policycoreutils
prefixdevname
procps-ng
python3-libguestfs
qemu-guest-agent
qemu-kvm
rootfiles
@@ -140,7 +148,6 @@ usbutils
util-linux
vim-minimal
virt-install
virt-top
wget
zram-generator-defaults

View File

@@ -2,107 +2,46 @@
#version=DEVEL
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --reconfig
# Keyboard layouts
keyboard --xlayouts='ch (fr)'
# System language
lang en_US.UTF-8
# Network information
network --bootproto=dhcp --device=link --hostname=phyllome-alpha --activate
# Shutdown after installation
shutdown
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch
repo --name="fedora" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
# Root password
rootpw --iscrypted --lock locked
# SELinux configuration
selinux --disabled
# System services
services --enabled="NetworkManager,systemd-resolved"
rootpw --plaintext 1234 # Root account is enabled with weak password
# System timezone
timezone Europe/Paris --utc
timezone Europe/Zurich --utc
# Use network installation
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch"
url --mirrorlist="https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64"
# System bootloader configuration
bootloader --location=mbr --timeout=1
bootloader --sdboot
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi
part /boot --fstype="ext4" --size=512 --label=boot
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi
part / --fstype="ext4" --grow --label=root
%post --logfile=/mnt/sysimage/root/post.log
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end
%packages --exclude-weakdeps
NetworkManager
NetworkManager-config-connectivity-fedora
audit
%packages --nocore --inst-langs=en --exclude-weakdeps
basesystem
bash
coreutils
curl
dhcp-client
dnf5
dnf5-plugins
dracut
dracut-config-rescue
e2fsprogs
fedora-remix-logos
filesystem
firewalld
fwupd
generic-logos
generic-release
generic-release-common
generic-release-notes
glibc
hostname
initial-setup
iproute
iputils
kbd
kernel
less
libusb
man-db
nano
ncurses
openssh-clients
openssh-server
parted
pciutils
plymouth
policycoreutils
prefixdevname
procps-ng
qemu-guest-agent
rootfiles
rpm
selinux-policy-targeted
setup
shadow-utils
spice-vdagent
sssd-common
sssd-kcm
sudo
systemd
systemd-resolved
usbutils
util-linux
vim-minimal
wget
zram-generator-defaults
%end

View File

@@ -4,6 +4,7 @@ xconfig --startxonboot --defaultdesktop=GNOME # Start the display session on boo
gnome-shell # the version 3 of the GNOME desktop environment, without any presintalled applications
gnome-terminal # install the default terminal for GNOME Shell
gnome-control-center # Utilities to configure the GNOME desktop
-gnome-tour # delete GNOME Tour so it doesn't automatically launch on boot
mesa-dri-drivers # add mesa drivers otherwise there is a blank screen when first booting a desktop-based kickstart without virtualization tools
dejavu-sans-mono-fonts # the gnome-shell package doesn't include much fonts by default, resulting in weird spacings in GNOME Terminal. GNOME Terminal unfortunately doesn't automatically pick this font
@@ -12,6 +13,9 @@ wpa_supplicant # WPA Supplicant for Linux. It is not packaged by default in GNOM
NetworkManager-wifi # Provides the plugin to manage Wireless networking within GNOME Shell
firefox # Internet browser
mozilla-ublock-origin.noarch # An efficient ad blocker for Firefox
pipewire-alsa # PipeWire media server ALSA support
pipewire-pulseaudio # PipeWire PulseAudio implementation
pipewire-jack-audio-connection-kit # PipeWire JACK implementation
%end # End of the packagages section

View File

@@ -2,16 +2,23 @@ services --enabled="NetworkManager,systemd-resolved,libvirtd" # Without libvirtd
%packages --exclude-weakdeps # Beginning of the packages section. Does not include weak dependencies.
qemu-kvm
libvirt
libvirt-daemon-config-network
libvirt-daemon-kvm
# libvirt-daemon-driver-lxc
virt-install
virt-top
libguestfs-tools # Complementary tools useful for interacting with vith guest systems. Could probablby be removed
python3-libguestfs # Complementary tools useful for interacting with vith guest systems. Could probablby be removed
guestfs-tools # Complementary tools useful for interacting with vith guest systems. Could probablby be removed
qemu-kvm # QEMU metapackage for KVM support
libvirt # Library providing a simple virtualization API
libvirt-client # Client side utilities of the libvirt library
libvirt-client-qemu # Additional client side utilities for QEMU. Used to interact with some QEMU specific features of libvirt.
libvirt-daemon # Server side daemon and supporting files for libvirt library
libvirt-daemon-common # Miscellaneous files and utilities used by other libvirt daemons
libvirt-daemon-config-network # Default configuration files for the libvirtd daemon. Provides NAT based networking
libvirt-daemon-driver-interface # Interface driver plugin for the libvirtd daemon
libvirt-daemon-driver-network # The network driver plugin for the libvirtd daemon, providing an implementation of the virtual network APIs using the Linux bridge capabilities.
libvirt-daemon-driver-qemu # QEMU driver plugin for the libvirtd daemon
libvirt-daemon-kvm # Server side daemon & driver required to run KVM guests
libvirt-daemon-log # Server side daemon for managing logs
libvirt-daemon-qemu # Server side daemon and driver required to manage the virtualization capabilities of the QEMU TCG emulators
libvirt-nss # Libvirt plugin for Name Service Switch
libvirt-dbus # libvirt D-Bus API binding
libvirt-daemon-driver-ch # Cloud-Hypervisor driver plugin for libvirtd daemon
virt-install # Utilities for installing virtual machines
%end # End of the packages section

View File

@@ -0,0 +1 @@
liveimg --url=file:///mnt/iso/LiveOS/squashfs.img

View File

@@ -0,0 +1,3 @@
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 # Official Fedora mirror
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64 # Official Fedora updates mirror
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-43&arch=x86_64 # Official Fedora updates mirror

View File

@@ -1,2 +1,2 @@
repo --name=rawhide --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=$basearch
repo --name=rawhide --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64

View File

@@ -1,3 +0,0 @@
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch # Official Fedora mirror
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f$releasever&arch=$basearch # Official Fedora updates mirror
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-$releasever&arch=$basearch # Official Fedora updates mirror

View File

@@ -1,3 +1,3 @@
keyboard --xlayouts='ch (fr)' # Set keyboard layouts for Romandy
lang en_US.UTF-8 # Set system language to American English. More languages could be supported: --addsupport=cs_CZ,de_DE,en_UK
timezone Europe/Paris --utc # Set system timezone to Paris
timezone Europe/Zurich --utc # Set system timezone to Zurich

View File

@@ -1,23 +0,0 @@
%packages --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
# Default but not necessary packages that are part of the core DNF group
NetworkManager # Network connection manager and user applications
NetworkManager-config-connectivity-fedora # NetworkManager config file for connectivity checking via Fedora servers
dnf5-plugins # Plugins for dnf5
dracut-config-rescue # dracut configuration to turn on rescue image generation
firewalld # A firewall daemon with D-Bus interface providing a dynamic firewall
fwupd # Firmware update daemon
plymouth # Graphical Boot Animation and Logger
prefixdevname # Udev helper utility that provides network interface naming using user defined prefix
systemd-resolved # Network Name Resolution manager
zram-generator-defaults # Default configuration for zram-generator
# Hand-picked packages
pciutils # PCI bus related utilities
libusb # Library for accessing USB devices
usbutils # Linux USB utilities
wget # An advanced file and recursive website downloader
nano # A small text editor
%end # End of the packages section

View File

@@ -1,48 +0,0 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
#
# Provides the mandatory packages that are part of the core DNF group
%packages --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
-audit # User space tools for kernel auditing
basesystem # The skeleton package which defines a simple Fedora system
bash # The Bourne Again SHell, a command-line interpreter.
-coreutils # A set of basic GNU tools commonly used in shell scripts
curl # A utility for getting files from remote servers (FTP, HTTP, and others)
dhcp-client # Provides the ISC DHCP client daemon and dhclient-script
dnf5 # Command-line package manager
dracut # Initramfs generator using udev
-e2fsprogs # Utilities for managing ext2, ext3, and ext4 file systems
filesystem # The basic directory layout for a Linux system
glibc # The GNU libc libraries
hostname # Utility to set/show the host name or domain name
iproute # Advanced IP routing and network device configuration tools
iputils # Network monitoring tools including ping
kbd # Tools for configuring the console (keyboard, virtual terminals, etc.)
kernel # The Linux kernel
-less # A text file browser similar to more, but better. Can be excluded
-man-db # Tools for searching and reading man pages. Can be excluded
ncurses # Ncurses support utilities
-openssh-clients # An open source SSH client applications. Can be excluded
-openssh-server # An open source SSH server daemon. Can be excluded
parted # The GNU disk partition manipulation program
-policycoreutils # SELinux policy core utilities. Can be excluded
procps-ng # System and process monitoring utilities
rootfiles # The basic required files for the root user's directory
rpm # The RPM package management system
-selinux-policy-targeted # SELinux targeted policy. Can be excluded
setup # A set of system configuration and setup files
shadow-utils # Utilities for managing accounts and shadow password files
-sssd-common # Common files for the SSSD. Can be excluded
-sssd-kcm # An implementation of a Kerberos KCM server. Can be excluded
-sudo # Allows restricted root access for specified users
systemd # System and Service Manager
util-linux # Collection of basic system utilities
-vim-minimal # A minimal version of the VIM editor
%end # End of the packages section

View File

@@ -1,57 +0,0 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
#
# Provides the mandatory packages that are part of the core DNF group
# More information: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#id240
%packages --ignoremissing --nocore --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
audit # User space tools for kernel auditing
basesystem # The skeleton package which defines a simple Fedora system
bash # The Bourne Again SHell, a command-line interpreter.
coreutils # A set of basic GNU tools commonly used in shell scripts
curl # A utility for getting files from remote servers (FTP, HTTP, and others)
dhcp-client # Provides the ISC DHCP client daemon and dhclient-script
dnf5 # Command-line package manager
dracut # Initramfs generator using udev
e2fsprogs # Utilities for managing ext2, ext3, and ext4 file systems
filesystem # The basic directory layout for a Linux system
glibc # The GNU libc libraries
hostname # Utility to set/show the host name or domain name
iproute # Advanced IP routing and network device configuration tools
iputils # Network monitoring tools including ping
kbd # Tools for configuring the console (keyboard, virtual terminals, etc.)
kernel # The Linux kernel
less # A text file browser similar to more, but better. Can be excluded
man-db # Tools for searching and reading man pages. Can be excluded
ncurses # Ncurses support utilities
openssh-clients # An open source SSH client applications. Can be excluded
openssh-server # An open source SSH server daemon. Can be excluded
parted # The GNU disk partition manipulation program
policycoreutils # SELinux policy core utilities. Can be excluded
procps-ng # System and process monitoring utilities
rootfiles # The basic required files for the root user's directory
rpm # The RPM package management system
selinux-policy-targeted # SELinux targeted policy. Can be excluded
setup # A set of system configuration and setup files
shadow-utils # Utilities for managing accounts and shadow password files
sssd-common # Common files for the SSSD. Can be excluded
sssd-kcm # An implementation of a Kerberos KCM server. Can be excluded
sudo # Allows restricted root access for specified users
systemd # System and Service Manager
util-linux # Collection of basic system utilities
vim-minimal # A minimal version of the VIM editor
# Packages to make Phyllome OS a generic distro
# Adds packages to comply with Fedora Remix legal guidelines: https://fedoraproject.org/wiki/Remix
fedora-remix-logos # Fedora Remix logos
generic-release # Generic release files
generic-logos # Icons and pictures
generic-release-common # Generic release files
generic-release-notes # Release Notes
%end # End of the packages section

View File

@@ -0,0 +1,64 @@
# __ ____ ____ _____
# ____ / /_ __ __/ / /___ ____ ___ ___ / __ \/ ___/
# / __ \/ __ \/ / / / / / __ \/ __ `__ \/ _ \ / / / /\__ \
# / /_/ / / / / /_/ / / / /_/ / / / / / / __/ / /_/ /___/ /
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
#
# Provides the mandatory packages that are part of the core DNF group
# More information: https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#id240
%packages --excludedocs --inst-langs=en --nocore --exclude-weakdeps # Beginning of the package section. Does not include weak dependencies. Description courtesy of the Fedora project
# Mandatory packages found in hidden `core` group (`dnf group info --hidden core`)
basesystem # The skeleton package which defines a simple Fedora system
bash # The Bourne Again SHell, a command-line interpreter.
curl # A utility for getting files from remote servers (FTP, HTTP, and others)
# dhcp-client # Provides the ISC DHCP client daemon and dhclient-script
dnf5 # Command-line package manager
dracut # Initramfs generator using udev
filesystem # The basic directory layout for a Linux system
glibc # The GNU libc libraries
# hostname # Utility to set/show the host name or domain name
# iproute # Advanced IP routing and network device configuration tools
# iputils # Network monitoring tools including ping
# kbd # Tools for configuring the console (keyboard, virtual terminals, etc.)
kernel # The Linux kernel
# ncurses # Ncurses support utilities
# parted # The GNU disk partition manipulation program
# procps-ng # System and process monitoring utilities
rootfiles # The basic required files for the root user's directory
rpm # The RPM package management system
setup # A set of system configuration and setup files
shadow-utils # Utilities for managing accounts and shadow password files
systemd # System and Service Manager
# util-linux # Collection of basic system utilities
# Default packages fom core dnf group not marked as mandatory (`dnf group info --hidden core`)
# NetworkManager # Network connection manager and user applications
# NetworkManager-config-connectivity-fedora # NetworkManager config file for connectivity checking via Fedora servers
# dnf5-plugins # Plugins for dnf5
# dracut-config-rescue # dracut configuration to turn on rescue image generation
# firewalld # A firewall daemon with D-Bus interface providing a dynamic firewall
# fwupd # Firmware update daemon
# plymouth # Graphical Boot Animation and Logger
# prefixdevname # Udev helper utility that provides network interface naming using user defined prefix
# systemd-resolved # Network Name Resolution manager
zram-generator-defaults # Default configuration for zram-generator
# Hand-picked packages
# pciutils # PCI bus related utilities
# libusb # Library for accessing USB devices
# usbutils # Linux USB utilities
# wget # An advanced file and recursive website downloader
# nano # A small text editor
# Packages to make Phyllome OS a generic distro
# Adds packages to comply with Fedora Remix legal guidelines: https://fedoraproject.org/wiki/Remix
fedora-remix-logos # Fedora Remix logos
generic-release # Generic release files
generic-logos # Icons and pictures
generic-release-common # Generic release files
generic-release-notes # Release Notes
%end # End of the packages section

View File

@@ -2,6 +2,5 @@
localectl set-keymap ch-fr # Set keymap to `ch-fr`. Alternatively, `us` can be picked.
dnf update -y # Update the system
grub2-mkconfig -o /boot/grub2/grub.cfg # Unsure it is actually useful
%end # End of the %post section

View File

@@ -1,6 +1,6 @@
zerombr # Destroy all the contents of disks with invalid partition tables or other formatting unrecognizable to the installer
clearpart --all --initlabel # Erase all partitions and Initializes the disk label to the default for the target architecture
part /boot/efi --fstype="efi" --size=1024 --fsoptions="umask=0077,shortname=winnt" --label=efi # Creates an 1 GB EFI system partition
part /boot/efi --fstype="efi" --size=2048 --fsoptions="umask=0077,shortname=winnt" --label=efi # Creates a 2 GB EFI system partition
part /boot --fstype="ext4" --size=512 --label=boot # Creates a 512 MiB ext4 boot partition
part / --fstype="ext4" --grow --label=root # Create a single root partition with the remaining space

View File

@@ -0,0 +1 @@
bootloader --sdboot --location=none --timeout=1 # Use systemd-boot and set location to none

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode for automated installation
%include ../ingredients/core-storage.cfg # Storage configuration
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Provides extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Post configuration script
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -10,7 +10,7 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems
%include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems
%include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems
%include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -18,7 +18,7 @@
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-packages-hardware-support.cfg # Extended hardware support
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,7 +9,7 @@
%include ../ingredients/live-core.cfg # For live systems only
%include ../ingredients/live-core-storage.cfg # For live systems only
%include ../ingredients/live-core-bootloader-grub.cfg # GNU GRUB for live systems
%include ../ingredients/live-core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
@@ -17,7 +17,7 @@
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/live-core-mandatory-packages.cfg # For live systems
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/live-core-post.cfg # Post configuration script for a live system only
%include ../ingredients/live-core-post-live-session.cfg # Live session script

View File

@@ -9,16 +9,14 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment
%include ../ingredients/base-desktop-virtual-machine-manager.cfg # Virtual Machine Manager
%include ../ingredients/base-hypervisor.cfg # Base hypervisor

View File

@@ -9,15 +9,13 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment
%include ../ingredients/base-guest-agents.cfg # Guest agents

View File

@@ -5,17 +5,12 @@
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
# /_/ /____/
# A recipe for a virtual a very small nano server
# A recipe for a virtual server
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-systemd-boot.cfg # systemd-boot
%include ../ingredients/core-bootloader-systemd-boot.cfg # Set bootloader to sdboot
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory-trimming-attempt.cfg # Trimming attempt for the mandatory packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-server.cfg # For headless systems
%include ../ingredients/base-guest-agents.cfg # Guest agents
%include ../ingredients/core-packages.cfg # Mandatory packages
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora

View File

@@ -9,15 +9,13 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-server.cfg # For headless systems
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/base-hypervisor.cfg # Base hypervisor
%include ../ingredients/base-guest-agents.cfg # Guest agents

View File

@@ -9,14 +9,14 @@
%include ../ingredients/core.cfg # Text mode
%include ../ingredients/core-storage.cfg # ext4-based storage configuration
%include ../ingredients/core-bootloader-grub.cfg # GNU GRUB
%include ../ingredients/core-bootloader-grub.cfg # Set bootloader to GRUB
%include ../ingredients/core-locale.cfg # System locale set to Swiss French as keyboard layout and English as language
%include ../ingredients/core-security-off.cfg # Lock root account, disable firewall and SELinux
%include ../ingredients/core-services.cfg # Required systemd services
%include ../ingredients/core-network.cfg # Network configuration
%include ../ingredients/core-packages-mandatory.cfg # Mandatory packages
%include ../ingredients/core-packages-default.cfg # Default but not necessary packages
%include ../ingredients/core-fedora-repo.cfg # Offical repositories for Fedora
%include ../ingredients/core-fedora-repo-43.cfg # Offical repositories for Fedora
%include ../ingredients/core-post.cfg # Triggered after the installation
%include ../ingredients/core-initial-setup-server.cfg # For headless systems
%include ../ingredients/base-guest-agents.cfg # Guest agents

View File

@@ -4,10 +4,8 @@
core_count=$(nproc --all)
# Check if nproc --all returns a numerical value greater than 2
if (( core_count > 1 )); then
echo "System has more than 1 core (nproc --all: $core_count)."
else
if (( core_count < 2 )); then
echo "Warning: System has only $core_count core)."
echo "The script requires at least two cores"
echo "The script requires at least four cores"
exit 1 # Exit with an error code to indicate the condition is not met
fi

View File

@@ -1,7 +1,75 @@
#!/bin/bash
# Get a list of files in the directory dishes without extensions
mapfile -t dish_name < <(find "dishes/" -maxdepth 1 -type f -printf "%f\n" | sed 's/\.[^.]*$//')
# Default values
DEFAULT_MEMORY=4096
DEFAULT_DISK_SIZE=10
# Prompt user for VM memory size
read -r -p "Provide desired VM memory in MB or press Enter to keep default value of $DEFAULT_MEMORY MB): " memory_size
memory_size=${memory_size:-$DEFAULT_MEMORY}
# Validate memory size
if ! [[ "$memory_size" =~ ^[0-9]+$ ]] || (( memory_size < 2048 )); then
echo "Invalid memory size. Must be a number greater than or equal to 2048. Using default value of $DEFAULT_MEMORY MB."
memory_size=$DEFAULT_MEMORY
fi
# Prompt user for VM disk size
read -r -p "Provide desired disk size of VM in GB or press Enter to use default disk size of $DEFAULT_DISK_SIZE GB: " disk_size
disk_size=${disk_size:-$DEFAULT_DISK_SIZE}
# Validate disk size
if ! [[ "$disk_size" =~ ^[0-9]+$ ]] || (( disk_size < 10 )); then
echo "Invalid disk size. Must be a number greater than or equal to 10 GiB. Using default value of $DEFAULT_DISK_SIZE."
disk_size=$DEFAULT_DISK_SIZE
fi
# Set the choices
CHOICE_SYSTEM="qemu:///system"
CHOICE_SESSION="qemu:///session"
# Display the choices to the user
echo "Please select an option or press Enter to keep default value of $CHOICE_SESSION):"
echo "1) $CHOICE_SYSTEM (system-based or rootfull virtual machine)"
echo "2) $CHOICE_SESSION (session-based or rootless virtual machine)"
# Prompt the user for input
IFS= read -r -p "Enter your choice (1 or 2): " user_choice
# Validate the user's input
if [[ ! "$user_choice" =~ ^[12]$ ]]; then
echo "Invalid choice. Defaulting to session-based VM."
uri="$CHOICE_SESSION" # Default to session-based if input is invalid
else
# Determine the selected option
case "$user_choice" in
1)
uri="$CHOICE_SYSTEM"
;;
2)
uri="$CHOICE_SESSION"
;;
*)
echo "Unexpected error: Invalid choice. This should not happen due to validation."
exit 1
;;
esac
# Conditional variable assignment based on URI
if [[ "$uri" == "qemu:///system" ]]; then
disk_path="/var/lib/libvirt/images/"
network_type="default"
elif [[ "$uri" == "qemu:///session" ]]; then
disk_path="$HOME/.local/share/libvirt/images/"
network_type="user"
fi
fi
# Display the selected option (optional)
echo "You selected: $uri"
# Get a list of files in "dishes" directory
mapfile -t dish_name < <(find "dishes/" -maxdepth 1 -type f \( -name "virtual*" \) -printf "%f\n" | sed 's/\.[^.]*$//')
# Check if there are any files
if [ ${#dish_name[@]} -eq 0 ]; then
@@ -32,29 +100,37 @@ echo "You selected: $vm_name"
# virt-install command with user-defined VM name
virt-install \
--connect qemu:///system \
--connect "$uri" \
--os-variant fedora41 \
--virt-type kvm \
--arch x86_64 \
--machine q35 \
--name "$vm_name" \
--boot uefi \
--cpu host-model,topology.sockets=1,topology.cores=2,topology.threads=1 \
--vcpus 2 \
--memory 2048 \
--boot uefi,firmware.feature0.name=secure-boot,firmware.feature0.enabled=no \
--cpu host-model,topology.sockets=1,topology.cores=1,topology.threads=1 \
--vcpus 1 \
--cpu host-passthrough,cache.mode=passthrough \
--memory "$memory_size" \
--video virtio \
--graphics spice,listen=0.0.0.0 \
--channel unix,target.type=virtio,target.name=org.qemu.guest_agent.0 \
--autoconsole none \
--console pty,target.type=virtio \
--sound none \
--network type=user,model=virtio \
--network type="$network_type",model=virtio \
--controller type=virtio-serial \
--controller type=usb,model=none \
--controller type=scsi,model=virtio-scsi \
--input type=keyboard,bus=virtio \
--input type=tablet,bus=virtio \
--input type=mouse,bus=virtio \
--rng /dev/urandom,model=virtio \
--disk path=/var/lib/libvirt/images/"$vm_name".img,format=raw,bus=virtio,cache=writeback,size=10 \
--location=https://download.fedoraproject.org/pub/fedora/linux/releases/42/Everything/x86_64/os/ \
--initrd-inject "dishes/$vm_name".cfg --extra-args "inst.ks=file:dishes/$vm_name.cfg"
--tpm none \
--iommu model=virtio \
--watchdog none \
--memballoon none \
--disk path="${disk_path}/${vm_name}.img",format=raw,bus=virtio,cache=writeback,size="$disk_size" \
--location=https://download.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os/ \
--initrd-inject ./dishes/"$vm_name".cfg \
--extra-args "inst.ks=file:/$vm_name.cfg"
echo "virt-install command executed with VM name: $vm_name"

View File

@@ -0,0 +1,43 @@
#!/bin/bash
# Check if virt-manager is already installed
if command -v virt-manager &> /dev/null; then
exit 0
fi
# Detect the Linux distribution
if [[ -f /etc/os-release ]]; then
. /etc/os-release
DISTRO="$ID"
else
echo "Unable to determine Linux distribution. Exiting."
exit 1
fi
echo "Detected distribution: $DISTRO"
# Install prerequisites based on distribution
case "$DISTRO" in
ubuntu|debian)
echo "Installing prerequisites for Debian/Ubuntu..."
apt-get update
apt-get install -y qemu-system libvirt-daemon-system virt-manager
;;
fedora|rhel|centos)
echo "Installing prerequisites for Fedora/RHEL/CentOS..."
dnf install -y qemu-kvm libvirt virt-manager
;;
arch)
echo "Installing prerequisites for Arch Linux..."
pacman -S --noconfirm qemu-desktop libvirt virt-manager
;;
opensuse-tumbleweed)
echo "Installing prerequisites for openSUSE Tumbleweed..."
zypper -n install qemu libvirt virt-manager
;;
*)
echo "Unsupported distribution: $DISTRO. Manual installation required."
exit 1
;;
esac

View File

@@ -6,9 +6,7 @@ total_memory=$(awk '/MemTotal/ {print $2}' /proc/meminfo)
# Convert to MiB by dividing by 1024 (since MemTotal is in KiB)
total_memory_mb=$(( total_memory / 1024 ))
if [[ "$total_memory_mb" -lt "2048" ]]; then
echo "Not enough RAM: The system has only ${total_memory_mb}MiB of RAM, but at least 2048 MiB is required."
if [[ "$total_memory_mb" -lt "4096" ]]; then
echo "Not enough RAM: The system has only ${total_memory_mb}MiB of RAM, but at least 4096 is required."
exit 1
else
echo "Sufficient memory available. System has ${total_memory_mb}MiB of RAM."
fi