Commit Graph
100 Commits
Author SHA1 Message Date
Neal Gompa 4a79767f05 config.sh: Do not enable Anaconda Initial Setup for COSMIC images
Anaconda Initial Setup is no longer used for Fedora COSMIC images.
2025-09-30 09:10:44 -04:00
Neal Gompa 35da5b9e14 teams/server: aarch64: Set 16 MiB starting offset for ServerDisk partitions
This ensures that there's empty space for arm-image-installer to
inject firmware blobs into images as part of preparing to install
for various single board computers.
2025-09-28 13:12:11 -04:00
Neal Gompa 4d4ddf0ba0 components/boot: aarch64: Set 16 MiB starting offset for partitions
This ensures that there's empty space for arm-image-installer to
inject firmware blobs into images as part of preparing to install
for various single board computers.
2025-09-22 19:04:42 -04:00
Neal Gompa b58277390d teams/{kde,lxqt,workstation}: Drop redundant anaconda-webui entries
The anaconda-webui package is now installed by default for live
media, so these are no longer necessary.
2025-07-31 01:04:41 -04:00
Neal Gompa 1c530eb983 components/boot: Add ia32 EFI components for x86_64 images
This restores support for booting on 64-bit x86 systems that use
32-bit EFI platforms.

Reference: https://fedoraproject.org/wiki/Changes/32BitUefiSupport
2025-07-10 07:39:32 +00:00
Neal Gompa a400e6e5db components/liveinstall: Use -Efragments instead of all-fragments with inode dedupe
Per erofs upstream, this results in faster and more efficient build times
with improved runtime performance.

Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
2025-06-23 10:49:27 +00:00
Neal Gompa 92729675dd teams/eln/wsl: Use native "wsl" image type
This introduces extra validation for WSL image creation to ensure
the result is usable.
2025-05-29 10:13:19 -04:00
Neal Gompa 887dbe204b teams/cloud/wsl: Use native "wsl" image type
This introduces extra validation for WSL image creation to ensure
the result is usable.
2025-05-29 10:13:19 -04:00
Neal Gompa c3e509d22e config.sh: grub2: Set boot_success=1 for variants using auto-hiding menus
This ensures that the menu does not pop up for the first boot on
variants that leverage boot success tracking.
2025-04-30 17:44:33 -04:00
Neal Gompa 13c5d722ad components/liveinstall: Filter out unwanted EFI files from the ESP
This drastically reduces the content included in the embedded ESP
for live media, and avoids weird side-effects caused by extra EFI
binaries being present.
2025-04-16 19:27:24 -04:00
Neal Gompa 35ef9796e9 components/desktops/soas: Only install the livecd-iso-to-disk script on x86
This package only exists on x86 architectures.

Fixes: 06ef485a89
2025-04-16 19:27:21 -04:00
Neal Gompa 06ef485a89 components/desktops/soas: Only install the livecd-iso-to-disk script
We do not need the full livecd-tools on the SoaS image, only the
scripts needed to put the ISO on a USB stick with persistence.
2025-04-09 12:12:31 -04:00
Neal Gompa db029d864e components/desktops/soas: Add initial-setup GUI package
This ensures that the initial-setup system is present on the image,
which is required for disk image builds.
2025-04-09 12:10:19 -04:00
Neal Gompa d3770941df README: Declare needed packages and tested environments
This is not exhaustive, but does get users into the right environment
to build images. We also indicate that this is only tested on Fedora Linux.
2025-04-02 08:20:14 -04:00
Neal Gompa db073ec6ab config.sh: Move FEX cleanup to the finalization section
This ensures that the FEX image build does not fail.
2025-03-20 19:43:41 -04:00
Neal Gompa 6c39b23364 kiwi-build: Fix handling of kiwibuild_extra_args when undefined
When the kiwibuild_extra_args variable is not defined, we do not
want it to fail with "unbound variable" error.

