166 Commits

Author SHA1 Message Date
660af63010
Add short commit to release and add OCI support
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2025-01-30 13:48:52 +02:00
Andrea Bolognani
8fcc007ebf hack: Introduce simple-kiwi-build script
Just a tiny wrapper that makes things more convenient by
automatically figuring out most of the options that need to be
passed to kiwi.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-29 18:21:39 +01:00
Andrea Bolognani
1b89edaa2b p550: Use countdown for grub timeout
For whatever reason, serial output is really slow on P550, to
the point where drawing the grub menu takes an annoyingly long
amount of time and really gets in the way.

To avoid that issue, use the countdown timeout instead. This
still gives users a chance to enter the full menu if they need
to while making things a lot faster for regular boots.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-29 18:21:39 +01:00
Andrea Bolognani
22cbd2d58e p550: Disable initial-setup
We keep hitting this situation on P550 where
systemd-vconsole-setup runs after initial-setup has already
been started. This causes virtual consoles to be re-initialized,
and as a consequence initial-setup stops accepting input and
becomes effectively stuck. This doesn't seem to be a problem on
other hardware, e.g. VF2.

Generally speaking having initial-setup run during the first
boot provides a good user experience and matches what other
architectures are doing, so we want to keep doing it, but the
issue mentioned above makes it a no-go for P550.

Until we've figured out how to prevent this from happening,
don't enable initial-setup and keep the default root password
around so that the machine can still be logged into.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-29 18:21:39 +01:00
Andrea Bolognani
288fbcef1e p550: Set DTB information for grub
The vendor firmware for P550 doesn't know how to pick up the
DTB automatically from /boot, and we've been having trouble
getting that combination to work correctly anyway.

While we work on a more standard solution, get things to boot
by telling grub where the DTB is so that it will automatically
add a "devicetree" command to all boot entries.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-29 18:21:39 +01:00
Andrea Bolognani
b496bca18a p550: Add kiwi file
P550 needs a custom kernel, which is only available through a
special repo. Since repos are configured very eary in the image
building process, before profiles are considered, we need a
whole separate kiwi file to make things work.

This unfortunately requires a bit of duplication, but thankfully
we can keep the P550 part quite minimal since we don't need to
worry about things like non-riscv64 variants of the various
profiles, or cloud images.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-29 18:21:37 +01:00
Andrea Bolognani
167e732f09 teams: Turn server into a directory
Same as already happens for cloud. This will allow us to add
more files.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-28 12:07:24 +01:00
Andrea Bolognani
3aa6be5399 server: Use btrfs for riscv64
The Fedora RISC-V maintainers have a strong preference for this
filesystem over the lvm+xfs combo used by other server images.

Additionally, use ext4 for the boot filesystem. This not only
matches what is done for other btrfs-using images, but is
particularly useful on riscv64 because u-boot, which is used as
the firmware on most hardware, doesn't support booting off xfs.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-28 12:07:24 +01:00
67597e25bb Initial draft for riscv64 (F41)
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2025-01-28 12:07:24 +01:00
Samyak Jain
c7024688bf Branch Fedora 41 from Rawhide
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
(cherry picked from commit 8203a65b0c0e347efb0de9b56a1410d77f2f6486)

We want to build Fedora 41 images, so we need to change these
values back.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-28 12:07:24 +01:00
Neal Gompa
90f4f3a820 Add Fedora Scientific variants
This is ported over from the kickstart definitions.
2025-01-27 19:38:49 -05:00
Andrea Bolognani
b81b830770 server: Set bootloader timeout to 3s and show menu
While cloud images can usually be booted without any issues and
for workstation installs we want a visually polished experience,
in the case of server installs on real hardware it is generally
expected to have convenient access to the bootloader menu for
troubleshooting purposes.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-27 14:36:05 +01:00
Andrea Bolognani
d33836e560 config: Resize root partition on first boot
Disk images are usually flashed to media which is much larger
than they are, and all that additional space goes unused until
the user intervenes.

