Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RHEL 9.3.0] System Ready Minimal Images fixes #163

Merged
merged 11 commits into from
Sep 15, 2023

Conversation

achilleas-k
Copy link
Member

#137 cherry picked on top of v0.3.0 for RHEL 9.3.0.

nullr0ute and others added 11 commits September 14, 2023 20:30
None of these options should be hard coded. The serial console
on a lot of devices is not ttyS0, (eg it's ttymxc0 on i.MX8) and
it breaks console output on connected displays. Some of these
options are x86 specific and we want to use the specific names
for the network interfaces so drop all those.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Add WiFi support and initial-setup to create users. The image
should have basic WiFi support as a lot of the devices have
WiFi so being able to use it out of the box is important. The
majority of the WiFi firmware is currently in linux-firmware but
also add the most common Intel cards too.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
It's useful for a number of usecases to be able to
specify a starting offset for the first partition on
disk. This is needed for some arm images to allow
space for firmware, but it's also often needed for
virt images so VMs are optimally places on disk.

Fix an issue where the starting offset isn't set for
partition offsets.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
A number of edge devices, in most cases pre-prod that may be on
the edge of proper certification, need to write the firmware to
the beginning of the storage, while this is far from ideal the
default 2048 blocks (1Mb) is generally not enough and it means
when the firmware is written out we will zap the EFI ESP
partition so let's start this with an offset of 8Mb for
these images to ensure we have enough space for those (hopefully
rare) use cases.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
By default there's no user and the root account should be
locked so we need to provide a means for images that maybe
distributed to enable a user to create accounts to login
as we don't want to, by default, unlock the root account
and provide default credentials as that's a major security
issue. If a user doesn't add an account in a blueprint
they end up with an unusable image.

We add libxkbcommon as it's required by i-s but isn't
pulled in.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Fix the default Fedora kernel command line. It was advertised as the
default but the reality is the options were for cloud, so set a real
default as the option and update the cloud options to something
special for them. It's not truly correct as at least one of the
options is x86 specific but when booted on other architectures those
kernels will ignore it (and I honestly think it's ancient cargo
culted kernel command line options).

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
A number of bits of WiFi firmware have changed in Fedora, with
some moved out of linux-firmware, and some Intel ones being
renamed so update to the current naming which is valid for all
currently supported releases.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
A number of edge devices, in most cases pre-prod that may be on
the edge of proper certification, need to write the firmware to
the beginning of the storage, while this is far from ideal the
default 2048 blocks (1Mb) is generally not enough and it means
when the firmware is written out we will zap the EFI ESP
partition so let's start this with an offset of 8Mb for
these images to ensure we have enough space for those (hopefully
rare) use cases.

Also the Fedora image, due to support requirements around devices
like the Raspberry Pi 3 require the default partition tables
format to be msdos because the initial program loader in silicon
doesn't support loading the firmware off a GPT partition table.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Add WiFi support and initial-setup to create users. The image
should have basic WiFi support as a lot of the devices have
WiFi so being able to use it out of the box is important. The
majority of the WiFi firmware is currently in linux-firmware but
also add the most common Intel cards too.

We need inital-setup to create users, set root password etc as
we don't want to be using default user/password as it's a major
security risk. We add libxkbcommon as i-s needs it.

We need to start default services to ensure the right things run
and we end up with things like firewalls and networks.

Finally we need to setup the firmware for the RPi.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
Support adding fsnodes to the ImageConfig so we can define arbitrary
files as part of the base config.

This should be avoided and only used as a last resort or short term
workaround.
Currently initial-setup requires a kickstart file in the /root directory
to work.  Adding a temporary file node to the image config for
minimal-raw images so that initial-setup runs and a user can be created
if necessary.  The minimal-raw image has no other mechanism for creating
a user if one wasn't specified at build time, so we need to be sure that
initial-setup runs.
Copy link
Member

@thozza thozza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@achilleas-k achilleas-k merged commit 51f73a6 into osbuild:rhel-9.3.0 Sep 15, 2023
9 checks passed
@achilleas-k achilleas-k deleted the rhel-9.3.0 branch September 15, 2023 13:57
achilleas-k added a commit to achilleas-k/osbuild-composer that referenced this pull request Sep 15, 2023
Update images dependency to pull in change to minimal raw images [1] for
release into RHEL 9.3.0.

[1] osbuild/images#163
achilleas-k added a commit to achilleas-k/osbuild-composer that referenced this pull request Sep 15, 2023
Update images dependency to pull in change to minimal raw images [1] for
release into RHEL 9.3.0.

[1] osbuild/images#163
achilleas-k added a commit to achilleas-k/osbuild-composer that referenced this pull request Sep 18, 2023
Update images dependency to pull in change to minimal raw images [1] for
release into RHEL 9.3.0.
Includes fix for Azure image kernel options [2].

[1] osbuild/images#163
[2] osbuild/images#166
achilleas-k added a commit to achilleas-k/osbuild-composer that referenced this pull request Sep 18, 2023
Update images dependency to pull in change to minimal raw images [1] for
release into RHEL 9.3.0.
Includes fix for Azure image kernel options [2].

[1] osbuild/images#163
[2] osbuild/images#166
achilleas-k added a commit to achilleas-k/osbuild-composer that referenced this pull request Sep 18, 2023
Update images dependency to pull in change to minimal raw images [1] for
release into RHEL 9.3.0.
Includes fix for Azure image kernel options [2].

[1] osbuild/images#163
[2] osbuild/images#166
supakeen pushed a commit to osbuild/osbuild-composer that referenced this pull request Sep 19, 2023
Update images dependency to pull in change to minimal raw images [1] for
release into RHEL 9.3.0.
Includes fix for Azure image kernel options [2].

[1] osbuild/images#163
[2] osbuild/images#166
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants