For aarch64 liveinstall images we want to replace the kernel-core package
with kernel-uki-dtbloader for:
https://fedoraproject.org/wiki/Changes/Automatic_DTB_selection_for_aarch64_EFI_systems
This is implemented by:
1. Adding a new BootCoreLive profile which is the same as the BootCore
profile and re-uses most of the description. Rreplacing the kernel-core
package with kernel-uki-dtbloader on aarch64.
2. Switch the LiveInstall from the BootCore profile to the BootCoreLive
profile.
Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
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.
shim-ia32 no longer exists at present. We can talk with pjones
about bringing it back, but for now, this is preventing Rawhide
composes from working.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The package called 'anaconda' is empty and only depends on two
things, anaconda-gui and anaconda-tui. Since anaconda 43.32,
anaconda runs the GTK UI if it's installed; it will only run the
web UI if anaconda-gui is not installed. So by including anaconda
we are forcing lives to run GTK UI and not really gaining
anything - we don't want anaconda-tui on lives anyway, I don't
think.
The anaconda-live package will pull in anaconda-webui, so all we
need to do is stop including anaconda. This will cause all live
images to use web UI, which was the intent of
https://github.com/rhinstaller/anaconda/pull/6530 . I guess if
any lives really want/need to use GTK UI, they can put
anaconda-gui into their profiles.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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 became necessary with 10.0.13 / after merging
https://github.com/OSInside/kiwi/pull/2535 but doesn't seem to
noticeable effects besides miisin "GRUB_ENABLE_BLSCFG=true" in
/etc/default/grub.
menu_auto_hide=1 is required for the boot_success provided by Fedora's
grub2 package. This will fall back to the previous kernel and show the
usually hidden grub menu when booting fails.
This makes it unnecessary to override the timeout_style and using a
reduced timeout of 1 second for disk images.
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.
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.
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.
Of the profiles that are currently listed, only LiveInstall
actually exists. Use BootCore instead, which all profiles derive
from. In most cases we'll end up locking the root user as part
of config.sh anyway.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Most of the changes are self-explanatory and just follow what's
already happening for existing architectures.
Two things are worth pointing out:
* we need to use shim-unsigned instead of shim-signed because
riscv64 is not fully integrated into Fedora yet and so we
can't do Secure Boot signing for the time being;
* we use ext4 as bootfilesystem since in most cases the
underlying firmware is going to be U-Boot, which needs to be
able to load the board's DTB from /boot and doesn't support
XFS.
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
Per #112, excluding group specs just does not work in Kiwi at
present. For LXQt this is especially a problem because it means
the image fails to compose. The exclusion of m17n* *does* work
as it's a package spec, but because the exclusion of the
input-methods group does not work, dnf wants to install
ibus-typing-booster (part of input-methods), which requires
m17n-lib, and these conflicting requirements cause it to blow up.
So at least until the problem of not being able to exclude
groups is resolved, we should drop these.
Arguably, we should permanently stop excluding input-methods, at
least. Space constraints aren't as huge of a deal these days as
they used to be, on the whole; lots of folks have decent bandwidth,
lots of disk space, and large USB sticks. Input methods are
critical for CJK users; leaving them off the image makes it more or
less useless for them, which is a significant impairment. (Unless,
that is, input methods don't work properly in LXQt even if included
- I haven't tested this).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
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.