Compare commits
65 Commits
6089cb118a
...
simplify-v
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e018870d0e | ||
|
|
0c76e7626d | ||
|
|
28c390f1b4 | ||
|
|
ebd35f0b1f | ||
|
|
6832142907 | ||
|
|
eae12100a8 | ||
|
|
bc5f156cd9 | ||
|
|
8245bdf3b9 | ||
| 674b34d441 | |||
| de5acaf289 | |||
|
|
cabebbcedf | ||
|
|
b028260090 | ||
|
|
1fbe496b6a | ||
|
|
ae4ffdc64d | ||
| 8cc2c13c66 | |||
|
|
35deff93b3 | ||
|
|
a186c60e9a | ||
|
|
9400b239f8 | ||
|
|
740557564d | ||
|
|
f612842e50 | ||
|
|
37c8c925dd | ||
|
|
b721ec7b59 | ||
|
|
ab9aa58eb2 | ||
|
|
7fced10c52 | ||
|
|
59c82dd9c3 | ||
|
|
461936a841 | ||
|
|
7c3571f8e6 | ||
|
|
7ffc71043d | ||
|
|
a8dcf4011c | ||
|
|
28b3e927a6 | ||
|
|
06caf5b3c7 | ||
|
|
5da0303cf5 | ||
|
|
de48f21335 | ||
|
|
7ae6714da1 | ||
|
|
246fba3efa | ||
|
|
2e56372e6d | ||
|
|
515950daad | ||
|
|
1fecc5ea1b | ||
|
|
8c2b118c8e | ||
|
|
dd41bcb66b | ||
|
|
e9e70c6ce3 | ||
|
|
6a043dcd3d | ||
|
|
cf3ff84a6d | ||
|
|
46bbe1d5e9 | ||
|
|
b98f41512d | ||
|
|
8c96623ad7 | ||
|
|
358e67a041 | ||
|
|
3b4724cf86 | ||
|
|
684a49af14 | ||
|
|
e1207278a3 | ||
|
|
00f40553b5 | ||
|
|
0316eff669 | ||
|
|
c458ab4b5c | ||
|
|
02f2a131bf | ||
|
|
6cfad2d5eb | ||
|
|
5c7a5713b9 | ||
|
|
63456e0e16 | ||
|
|
01326af9d8 | ||
|
|
be2f5cf7a2 | ||
|
|
66773b8e23 | ||
|
|
4bd6294efe | ||
|
|
7d9af8f39e | ||
|
|
8c1c11fda7 | ||
|
|
3fafb78838 | ||
|
|
1dfc10b5c9 |
76
.gitea/workflows/build-iso.yaml
Normal file
76
.gitea/workflows/build-iso.yaml
Normal 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
|
||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.aider*
|
||||
# dishes/
|
||||
# !dishes/
|
||||
99
README.md
99
README.md
@@ -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.
|
||||
@@ -18,6 +53,13 @@ Each ingredient represents a feature or a set of integrated features, such as a
|
||||
|
||||
Using a pull request, you can suggest a modification to an existing ingredient or create a new ingredient from scratch.
|
||||
|
||||
### Requirements
|
||||
|
||||
- `qemu`
|
||||
- `libvirt`
|
||||
- `virt-install`
|
||||
- `pykickstart`
|
||||
|
||||
### Example 1: add a new package and include it into a recipe
|
||||
|
||||
- Add [Luanti](https://www.luanti.org/), a free and open-source sandbox video game engine formerly known as Minetest, as a standalone ingredient, using the `echo` command
|
||||
@@ -33,7 +75,7 @@ luanti # Multiplayer infinite-world block sandbox with survival mode
|
||||
Instead of creating a recipe from scratch, let's make a copy of the `virtual-desktop.cfg` recipe, which provide a Desktop environment necessary for *luanti* to function
|
||||
|
||||
```
|
||||
$ cp recipes/virtual-desktop.cfg recipes/virtual-desktop-luanti.cfg
|
||||
cp recipes/virtual-desktop.cfg recipes/virtual-desktop-luanti.cfg
|
||||
```
|
||||
|
||||
- Add the extra ingredient to the new recipe:
|
||||
@@ -47,52 +89,35 @@ echo "%include ../ingredients/extra-luanti.cfg # Sandbox video game engine" >> r
|
||||
- Prepare the dish by following the recipe, a process called 'flattening'
|
||||
|
||||
```
|
||||
$ ksflatten -c recipes/virtual-desktop-luanti.cfg -o dishes/virtual-desktop-luanti.cfg
|
||||
ksflatten -c recipes/virtual-desktop-luanti.cfg -o dishes/virtual-desktop-luanti.cfg
|
||||
```
|
||||
|
||||
> If any errors are detected, go back and fix them.
|
||||
|
||||
It is time to test the new dish!
|
||||
|
||||
- Navigate inside the `dishes` folder:
|
||||
|
||||
```
|
||||
$ cd dishes/
|
||||
```
|
||||
|
||||
#### Kickstart
|
||||
|
||||
* You can then kickstart your own installation:
|
||||
- Make the `deploy-vm.sh` script executable
|
||||
|
||||
```
|
||||
# virt-install \
|
||||
--connect qemu:///system \
|
||||
--metadata description="Virtual desktop with Luanti" \
|
||||
--os-variant fedora41 \
|
||||
--virt-type kvm \
|
||||
--arch x86_64 \
|
||||
--machine q35 \
|
||||
--name virtual-desktop-luanti \
|
||||
--boot uefi \
|
||||
--cpu host-model,topology.sockets=1,topology.cores=2,topology.threads=1 \
|
||||
--vcpus 2 \
|
||||
--memory 4096 \
|
||||
--video virtio \
|
||||
--graphics spice,listen=none \
|
||||
--channel spicevmc \
|
||||
--autoconsole none \
|
||||
--console pty,target.type=virtio \
|
||||
--sound none \
|
||||
--network type=user,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 \
|
||||
--rng /dev/urandom,model=virtio \
|
||||
--disk path=/var/lib/libvirt/images/virtual-desktop-luanti.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 virtual-desktop-luanti.cfg --extra-args "inst.ks=file:virtual-desktop-luanti.cfg"
|
||||
chmod +x deploy-vm.sh
|
||||
```
|
||||
|
||||
- Execute the script
|
||||
|
||||
```
|
||||
./deploy-vm.sh
|
||||
```
|
||||
|
||||
- Select the new dish, *virtual-desktop-luanti*
|
||||
|
||||
```
|
||||
[...]
|
||||
Available files:
|
||||
1. desktop-hypervisor-amdcpu
|
||||
[...]
|
||||
14. virtual-desktop-luanti
|
||||
```
|
||||
|
||||
- When the installation is done, the machine will shut down
|
||||
|
||||
27
deploy.sh
Executable file
27
deploy.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Function to execute a script
|
||||
execute_script() {
|
||||
local script_to_execute="$1"
|
||||
echo "Executing: $script_to_execute"
|
||||
"$script_to_execute" || {
|
||||
echo "Script failed: $script_to_execute"
|
||||
return 1 # Indicate failure
|
||||
}
|
||||
return 0 # Indicate success
|
||||
}
|
||||
|
||||
# Array of scripts
|
||||
scripts=(
|
||||
"./scripts/install-prerequisites-on-linux.sh"
|
||||
"./scripts/core-count.sh"
|
||||
"./scripts/system-memory.sh"
|
||||
"./scripts/deploy-distro.sh"
|
||||
)
|
||||
|
||||
# Iterate through the scripts and execute them
|
||||
for script in "${scripts[@]}"; do
|
||||
execute_script "$script"
|
||||
done
|
||||
|
||||
echo "All scripts executed."
|
||||
@@ -3,7 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -14,18 +14,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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,15 +35,14 @@ 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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%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
|
||||
|
||||
@@ -223,7 +222,7 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
|
||||
|
||||
%end
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-amdcpu.log
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-amdcpu.log
|
||||
|
||||
sed -i 's/\(quiet\)/\1 iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -14,18 +14,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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,15 +35,14 @@ 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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%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
|
||||
|
||||
@@ -223,7 +222,7 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
|
||||
|
||||
%end
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-intelcpu.log
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelcpu.log
|
||||
|
||||
sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -14,18 +14,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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,15 +35,14 @@ 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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%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
|
||||
|
||||
@@ -223,7 +222,7 @@ mkdir /mnt/sysimage/var/lib/libvirt/isos # Create a directory to store iso image
|
||||
|
||||
%end
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/opt/base-hypervisor-intelcpu.log
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor-intelcpu.log
|
||||
|
||||
sed -i 's/\(quiet\)/\1 intel_iommu=on iommu=pt rd.driver.pre=vfio-pci/i' /mnt/sysimage/etc/default/grub # Load kernel modules in GRUB.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -14,18 +14,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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,15 +35,14 @@ 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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%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
|
||||
|
||||
@@ -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
|
||||
|
||||
223
dishes/desktop.cfg
Normal file
223
dishes/desktop.cfg
Normal file
@@ -0,0 +1,223 @@
|
||||
# Generated by pykickstart v3.62
|
||||
#version=DEVEL
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --enabled
|
||||
# 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-43&arch=x86_64
|
||||
repo --name="updates" --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f43&arch=x86_64
|
||||
#Root password
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --enforcing
|
||||
# System services
|
||||
services --enabled="NetworkManager,systemd-resolved"
|
||||
# System timezone
|
||||
timezone Europe/Zurich --utc
|
||||
# Use network installation
|
||||
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
|
||||
bootloader --location=mbr --timeout=1
|
||||
# Clear the Master Boot Record
|
||||
zerombr
|
||||
# Partition clearing information
|
||||
clearpart --all --initlabel
|
||||
# Disk partitioning information
|
||||
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 --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%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
|
||||
|
||||
%end
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log
|
||||
|
||||
truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
|
||||
|
||||
## Append lines to existing vendor.conf file, so that options are skipped upon reboot
|
||||
cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
|
||||
[pages]
|
||||
skip=privacy
|
||||
[goa]
|
||||
providers=local-first!
|
||||
EOF
|
||||
|
||||
%end
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
|
||||
|
||||
# cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.background.gschema.override<< EOF
|
||||
# [org.gnome.desktop.background]
|
||||
# picture-uri='file:///usr/share/backgrounds/elementary/Morskie Oko.jpg'
|
||||
# EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.override<< EOF
|
||||
[org.gnome.desktop.media-handling]
|
||||
automount-open=false
|
||||
autorun-never=true
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.Terminal.gschema.override<< EOF
|
||||
[org.gnome.Terminal.Legacy.Profile]
|
||||
font='DejaVu Sans Mono 12'
|
||||
use-system-font=false
|
||||
audible-bell=false
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.wm.preferences.gschema.override<< EOF
|
||||
[org.gnome.desktop.wm.preferences]
|
||||
button-layout=':minimize,maximize,close'
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.a11y.gschema.override<< EOF
|
||||
[org.gnome.desktop.a11y]
|
||||
always-show-universal-access-status=true
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.override<< EOF
|
||||
[org.gnome.desktop.interface]
|
||||
enable-animations=false
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.privacy.gschema.override<< EOF
|
||||
[org.gnome.desktop.privacy]
|
||||
remove-old-temp-files=true
|
||||
remember-recent-files=false
|
||||
remember-app-usage=false
|
||||
disable-camera=true
|
||||
disable-microphone=true
|
||||
disable-sound-output=true
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.search-providers.gschema.override<< EOF
|
||||
[org.gnome.desktop.search-providers]
|
||||
disable-external=true
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.notifications.gschema.override<< EOF
|
||||
[org.gnome.desktop.notifications.application]
|
||||
enable-sound-alerts=false
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.sound.gschema.override<< EOF
|
||||
[org.gnome.desktop.sound]
|
||||
event-sounds=false
|
||||
EOF
|
||||
|
||||
cat >> /mnt/sysimage/usr/share/glib-2.0/schemas/org.gnome.desktop.thumbnailers.gschema.override<< EOF
|
||||
[org.gnome.desktop.thumbnailers]
|
||||
disable-all=true
|
||||
EOF
|
||||
|
||||
glib-compile-schemas /mnt/sysimage/usr/share/glib-2.0/schemas/
|
||||
|
||||
%end
|
||||
|
||||
%packages --exclude-weakdeps
|
||||
NetworkManager
|
||||
NetworkManager-config-connectivity-fedora
|
||||
NetworkManager-wifi
|
||||
alsa-sof-firmware
|
||||
amd-gpu-firmware
|
||||
atheros-firmware
|
||||
audit
|
||||
b43-fwcutter
|
||||
b43-openfwwf
|
||||
basesystem
|
||||
bash
|
||||
brcmfmac-firmware
|
||||
cirrus-audio-firmware
|
||||
coreutils
|
||||
curl
|
||||
dejavu-sans-mono-fonts
|
||||
dhcp-client
|
||||
dnf5
|
||||
dnf5-plugins
|
||||
dracut
|
||||
dracut-config-rescue
|
||||
e2fsprogs
|
||||
fedora-remix-logos
|
||||
filesystem
|
||||
firefox
|
||||
firewalld
|
||||
fwupd
|
||||
generic-logos
|
||||
generic-release
|
||||
generic-release-common
|
||||
generic-release-notes
|
||||
glibc
|
||||
gnome-backgrounds.noarch
|
||||
gnome-control-center
|
||||
gnome-initial-setup
|
||||
gnome-shell
|
||||
gnome-terminal
|
||||
hostname
|
||||
intel-audio-firmware
|
||||
intel-gpu-firmware
|
||||
intel-vsc-firmware
|
||||
iproute
|
||||
iputils
|
||||
iwlegacy-firmware
|
||||
iwlwifi-dvm-firmware
|
||||
iwlwifi-mvm-firmware
|
||||
kbd
|
||||
kernel
|
||||
less
|
||||
libertas-firmware
|
||||
libusb
|
||||
man-db
|
||||
mesa-dri-drivers
|
||||
mozilla-ublock-origin.noarch
|
||||
mt7xxx-firmware
|
||||
nano
|
||||
ncurses
|
||||
nvidia-gpu-firmware
|
||||
nxpwireless-firmware
|
||||
openssh-clients
|
||||
openssh-server
|
||||
parted
|
||||
pciutils
|
||||
pipewire-alsa
|
||||
pipewire-jack-audio-connection-kit
|
||||
pipewire-pulseaudio
|
||||
plymouth
|
||||
policycoreutils
|
||||
prefixdevname
|
||||
procps-ng
|
||||
realtek-firmware
|
||||
rootfiles
|
||||
rpm
|
||||
selinux-policy-targeted
|
||||
setup
|
||||
shadow-utils
|
||||
sssd-common
|
||||
sssd-kcm
|
||||
sudo
|
||||
systemd
|
||||
systemd-resolved
|
||||
tiwilink-firmware
|
||||
usbutils
|
||||
util-linux
|
||||
vim-minimal
|
||||
wget
|
||||
wpa_supplicant
|
||||
zram-generator-defaults
|
||||
-gnome-tour
|
||||
|
||||
%end
|
||||
@@ -1,7 +1,7 @@
|
||||
# Generated by pykickstart v3.62
|
||||
#version=DEVEL
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -12,18 +12,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Generated by pykickstart v3.62
|
||||
#version=DEVEL
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -12,18 +12,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Generated by pykickstart v3.62
|
||||
#version=DEVEL
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -12,18 +12,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Generated by pykickstart v3.62
|
||||
#version=DEVEL
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
firewall --enabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
# Keyboard layouts
|
||||
@@ -12,18 +12,18 @@ 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
|
||||
rootpw --lock
|
||||
# SELinux configuration
|
||||
selinux --disabled
|
||||
selinux --enforcing
|
||||
# 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
|
||||
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
firewall --enabled --service=ssh
|
||||
# Keyboard layouts
|
||||
keyboard --xlayouts='ch (fr)'
|
||||
# System language
|
||||
@@ -14,18 +12,18 @@ 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
|
||||
rootpw --plaintext --allow-ssh 1234
|
||||
# SELinux configuration
|
||||
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,31 +33,9 @@ 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
|
||||
|
||||
%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
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log
|
||||
|
||||
truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
|
||||
|
||||
## Append lines to existing vendor.conf file, so that options are skipped upon reboot
|
||||
cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
|
||||
[pages]
|
||||
skip=privacy
|
||||
[goa]
|
||||
providers=local-first!
|
||||
EOF
|
||||
|
||||
%end
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
|
||||
|
||||
@@ -250,21 +226,31 @@ generic-release-common
|
||||
generic-release-notes
|
||||
glibc
|
||||
gnome-backgrounds.noarch
|
||||
gnome-initial-setup
|
||||
gnome-control-center
|
||||
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 +260,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 +285,6 @@ util-linux
|
||||
vim-minimal
|
||||
virt-install
|
||||
virt-manager
|
||||
virt-top
|
||||
wget
|
||||
wpa_supplicant
|
||||
zram-generator-defaults
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
firewall --enabled --service=ssh
|
||||
# Keyboard layouts
|
||||
keyboard --xlayouts='ch (fr)'
|
||||
# System language
|
||||
@@ -14,18 +12,18 @@ 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
|
||||
rootpw --plaintext --allow-ssh 1234
|
||||
# SELinux configuration
|
||||
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,31 +33,9 @@ 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
|
||||
|
||||
%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
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-initial-setup-gnome.log
|
||||
|
||||
truncate -s 0 /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf # remove content of vendor.conf so that all options are made available
|
||||
|
||||
## Append lines to existing vendor.conf file, so that options are skipped upon reboot
|
||||
cat >> /mnt/sysimage/usr/share/gnome-initial-setup/vendor.conf<< EOF
|
||||
[pages]
|
||||
skip=privacy
|
||||
[goa]
|
||||
providers=local-first!
|
||||
EOF
|
||||
|
||||
%end
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-desktop-gnome.log
|
||||
|
||||
@@ -157,7 +133,7 @@ generic-release-common
|
||||
generic-release-notes
|
||||
glibc
|
||||
gnome-backgrounds.noarch
|
||||
gnome-initial-setup
|
||||
gnome-control-center
|
||||
gnome-shell
|
||||
gnome-terminal
|
||||
hostname
|
||||
@@ -176,6 +152,9 @@ openssh-clients
|
||||
openssh-server
|
||||
parted
|
||||
pciutils
|
||||
pipewire-alsa
|
||||
pipewire-jack-audio-connection-kit
|
||||
pipewire-pulseaudio
|
||||
plymouth
|
||||
policycoreutils
|
||||
prefixdevname
|
||||
|
||||
@@ -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
|
||||
@@ -3,9 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
firewall --enabled --service=ssh
|
||||
# Keyboard layouts
|
||||
keyboard --xlayouts='ch (fr)'
|
||||
# System language
|
||||
@@ -14,18 +12,18 @@ 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
|
||||
rootpw --plaintext --allow-ssh 1234
|
||||
# SELinux configuration
|
||||
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,17 +31,9 @@ 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
|
||||
|
||||
%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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%post --nochroot --logfile=/mnt/sysimage/root/base-hypervisor.log
|
||||
|
||||
@@ -98,19 +88,28 @@ generic-release
|
||||
generic-release-common
|
||||
generic-release-notes
|
||||
glibc
|
||||
guestfs-tools
|
||||
hostname
|
||||
initial-setup
|
||||
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
|
||||
nano
|
||||
ncurses
|
||||
@@ -122,7 +121,6 @@ plymouth
|
||||
policycoreutils
|
||||
prefixdevname
|
||||
procps-ng
|
||||
python3-libguestfs
|
||||
qemu-guest-agent
|
||||
qemu-kvm
|
||||
rootfiles
|
||||
@@ -140,7 +138,6 @@ usbutils
|
||||
util-linux
|
||||
vim-minimal
|
||||
virt-install
|
||||
virt-top
|
||||
wget
|
||||
zram-generator-defaults
|
||||
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
# Use text mode install
|
||||
text
|
||||
# Firewall configuration
|
||||
firewall --disabled
|
||||
# Run the Setup Agent on first boot
|
||||
firstboot --reconfig
|
||||
firewall --enabled --service=ssh
|
||||
# Keyboard layouts
|
||||
keyboard --xlayouts='ch (fr)'
|
||||
# System language
|
||||
@@ -14,18 +12,18 @@ 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
|
||||
rootpw --plaintext --allow-ssh 1234
|
||||
# SELinux configuration
|
||||
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=mbr --timeout=1
|
||||
# Clear the Master Boot Record
|
||||
@@ -33,17 +31,9 @@ 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
|
||||
|
||||
%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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit"
|
||||
|
||||
%packages --exclude-weakdeps
|
||||
NetworkManager
|
||||
@@ -69,7 +59,6 @@ generic-release-common
|
||||
generic-release-notes
|
||||
glibc
|
||||
hostname
|
||||
initial-setup
|
||||
iproute
|
||||
iputils
|
||||
kbd
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
bootloader --sdboot --timeout=1 # Use systemd-boot and set a timeout to 1
|
||||
bootloader --sdboot --location=mbr --timeout=1 # Use systemd-boot and set a timeout to 1
|
||||
1
ingredients/core-fedora-iso-repo-43.cfg
Normal file
1
ingredients/core-fedora-iso-repo-43.cfg
Normal file
@@ -0,0 +1 @@
|
||||
liveimg --url=file:///mnt/iso/LiveOS/squashfs.img
|
||||
3
ingredients/core-fedora-repo-43.cfg
Normal file
3
ingredients/core-fedora-repo-43.cfg
Normal 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -1,4 +1,4 @@
|
||||
firstboot --reconfig # Initial Setup will start after the first reboot
|
||||
firstboot --enable --reconfig # Initial Setup will start after the first reboot
|
||||
|
||||
%packages --exclude-weakdeps # Beginning of the packages section. Do not include weak dependencies.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
firstboot --reconfig # Enable the Setup Agent to start at boot time in reconfiguration mode. This mode enables the language, mouse, keyboard, root password, security level, time zone, and networking configuration options in addition to the default ones
|
||||
firstboot --enable --reconfig # Enable the Setup Agent to start at boot time in reconfiguration mode. This mode enables the language, mouse, keyboard, root password, security level, time zone, and networking configuration options in addition to the default ones
|
||||
|
||||
%packages --exclude-weakdeps # Beginning of the packages section. Do not include weak dependencies
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -1,7 +1,6 @@
|
||||
%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
|
||||
|
||||
# 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
|
||||
@@ -17,6 +16,7 @@ zram-generator-defaults # Default configuration for zram-generator
|
||||
pciutils # PCI bus related utilities
|
||||
libusb # Library for accessing USB devices
|
||||
usbutils # Linux USB utilities
|
||||
curl # transfer a URL
|
||||
wget # An advanced file and recursive website downloader
|
||||
nano # A small text editor
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
%packages --ignoremissing --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`)
|
||||
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.
|
||||
|
||||
@@ -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
|
||||
@@ -1,3 +1,3 @@
|
||||
rootpw --lock --iscrypted locked # Lock the root account. Can still be undone by end-user during initial setup
|
||||
selinux --disabled # Disable SELinux ; other option: --enable
|
||||
firewall --disabled # Disable firewall
|
||||
rootpw --plaintext 1234 --allow-ssh # Root account is enabled with weak password and allow ssh
|
||||
selinux --disabled # Disable SELinux
|
||||
firewall --enabled --ssh # Reject incoming connections that are not in response to outbound requests except SSH
|
||||
@@ -1,3 +1,3 @@
|
||||
rootpw --lock --iscrypted locked # Lock the root account. Can still be undone by end-user during initial setup
|
||||
selinux --enabled # Enable SELinux ; other option: --disabled
|
||||
rootpw --lock # No root login from the console
|
||||
selinux --enforcing # Set SELinux to enforcing mode
|
||||
firewall --enabled # Enable firewall
|
||||
@@ -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
|
||||
part / --fstype="ext4" --grow --label=root --mkfsoptions="-O encrypt,fast_commit" # Create a single root partition with the remaining space
|
||||
1
ingredients/live-core-bootloader-systemd-boot.cfg
Normal file
1
ingredients/live-core-bootloader-systemd-boot.cfg
Normal file
@@ -0,0 +1 @@
|
||||
bootloader --sdboot --location=none --timeout=1 # Use systemd-boot and set location to none
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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-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
|
||||
|
||||
@@ -10,15 +10,15 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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-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
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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-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
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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-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
|
||||
|
||||
@@ -5,17 +5,19 @@
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for a virtual a very small nano server
|
||||
# A recipe for a generic desktop hypervisor
|
||||
|
||||
%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-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-security-on.cfg # Lock root account, enable 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-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-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
|
||||
%include ../ingredients/core-initial-setup-desktop.cfg # OEM setup for GNOME Shell
|
||||
%include ../ingredients/base-desktop-gnome.cfg # A GNOME Shell-based desktop environment
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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/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
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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/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
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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/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
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
%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-security-on.cfg # Lock root account, enable 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/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
|
||||
|
||||
@@ -5,20 +5,18 @@
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for virtual desktop hypervisor
|
||||
# Unsafe. Development-only. A recipe for a virtual desktop hypervisor
|
||||
|
||||
%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-security-off.cfg # Enable 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
|
||||
|
||||
@@ -5,19 +5,17 @@
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for a virtual desktop
|
||||
# Unsafe. Development-only. A recipe for a virtual desktop
|
||||
|
||||
%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-security-off.cfg # Enable 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
|
||||
@@ -5,19 +5,17 @@
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for a virtual headless hypervisor
|
||||
# # Unsafe. Development-only. A recipe for a virtual headless hypervisor
|
||||
|
||||
%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-security-off.cfg # Enable 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
|
||||
|
||||
@@ -5,18 +5,16 @@
|
||||
# / .___/_/ /_/\__, /_/_/\____/_/ /_/ /_/\___/ \____//____/
|
||||
# /_/ /____/
|
||||
|
||||
# A recipe for a virtual desktop
|
||||
# # Unsafe. Development-only. 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-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-security-off.cfg # Enable 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-guest-agents.cfg # Guest agents
|
||||
11
scripts/core-count.sh
Executable file
11
scripts/core-count.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Get the core count using nproc --all
|
||||
core_count=$(nproc --all)
|
||||
|
||||
# Check if nproc --all returns a numerical value greater than 2
|
||||
if (( core_count < 2 )); then
|
||||
echo "Warning: System has only $core_count core)."
|
||||
echo "The script requires at least four cores"
|
||||
exit 1 # Exit with an error code to indicate the condition is not met
|
||||
fi
|
||||
136
scripts/deploy-distro.sh
Executable file
136
scripts/deploy-distro.sh
Executable file
@@ -0,0 +1,136 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 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
|
||||
echo "No files found in the directory ../dishes."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Display the files with numbered options
|
||||
echo "Available files:"
|
||||
for i in "${!dish_name[@]}"; do
|
||||
echo "$((i + 1)). ${dish_name[$i]}"
|
||||
done
|
||||
|
||||
# Prompt the user to select a file
|
||||
read -r -p "Enter the number of the file you want to select: " choice
|
||||
|
||||
# Validate the user's choice
|
||||
if ! [[ "$choice" =~ ^[0-9]+$ ]] || (( choice < 1 )) || (( choice > ${#dish_name[@]} )); then
|
||||
echo "Invalid choice. Please enter a number from 1 to ${#dish_name[@]}."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the selected filename
|
||||
vm_name="${dish_name[$((choice - 1))]}"
|
||||
|
||||
# Output the selected filename
|
||||
echo "You selected: $vm_name"
|
||||
|
||||
# virt-install command with user-defined VM name
|
||||
virt-install \
|
||||
--connect "$uri" \
|
||||
--os-variant fedora41 \
|
||||
--virt-type kvm \
|
||||
--arch x86_64 \
|
||||
--machine q35 \
|
||||
--name "$vm_name" \
|
||||
--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="$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=mouse,bus=virtio \
|
||||
--rng /dev/urandom,model=virtio \
|
||||
--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"
|
||||
43
scripts/install-prerequisites-on-linux.sh
Executable file
43
scripts/install-prerequisites-on-linux.sh
Executable 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
|
||||
|
||||
12
scripts/system-memory.sh
Executable file
12
scripts/system-memory.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Read the total memory from /proc/meminfo in MiB
|
||||
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 "4096" ]]; then
|
||||
echo "Not enough RAM: The system has only ${total_memory_mb}MiB of RAM, but at least 4096 is required."
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user