Add Fedora 44 GNOME virtual machine
This commit is contained in:
1 parent
58a0a2d1ff
commit
a0cd640ffe
10 files changed
+267
-2
No files matched your search
@@ -0,0 +1,2 @@
|
||||
seed.iso
|
||||
*.iso
|
||||
@@ -0,0 +1,14 @@
|
||||
# Fedora 44 seed.iso
|
||||
|
||||
This directory contains the cloud-init NoCloud configuration used by
|
||||
`run-fedora44.sh`. On first boot, cloud-init's package module installs Fedora's
|
||||
GNOME package group and reboots the guest.
|
||||
|
||||
After changing `user-data`, `meta-data`, or `network-config`, remove the old
|
||||
`seed.iso` and rebuild it:
|
||||
|
||||
```bash
|
||||
./seediso/fedora44/build-seed.sh
|
||||
```
|
||||
|
||||
Use a unique `instance-id` when cloning this configuration for another VM.
|
||||
Executable
+28
@@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
output="${1:-${script_dir}/seed.iso}"
|
||||
files=(user-data meta-data)
|
||||
|
||||
mkdir -p "$(dirname -- "$output")"
|
||||
if [[ -f "${script_dir}/network-config" ]]; then
|
||||
files+=(network-config)
|
||||
fi
|
||||
|
||||
if command -v cloud-localds >/dev/null 2>&1; then
|
||||
args=()
|
||||
[[ -f "${script_dir}/network-config" ]] && args+=(--network-config="${script_dir}/network-config")
|
||||
cloud-localds "${args[@]}" "$output" "${script_dir}/user-data" "${script_dir}/meta-data"
|
||||
elif command -v xorriso >/dev/null 2>&1; then
|
||||
xorriso -as mkisofs -quiet -volid cidata -joliet -rock -output "$output" "${files[@]/#/${script_dir}/}"
|
||||
elif command -v genisoimage >/dev/null 2>&1; then
|
||||
genisoimage -quiet -output "$output" -volid cidata -joliet -rock "${files[@]/#/${script_dir}/}"
|
||||
elif command -v mkisofs >/dev/null 2>&1; then
|
||||
mkisofs -quiet -output "$output" -volid cidata -joliet -rock "${files[@]/#/${script_dir}/}"
|
||||
else
|
||||
printf 'Error: install cloud-image-utils, xorriso, genisoimage, or mkisofs.\n' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
printf 'Created %s\n' "$output"
|
||||
@@ -0,0 +1,2 @@
|
||||
instance-id: fedora44-host-001
|
||||
local-hostname: fedora44-host
|
||||
@@ -0,0 +1,10 @@
|
||||
version: 2
|
||||
ethernets:
|
||||
all-en:
|
||||
match:
|
||||
name: "en*"
|
||||
dhcp4: true
|
||||
all-eth:
|
||||
match:
|
||||
name: "eth*"
|
||||
dhcp4: true
|
||||
@@ -0,0 +1,31 @@
|
||||
#cloud-config
|
||||
preserve_hostname: false
|
||||
manage_etc_hosts: true
|
||||
ssh_pwauth: true
|
||||
|
||||
users:
|
||||
- name: guofang
|
||||
gecos: Guofang
|
||||
groups: [wheel]
|
||||
shell: /bin/bash
|
||||
sudo: "ALL=(ALL) NOPASSWD: ALL"
|
||||
lock_passwd: false
|
||||
hashed_passwd: $6$0NtCERV3eO12t9oJ$nlFE2sSc66nFfuD5X0xMnOla1cuzOnHfeGNRY5X7dCDHg.WzWVmuRe7M17Puj44.eCWLnJAWt4WNjd9vP9X0D0
|
||||
|
||||
chpasswd:
|
||||
expire: false
|
||||
|
||||
package_update: true
|
||||
|
||||
packages:
|
||||
- "@gnome-desktop"
|
||||
|
||||
runcmd:
|
||||
- [systemctl, set-default, graphical.target]
|
||||
# - [systemctl, enable, gdm.service]
|
||||
|
||||
power_state:
|
||||
delay: now
|
||||
mode: reboot
|
||||
message: "GNOME installation completed; rebooting into graphical mode."
|
||||
condition: true
|
||||
Reference in new issue
Block a user