This ensures that conflicting requests for package content isn't
used and lets the image build properly.
(cherry picked from commit 68ff5f4450c9f3c2a7c7830db6fc64299396be07)
This has the latest information on the maintainers list and replaces
armhfp entries with aarch64 ones, since 32-bit ARM images have not
been made in quite some time.
The conditional was getting skipped due to a missing whitespace and
the editenv command was never getting run. Additionally, we should
be using the boot_indeterminate flag for first boot instead of boot_success.
This lets us free up the space allocated for the partition and gives
us dynamically allocated space for boot data like we have with the
rest of the operating system.
We do not do this for s390x because zipl does not support it.
Reference: https://fedoraproject.org/wiki/Changes/BtrfsBootForCloud
The Fedora LXDE spin does not have a fedora-release variant,
so the image build fails when trying to request one.
This is an error in fedora-release and will (hopefully) be eventually
fixed. For now, disable the block requesting it so we can restore it
later.
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.
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.
Per erofs upstream, this results in faster and more efficient build times
with improved runtime performance.
Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
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.
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.
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.
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.
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.
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.
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.
Many of the older supported AArch64 systems (particularly single
board computers) require a legacy MBR (Master Boot Record) type
partitioning to successfully boot.
Many of the older supported AArch64 systems (particularly single
board computers) require a legacy MBR (Master Boot Record) type
partitioning to successfully boot.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.