Fixes: efc71e6d86
2025-03-20 18:48:12 -04:00
Neal Gompa d7316ab543 config.sh: Inhibit ldconfig cache generation unit
The ldconfig cache generator runs on first boot and attempts to
read the whole image into memory, which eats gigabytes of RAM and
slows the boot down by half a minute. This is unnecessary for
images being booted unmodified.

Thus, create the necessary dot files to inhibit their runs.
2025-03-20 18:26:00 -04:00
Neal Gompa f0a7ae8da3 Revert "components/liveinstall: Shrink chunksize to 128KiB and raise to level 8 LZMA compression"
This did not help anything and it makes image builds slower.

This reverts commit b57a77e571.
2025-03-20 18:23:13 -04:00
Neal Gompa efc71e6d86 kiwi-build: Pass on arguments after "--" to kiwi
This simplifies supporting one-off custom actions without having to
define options in the helper script all the time.
2025-03-19 10:48:55 -04:00
Neal Gompa b57a77e571 components/liveinstall: Shrink chunksize to 128KiB and raise to level 8 LZMA compression
It seems the larger chunk size seems to slow the start of images in
low memory environments due to the ldconfig cache generator unit
eating gigabytes of memory from mapping the chunks into memory.

Attempt to work around this by lowering the chunk size while raising
the compression level to attempt to maintain image sizes.
2025-03-18 09:46:57 -04:00
Neal Gompa 0e959df19b config.sh: Drop unnecessary initrd rebuild logic for SoaS
The initramfs is built after config.sh is run anyway.
2025-03-01 08:30:02 -05:00
Neal Gompa 832be6c098 config.sh: Configure the Xfce polkit agent to run on SoaS
The Xfce polkit agent configuration was missed in the initial port
from the kickstarts.
2025-03-01 06:33:04 -05:00
Neal Gompa cd8fae1546 config.sh: Drop livesys scriptlets for SoaS
Some of	this was already present in livesys-scripts and	the rest
was migrated.
2025-03-01 06:33:04 -05:00
Neal Gompa 960270bb86 components/desktops/kde: Only install KDE PIM on x86_64, AArch64, and POWER
This group is currently not available for any other architectures.
2025-02-22 20:42:32 -05:00
Neal Gompa 4d0315767d components/desktops: Drop duplicate unused DesktopCommon profile entries
This is principally to avoid confusion as the DesktopCommon profile
is defined in one place and used across the board.

No functional changes.
2025-02-22 04:05:41 -05:00
Neal Gompa 914e61919e VARIANTS: Add Python Classroom Lab and reformat table
The Fedora Python Classroom Lab moved to kiwi with Fedora Linux 42.
2025-02-22 01:22:56 -05:00
Neal Gompa ecd07afee9 VARIANTS: Add all the spins officially using kiwi now 2025-02-22 01:17:14 -05:00
Neal Gompa f06dd20ad5 VARIANTS: Add Workstation Edition disk image
This was accidentally left off when it shouldn't be.
2025-02-22 01:16:24 -05:00
Neal Gompa 1cc05ef282 VARIANTS: Update names for KDE variants
Fedora KDE Plasma Desktop is now an Edition, and KDE Mobile is the
Fedora KDE Plasma Mobile Spin.
2025-02-22 01:11:44 -05:00
Neal Gompa fcdcd34d50 components/boot, teams/server: Add partitioning hack for the Raspberry Pi 3
The Raspberry Pi 3 does not recognize a FAT filesystem marked with
the 0xef type, so until we drop support for this device, hack the
partition manually to use a legacy FAT filesystem partition type.
2025-02-20 14:46:28 -05:00
Neal Gompa 5844c5c608 teams/server: Bump the ESP size to 500 MB
Now that we have a lot more stuff installed in the ESP, we need
the ESP to be bigger. This matches the size used for the desktop
disk variants.
2025-02-20 14:15:26 -05:00
Neal Gompa ada197be81 components, teams/server: Use a common profile for hardware support
It is hard to ensure that hardware support packages are pulled in
universally when it's splintered across different variant profiles.