Configure things so that systemd-repart, which runs by default,
automatically takes care of resizing the root partition.
systemd-growfs, which also runs by default, will subsequently
take care of resizing the filesystem to fill the newly-enlarged
partition.

Note that we don't do this for cloud images, since in that
case cloud-init takes care of resizing the root filesystem and
the underlying partition together with all the other setup
tasks.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
2025-01-24 16:23:26 +01:00
Yaakov Selkowitz
9fed79138a teams/eln/container: Install standalone sysusers for base containers
This avoids a dependency on the full systemd package for non-init
containers.
2025-01-23 18:46:23 -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
Asahi Lina
88b268c9f1 teams/asahi: Add readlink binary
Potentially needed for path resolution to work properly in scripts.
2024-12-18 21:21:48 +09: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
Asahi Lina
ed9909ea20 teams/asahi: FEX: Add glxinfo/eglinfo/clinfo to bin includes 2024-12-12 00:18:35 +09:00
Asahi Lina
9f4dd7cb88 teams/asahi: FEX: Minimize rootfs by removing most data files and executables
We only really need i686/x86_64 libraries, and executables which do not exist
(or do not work equivalently) on the arm64 host system.

In particular, removing libexec avoids situations where random dbus services
are started under emulation for no reason.
2024-12-09 20:00:23 +00:00
Asahi Lina
bb3a746dda teams/asahi: FEX: Add xim support for GTK2/3
We're currently shipping GTK2/3 libs in the rootfs. While we're doing
that, let's also install XIM support, which actually works through X11
passthrough with muvm. This should generally make legacy GTK x86_64
apps have input method support the old-fashioned way.

Modern apps should use the Wayland input method protocol stuff, which is
already built into GTK3/GTK4 and should not require any extra shared
libraries for FEX. For muvm, that will work once we have Wayland
passthrough.
2024-12-09 23:53:30 +09:00
Adam Williamson
f4fe89ae90 Disable group and related exclusions in LXQt definition
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>
2024-11-27 16:37:13 -08: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
Adam Williamson
4943dc58a8 Fix a line ordering error in lxde.xml
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-11-23 15:02:47 -08: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 1457e97008f15064dcc30aaca9977ffa1ec66572.
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
Asahi Lina
2efe56a38f teams/asahi: FEX: Clean up some redundant FEX packages
ibus: This is an input method, which is a user choice. It doesn't make
sense to ship some input method libs and not others. These libs
typically communicate with the main IM daemon over UNIX sockets, so this
won't work anyway without additional work. (This might cause some
spurious errors as the guest tries to load the nonexistent IM, but we
can ignore them since it wouldn't work anyway).

xdg-desktop-portal: This is just data and executables, no libraries, so
it makes no sense for FEX.

glibc-langpack-en, kbd-misc: Only needed for kiwi, add a comment

zenity: Used by Steam but it's just a binary, so this should be an
aarch64 dependency, not run emulated.

llvm 14 & 15: I don't think there's a good reason to ship these? Any
reasonable binary-packaged app shouldn't be depending on specific LLVM
versions like this. Let's keep llvm18 & 19 since 18 is used by our Mesa
builds.

sudo & rsync: Binaries only (and sudo doesn't even work, neither under
emulation nor plain in muvm).

dbus: What we really need is the libs, so replace with that. dbus
probably won't do what we want inside the container, but for many use
cases dbus is not critical so it's okay for things to fail as long as
the libs are there.

spirv-tools-devel: Replace with spirv-tools-libs (dep)
glew-devel: Replace with libGLEW (dep)
2024-11-17 17:14:46 +00: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
Stephen Gallagher
c50ee8707d ELN: switch to metalink repo URLs
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2024-11-01 14:41:01 -04:00
Asahi Lina
b5ce3af2e2 Add missing SDL2 libs to rootfs
Besides the base lib, apps sometimes need the add-on ones.
2024-10-30 19:12:09 +09:00
Janne Grunau
e5064bf42a FEX: exclude /usr/share/fonts to avoid shadowing the host fonts 2024-10-11 13:39:41 +00:00