Commit Graph

105 Commits

Author SHA1 Message Date
Neal Gompa
ae610b2441 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.

(cherry picked from commit 2c5cf67014f3c755c2f1b42794f804388a64e35c)
2024-11-16 22:34:31 -05:00
Timothée Ravier
54592ad455 components/desktops/kde: Ignore mariadb-server-utils
This package depends on Perl and is not needed for desktop use cases.

See: https://pagure.io/fedora-kde/SIG/issue/566
See: https://pagure.io/fedora-kickstarts/pull-request/1066
2024-10-11 17:04:10 +02:00
Neal Gompa
8caf9d87f8 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-05 02:19:36 -04:00
Troy Dawson
17a1dca46c Do not use 4096 blocksize
4096 blocksize is required for Macs, and some newer machines can see it,
but many other machines are not able to use the 4096 blocksize.

Signed-off-by: Troy Dawson <tdawson@redhat.com>
2024-08-29 23:44:32 -04:00
Neal Gompa
b1d905c6ea 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:12:31 -04:00
Neal Gompa
e11b7102d1 repositories: Fix formatting of non-rawhide repo XML
Somehow the updates repo was using spaces instead of tabs for
indentation.
2024-08-29 04:12:31 -04:00
Neal Gompa
8f20ace625 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:03:50 -04:00
Neal Gompa
bc0235a07c components/liveinstall: Enable mediacheck for live ISOs
This brings us to full parity with official Fedora ISOs produced
by Lorax.
2024-08-27 15:58:55 -04:00
Neal Gompa
9cc3ccd1d9 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 09:12:40 -04:00
Adam Williamson
3a2e2397f3 application_id: no spaces
We discovered Neal got the regex for this wrong in the Kiwi
schema upstream. While he fixes that up, let's just ditch the
spaces here for now so it passes validation.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-08-22 18:33:23 -07:00
Neal Gompa
11a037fb0f components/liveinstall: Set a default application ID
This way we do not get an incomprehensible value here.
2024-08-22 17:38:30 -04:00
Troy Dawson
a0134369eb Fix packages installed on KDE Mobile Live
Fix boot after install for all Live builds

Signed-off-by: Troy Dawson <tdawson@redhat.com>
2024-08-22 09:24:16 -07:00
Neal Gompa
64e7bc2e03 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:29 -04:00
Neal Gompa
2b2f7ab4d5 Add initial configuration for MiracleWM spin
Reference: https://fedoraproject.org/wiki/Changes/FedoraMiracle
2024-08-22 11:21:47 -04:00
Samyak Jain
8203a65b0c Branch Fedora 41 from Rawhide
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
2024-08-12 18:11:18 +05:30
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
Troy Dawson
40e3039216 Initial KDE Plasma Mobile Spin import
Signed-off-by: Troy Dawson <tdawson@redhat.com>
2024-07-31 15:25:37 -07: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
Troy Dawson
afdd23f510 Use ${terminal_output} instead of ${terminal_setup}
The newer kiwi has cleaned up its grub configurations.
One of the changes was the variable terminal_output, which you set for your terminal_output.  Much more logical.
This changes to the new way.
2024-07-23 16:26:30 -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
Romain Geissler
d16b188a4d Introduce a new "fedora-init" image, which is fedora + systemd.
This is similar to "ubi-init" on UBI/RHEL side.

Fixes BZ 2278884.
2024-07-01 07:58:26 +00:00
Pavel Raiskup
0f501932e7 Add dnf5-plugins into the generic container
[root@ba1ab1388008 /]# dnf5 install dnf5-plugins  --setopt=install_weak_deps=False
...
Total size of inbound packages is 2 MiB. Need to download 2 MiB.
After this operation 13 MiB will be used (install 13 MiB, remove 0 B).
...