To fix this and ensure Server benefits from this, unify everything
into a common profile and make everything require it.
2025-02-20 14:15:26 -05:00
Neal Gompa 2cb33874d1 teams/server: Use ext4 for /boot for the AArch64 host disk image
U-Boot does not support XFS and this causes significant issues
when trying to boot Fedora Server on single board computers.

Resolve this by using ext4 here, as all U-Boot variants generally
support this.
2025-02-20 07:55:35 -05:00
Neal Gompa 04baf2e19b components/desktops/lxqt: Replace enki with featherpad
Enki is nice and advanced, but it also crashes when you try to use
some basic functionality, so let's put back a simpler app that works.
2025-02-20 07:33:54 -05:00
Neal Gompa 3d2b7b0dc4 components/liveinstall: Switch to EROFS for live media
This switches from SquashFS to EROFS using LZMA compression
with a 1M chunksize and fragement dedpulication for inodes enabled.

This attempts to match the defaults for SquashFS in kiwi and provides
a good balance for image compression and creation time.

Note that "-Ededupe" is not used because it is not multi-threaded and
is currently extremely slow.
2025-02-19 12:19:53 -05:00
Neal Gompa a442d1b21e components/desktops/kde: Add x86-emulation group for AArch64 images
Reference: https://fedoraproject.org/wiki/Changes/FEX
2025-02-17 19:30:30 -05:00
Neal Gompa 90f4f3a820 Add Fedora Scientific variants
This is ported over from the kickstart definitions.
2025-01-27 19:38:49 -05:00
Neal Gompa a74ebe5098 Add Minimal disk image
This is an example that can be used for creating small disk images
to verify that the basics work.
2025-01-22 19:58:08 +00:00
Neal Gompa 1f35331b84 teams/cloud/container: Install standalone sysusers for base containers
This avoids a dependency on the full systemd package for non-init
containers.
2025-01-22 13:01:27 -05:00
Neal Gompa 01b6f436c2 Add Python Classroom Lab variant
This is a port over from the kickstart definitions.
2025-01-14 12:30:13 -05:00
Neal Gompa fe9f770c85 teams/workstation: Use web-based Anaconda UI by default for live media
Reference: https://fedoraproject.org/wiki/Changes/AnacondaWebUIforFedoraWorkstation
2025-01-13 11:47:38 -05:00
Neal Gompa 9aeb2773a9 tmt: Add build verification for Fedora Workstation 2025-01-13 13:55:28 +00:00
Neal Gompa e69c665481 teams/asahi: FEX: Switch SDL2 for sdl2-compat
Reference: https://fedoraproject.org/wiki/Changes/SDL2onSDL3
2025-01-13 08:37:54 -05:00
Neal Gompa 7f04952a02 Add COSMIC spin variants
Reference: https://fedoraproject.org/wiki/Changes/FedoraCOSMIC
2025-01-10 15:11:08 -05:00
Neal Gompa a10cb63d95 components/liveinstall: Use GPT for UEFI-enabled ISO images
This mimics the previous state with Lorax-based images.
2024-12-16 06:03:28 -05:00
Neal Gompa f8b3926a82 components/common: Exclude qemu-user-static
This metapackage pulls in tons of unwanted emulators which can
add up to 100MB of additional space.
2024-12-13 10:18:06 -05:00
Neal Gompa 1f496fc743 components: Introduce a BaseCommon profile
This is where the lowest level common denominator configuration
goes for most images go.
2024-12-13 10:18:06 -05:00
Neal Gompa 649ac3e121 teams/server: Split out ServerDisk aarch64 profile to force MBR
Many of the older supported AArch64 systems (particularly single
board computers) require a legacy MBR (Master Boot Record) type
partitioning to successfully boot.
2024-11-26 06:40:06 -05:00
Neal Gompa e81733710d components/boot: Split out BootDiskCore aarch64 profile to force MBR
Many of the older supported AArch64 systems (particularly single
board computers) require a legacy MBR (Master Boot Record) type
partitioning to successfully boot.
2024-11-26 06:39:45 -05:00
Neal Gompa 21a2d09ca2 scripts/fedora-live-iso-label-generator: Add Workstation->WS mapping
This ensures that live media produced for Workstation Edition has a
valid volume ID.
2024-11-23 17:06:55 -05:00
Neal Gompa b1359b9f68 scripts/fedora-live-iso-label-generator: Account for unknown profiles
This way it does not fail and produces something that makes sense.
2024-11-23 17:04:40 -05:00
Neal Gompa 6816c7d501 teams: Add install disk profiles for all desktop teams
KDE and MiracleWM teams already have it, so this just fills it in
for the rest of them.
2024-11-23 16:41:30 -05:00
Neal Gompa c5971107d5 tmt: Purge work area contents to free up space on archiving
We only need to preserve the log file anyway.
2024-11-23 15:43:20 -05:00
Neal Gompa 58210badb5 components/desktops/common: Ensure Fedora Media Writer is installed
We want this on all deliverables.
2024-11-23 12:50:14 -05:00
Neal Gompa 93220f3c23 components/liveinstall: Exclude uncommon and unneeded storage tools
This saves some space and brings us closer to the old Lorax-based
live media.
2024-11-23 12:50:14 -05:00
Neal Gompa cc9d69ca35 components/desktops/kde: Refactor and flesh out package exclusions
Group exclusions do not seem to work anymore with DNF5, so explicitly
filter out unwanted packages. Additionally, add missing unwanted
packages from the kickstarts and refactor it to apply to both
KDE Desktop and KDE Mobile profiles.
2024-11-23 10:17:50 -05:00
Neal Gompa d469b72759 components/desktops/kde: Install KDE PIM
This was always supposed to be present, but was somehow missed.
2024-11-23 10:00:59 -05:00
Neal Gompa 5486849837 components/liveinstall: Use plain squashfs instead of ext4-in-squashfs
It results in higher compression ratios.
2024-11-23 07:54:54 -05:00
Neal Gompa 244874c5e3 Revert "components/liveinstall: Switch to EROFS for live media"
As it currently stands, this doubles the size of the live ISOs,
which is completely unacceptable.

We will need to make the switch eventually, but we need to figure
out how to compress better first.

This reverts commit 1457e97008.
2024-11-22 18:11:22 -05:00
Neal Gompa a634dbdc80 scripts/fedora-kiwi-bundle-format-generator: Fix program description
This script was cloned from the iso label generator, but the
program description in the argument parser was not changed.
2024-11-17 17:23:54 -05:00
Neal Gompa 1457e97008 components/liveinstall: Switch to EROFS for live media
EROFS is newer, more performant filesystem that emphasizes speed
and integrity over SquashFS. It is also much better maintained and
friendlier for flash-based storage that live media is typically
run from these days.
2024-11-17 12:32:31 -05:00
Neal Gompa 2c5cf67014 kiwi-build: Update to mimic production builds more closely
Production builds in Fedora have a couple extra features:

* ISOs have custom overrides to set the correct volume/app IDs
* Image filenames are structured to follow roughly NVRA format

Now we support these features with extra helper scripts. If a
"image release" value is passed in, then we fully mimic the
production image build process.

This will be particularly useful for making respins of Fedora images
with updates applied.
2024-11-16 20:18:31 -05:00
Neal Gompa 400c842f0a Add Fedora Server generic guest and host image descriptions
This is loosely based on the Server kickstart and ELN descriptions.
This covers both the disk image for running on ARM hardware as well
as the VM image for running on various hypervisor platforms.
2024-11-13 18:30:06 +00:00
Neal Gompa 44a53fbca6 components/boot-eln: Add full kernel to BootDiskCore
The boot environment for non-cloud disk images was incomplete,
leading to images not bootable on real hardware. This change
adds the missing packages to fix that.
2024-09-05 09:25:36 -04:00
Neal Gompa 5994d4352b components/boot: Add full kernel and btrfs stack to BootDiskCore
The boot environment for non-cloud disk images was incomplete,
leading to images not bootable on real hardware. This change
adds the missing packages to fix that.
2024-09-04 22:53:26 -04:00
Neal Gompa 2df162e797 ELN: Set description version to "0"
This value is overridden by Koji with the value set by Pungi for
the target RHEL version. Not having it here removes the assumption
that a valid version is being tracked here.
2024-08-30 14:25:19 -04:00
Neal Gompa 65dbdf3ec5 ELN: Include the container manifest
This was missing, preventing the container builds from working.
2024-08-29 22:26:13 -04:00
Neal Gompa 82336ed294 repositories: Add disabled repository for test updates for non-rawhide
This lets people easily turn on content from test update repositories
for their image builds.
2024-08-29 04:11:38 -04:00
Neal Gompa 747d490071 repositories: Fix formatting of non-rawhide repo XML
Somehow the updates repo was using spaces instead of tabs for
indentation.
2024-08-29 04:07:26 -04:00
Neal Gompa f5c0d732ac components/desktops/kde: Add initial setup group for KDE Mobile
It's not the most ideal option, but it works and unblocks the disk
image.
2024-08-27 16:00:29 -04:00
Neal Gompa f9fbfc24e0 components/liveinstall: Enable mediacheck for live ISOs
This brings us to full parity with official Fedora ISOs produced
by Lorax.
2024-08-27 15:53:33 -04:00
Neal Gompa 6c69287ea5 config.sh: Drop fixboot Anaconda scriptlet
We should no longer need this because kiwi has been adjusted to
delete this file before finalizing the image.
2024-08-25 08:24:46 -04:00
Neal Gompa 56ecbf971e ELN: Set the target RHEL version as the version of the description
Otherwise this turns into "Fedora-ELN-ELN", which is not what we
want. And this represents RHEL 11 anyway.
2024-08-24 13:21:03 -04:00
Neal Gompa 70edf9c301 components/liveinstall: Set a default application ID
This way we do not get an incomprehensible value here.
2024-08-22 17:36:49 -04:00
Neal Gompa 6561c0307a config.sh: Add livesys configuration for MiracleWM spin
This ensures livesys-scripts loads the correct session information
when making the MiracleWM spin.
2024-08-22 11:54:00 -04:00
Neal Gompa 4a1dfbe178 Add initial configuration for MiracleWM spin
Reference: https://fedoraproject.org/wiki/Changes/FedoraMiracle
2024-08-22 11:20:22 -04:00
Neal Gompa b77585ea3f Rename config.xml to Fedora.kiwi
This ensures that there is a single unambiguous filename for the
root description.
2024-08-09 11:17:35 -04:00
Neal Gompa c4d19f7f8e kiwi-build, tmt: Require setting the kiwi filename for the build
In preparation for having multiple top-level kiwi description files,
expose the ability to define which file to read.