Fixes: https://pagure.io/releng/issue/12105
Fixes: https://pagure.io/releng/issue/12106
2024-07-01 09:22:08 +02:00
Dan Horák
dcc4f3c6f9 cloud: updates for s390x
updates for "virtual image" usable under KVM
- don't use 4k block size
- don't use CDL partitioning
- don't use DASD related kernel parameters
2024-06-03 15:36:44 +00:00
Dan Horák
7ba0ead9bd cloud: don't use 4k block size on ppc64le 2024-06-03 16:02:34 +02:00
Marcus Schäfer
818914d495
Allow isolated build via kiwi's boxbuild
The kiwi boxbuild plugin allows to build the image as normal user
inside of a KVM box. The boxes are provided by the plugin and
fetched once or on update. This is useful to decouple the build
from host operating system requirements. The calling user must
have permissions to run KVM instances. Also see:
https://osinside.github.io/kiwi/plugins/self_contained.html
for setting up the sshfs sharing backend
2024-05-31 15:05:28 +02:00
Timothée Ravier
7ddf908a6f VARIANTS: Use a table to list image variants
This should make the list of avaiable image variants more readable.
2024-05-24 10:40:33 +02:00
Adam Williamson
47dd0aa761 Disable systemd-firstboot on Cloud images via cmdline (#2282195)
systemd 256 added a new feature which wants to create users on
boot if none exist yet:
3ccadbce33
We don't want that, cloud-init handles this situation. So let's
disable it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-22 08:15:12 -07:00
Major Hayden
60ddd0e466 AmazonEC2: Add more helpful packages
The amazon-ec2-utils package includes udev rules that make it easier to
identify block storage devices and sets some configuration for other
storage devices.

Users can run awscli2 to manage their AWS cloud resources.

The ec2-instance-connect package allows one click console access to a
Fedora instance from the AWS console (website).

Signed-off-by: Major Hayden <major@redhat.com>
2024-05-10 11:39:20 +00:00
Dominik Wombacher
bc2caa6751 docs(README): Fix broken link to VARIANTS.md 2024-05-09 20:59:21 +00:00
Adam Williamson
678ee6243c Adjust configs for SwitchToDnf5 Change
dnf5 (in obsoleting-dnf mode) provides /usr/bin/yum and obsoletes
yum, so we should drop the 'dnf-yum' entries (which installed
yum). dnf5 also appears to provide and obsolete microdnf, so we
should replace microdnf with dnf5 in the minimal image, I guess.
dnf5-plugins seems the logical replacement for dnf-plugins-core
(which is not removed yet, but is specific to dnf4).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-09 06:10:06 +00:00
Clement Verna
9e7435cee5 Add the container=oci environment variable
This variable was dropped when switching to kiwi.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2278652

Signed-off-by: Clement Verna <cverna@tutanota.com>
2024-05-07 13:27:54 +02:00
Adam Williamson
391d65ff7f Add btrfs-progs to Cloud images
It was previously being pulled in via weak dependencies of fwupd,
but we removed fwupd in #47 and now it's not there any more. It
is needed for the first boot resize by cloud-init to work, since
we use a btrfs filesystem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-05-03 13:22:57 -07:00
Dusty Mabe
848b29bfaf container: add back util-linux-core package
The F39 minimal and generic container both had util-linux-core in
them. If this wasn't an intentional change, let's add it back.

Also note that util-linux wasn't actually removed in the change linked
in https://bugzilla.redhat.com/show_bug.cgi?id=1951111#c1
2024-05-01 12:45:07 +00:00
Yanko Kaneti
aa89e5e004 cloud: exclude fwupd from cloud images 2024-05-01 15:08:25 +03: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
Major Hayden
72083f7ba0
cloud: Consistent device naming
Use consistent network device names for network devices instead of
forcing the old "ethX" names from pre-2017. This ensures that
specialized network devices, such as SR-IOV devices, are easy to
recognize and configure inside a Fedora instance on a public cloud or
OpenStack cloud.

FESCo ticket: https://pagure.io/fesco/issue/3190
Change proposal: https://fedoraproject.org/wiki/Changes/EnableConsistentDeviceNamingCloud

Signed-off-by: Major Hayden <major@redhat.com>
2024-04-15 10:09:41 -05:00
František Zatloukal
3668bfa9c6 teams/cloud/cloud: add console="serial" to grub2
Fixes booting the Generic image on systems without any video device.

ref. https://github.com/teemtee/tmt/issues/2771
2024-04-03 22:55:58 +02:00
Debarshi Ray
7316ac278f teams/cloud/container: Remove dracut from Toolbx
The dracut package contains tools to create bootable initramfses for the
Linux kernel.  Historically, neither the Container/Dockerfile nor the
Kickstart equivalents of the fedora-toolbox OCI images contained dracut.
The KIWI description of the image was including dracut because it's
listed as a Requires(pre) of the grub2-tools package [1].

Unless someone comes forward and says that they are using Toolbx to hack
on the boot stack, it's better to retain the status quo for the sake of
a smaller image.

Since an RPM's %pre scriptlet is run before a package is installed [2],
it should be safe to remove dracut after the grub2-tools package has
been installed.

[1] https://src.fedoraproject.org/rpms/grub2

[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

https://pagure.io/fedora-kiwi-descriptions/pull-request/40
2024-04-02 13:56:37 +00:00
Debarshi Ray
5c131992d0 teams/cloud/container: Add cpio and file to Toolbx
They are currently being pulled in as dependencies of dracut and
grub2-tools respectively.  However, since they are explicitly mentioned
in the list of default RPMs on Fedora Silverblue and Workstation [1],
they should be mentioned here too, especially since packages like dracut
and grub2-tools are related to booting the host operating system and
might not be useful in a container.

[1] https://pagure.io/fedora-comps/

https://pagure.io/fedora-kiwi-descriptions/pull-request/40
2024-04-02 13:56:37 +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
Debarshi Ray
875d1c3dd1 teams/cloud/container: Add langpacks-en to Toolbx
Fedora Silverblue and Workstation, and so the Kickstart equivalent of
the fedora-toolbox OCI image, contain langpacks-en by default.  It's
absence leads to a significant difference in the list of RPMs, which is
better to avoid so close to the Fedora 40 final release:
  -abattis-cantarell-vf-fonts-0.301-12.fc40.noarch
  -default-fonts-core-sans-4.0-12.fc40.noarch
  -fonts-filesystem-2.0.5-14.fc40.noarch
  -google-noto-fonts-common-20240301-3.fc41.noarch
  -google-noto-sans-mono-vf-fonts-20240301-3.fc41.noarch
  -google-noto-sans-vf-fonts-20240301-3.fc41.noarch
  -google-noto-serif-vf-fonts-20240301-3.fc41.noarch
  -hunspell-1.7.2-7.fc40.x86_64
  -hunspell-en-0.20201207-9.fc40.noarch
  -hunspell-en-GB-0.20201207-9.fc40.noarch
  -hunspell-en-US-0.20201207-9.fc40.noarch
  -hunspell-filesystem-1.7.2-7.fc40.x86_64
  -langpacks-core-en-4.0-12.fc40.noarch
  -langpacks-fonts-en-4.0-12.fc40.noarch
  -liberation-fonts-common-2.1.5-9.fc40.noarch
  -liberation-mono-fonts-2.1.5-9.fc40.noarch
  -liberation-sans-fonts-2.1.5-9.fc40.noarch
  -liberation-serif-fonts-2.1.5-9.fc40.noarch
  -sil-mingzat-fonts-1.100-5.fc40.noarch

The plan is to investigate if Toolbx containers can use some of these
packages from the host.  However, that needs to be co-ordinated with the
toolbox(1) binary, and has to be a done in a way that works across a
wide variety of container and host combinations.

Until then, it's safer to retain the status quo.

https://pagure.io/fedora-kiwi-descriptions/pull-request/37
2024-04-02 13:06:19 +02: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
Gerd Hoffmann
436e9d6e48 fix aarch64 uki build
There is no biosboot partition on aarch64, so the root filesystem
on aarch64 is partition 2.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2024-03-26 10:24:22 +01:00
Michal Hlavinka
64e5cf610e remove passwd, it was retired
passwd was retired, it's function was replaced by shadow-utils,
which is already included
see https://fedoraproject.org/wiki/Changes/LibuserDeprecation
2024-03-25 23:53:21 +01:00