Additionally, tests are updated to use this new flag.
2024-08-09 11:17:35 -04:00
Neal Gompa 316fb431ce components/liveinstall: Support all expected architectures properly
We want to be able to produce live ISOs for AArch64 and POWER with
the correct GRUB configuration. This also sets us up to handle any
quirks for each architecture platform as needed later.

This also includes a change to bump the EFI partition size for ISOs
to 30MB so everything fits.
2024-07-24 08:28:25 -04:00
Neal Gompa 3af429672c teams/kde: Rework to add disk image build
This adds a disk image build profile to produce Fedora KDE images.
Additionally, these profiles are now tested in CI.
2024-07-24 07:13:41 -04:00
Neal Gompa c8229ee61f components/boot: Add common configuration for disk images
This introduces a core disk configuration profile "BootDiskCore"
that can be used for creating non-cloud bootable disks.
2024-07-24 07:13:41 -04:00
Neal Gompa 72e7153694 components/desktops/kde: Add plasma-welcome-fedora
This adds an extra panel for Plasma Welcome to enable third party
sources on initial login.
2024-07-22 14:12:40 -04:00
Neal Gompa 00cafda86f components/desktops/kde: Install LibreOffice
LibreOffice is expected on a KDE desktop image.
2024-04-20 18:10:55 +00:00
Neal Gompa 9d578c30b5 components/desktops/kde: Add firefox group
Firefox is expected to be preinstalled for KDE based variants.
2024-04-20 18:10:55 +00:00
Neal Gompa e4481149f4 components/desktops/common: Drop nonexistent groups
This also includes an adjustment to use the correct group for printing.
2024-04-20 18:10:55 +00:00
Neal Gompa cf376d1721 uki: Take 2 to drop custom logic for discoverable partitions
Since kiwi v10.0.10, it automatically sets the partition GUIDs to
values from the UAPI group's discoverable partition standard.
2024-04-02 08:01:40 -04:00
Neal Gompa 34aafd9f09 Revert "uki: Drop custom logic for discoverable partitions"
This is not yet properly supported in kiwi.

This reverts commit 571f7e79d4.
2024-03-26 11:01:33 -04:00
Neal Gompa 571f7e79d4 uki: Drop custom logic for discoverable partitions
Since kiwi v10.0.1, it automatically sets the partition GUIDs to
values from the UAPI group's discoverable partition standard.
2024-03-26 08:00:55 -04:00
Neal Gompa 64b3ca0b20 config.sh: Add snippet to configure sudo for Vagrant images
The vagrant user used in Vagrant images needs the ability
to use sudo with no restrictions. This is fine and expected
for Vagrant images, as they are only intended to be used
for development purposes.
2024-03-25 11:24:13 -04:00
Neal Gompa ac559c73fd teams/cloud/container: Add name labels for the containers
These were accidentally omitted when they were ported over.
2024-03-12 22:13:14 -04:00
Neal Gompa ff7affb890 teams/cloud/container: Filter out mesa-va-drivers for s390x for Toolbox
VA-API does not exist in s390x, so we need this filtered out for
that architecture.
2024-03-12 07:14:11 -04:00
Neal Gompa 12cb853ad9 Add s390x variant for Cloud-Base-Generic
This allows building cloud images for Z systems.
2024-03-11 21:36:23 -04:00
Neal Gompa 0becdd4d43 teams/cloud/container, tmt: Build the container images as OCI images
This incorporates the labels that are expected for Fedora images.
2024-03-06 17:41:28 -05:00
Neal Gompa 31d0b2a70f teams/cloud/cloud: Bump the Google Cloud image to 10G
Anything lower than that causes performance problems.
2024-03-06 13:51:35 -05:00
Neal Gompa 31f9f8a743 components/boot: Force grubby at bootstrap phase
If no preference is expressed, sdubby will be selected instead of
grubby, which breaks image builds. Thus, install grubby early to
avoid this issue.
2024-03-04 21:25:39 -05:00
Neal Gompa b558e172c1 Install fedora-release-* at bootstrap phase for various images
This ensures that the correct variant packages are installed.
2024-03-04 20:18:11 -05:00
Neal Gompa 4f5bafccf3 tmt: Install kiwi-systemdeps for containers and disk images
These are needed for the images currently being validated in CI.
2024-02-24 14:57:26 -05:00
Neal Gompa 12275dff55 Add ppc64le variant for Cloud-Base-Generic
This allows building cloud images for POWER systems.
2024-02-24 14:57:26 -05:00
Neal Gompa 3ac0ae9240 teams/cloud: Define compatible architectures for existing profiles
Most of the Fedora Cloud-owned profiles are limited to a subset of
architectures, generally x86_64 and aarch64 (with the exception of
the VirtualBox Vagrant image, which is x86_64 only).
2024-02-24 14:57:26 -05:00
Neal Gompa ce013b2c21 components/desktops/mate: Switch from earlyoom to systemd-oomd 2024-02-24 14:29:45 -05:00