Skip to content

Conversation

@bluca
Copy link
Member

@bluca bluca commented Feb 20, 2025

This is for a new branch, as a temporary solution until there is post-processing in place.

With this we can build fully signed UKIs on OBS

@bluca bluca force-pushed the obs branch 9 times, most recently from 6ecc9bb to 58b7e70 Compare February 27, 2025 23:08
@behrmann
Copy link
Contributor

needs a rebase to get rid of the commits already on main

@bluca bluca force-pushed the obs branch 6 times, most recently from 9d75ace to 46cadca Compare March 10, 2025 23:29
@bluca bluca force-pushed the obs branch 2 times, most recently from a1ea351 to c37a41f Compare April 7, 2025 23:51
@bluca bluca force-pushed the obs branch 2 times, most recently from 95181e0 to dd2f0fe Compare April 17, 2025 00:35
@bluca bluca force-pushed the obs branch 2 times, most recently from 8e2f8a8 to c4772e9 Compare May 5, 2025 13:00
mkosi.conf Outdated
tty.virtual.tty1.login.noauth=yes

[Include]
Include=mkosi-obs
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this (directly including mkosi-obs from project config) should go into any of the config files in the project, since it should only apply when actually building in OBS; I think it would be better to instead add --include mkosi-obs to the params that the OBS service uses when calling mkosi.

After that, there is still an issue of the mkosi-obs config getting applied before all the actual project config, and thus getting overridden; instead, the mkosi-obs config needs to override all the project config. I can think of 2 potential ways to do it; 1) any config added using the cmdline --include should be placed into the cli namespace, so it will override the standard project config; and/or 2) add a Priority= config that can be added into the mkosi-obs/mkosi.conf to place its priority above the rest of the project config.

Adding priorities would, I think, be more flexible and actually simplify the mkosi/config.py code (to remove the special handling of cli vs config configuration) but is a larger change than just increasing an --include config up to the cli level.

@DaanDeMeyer @bluca any thoughts?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think this (directly including mkosi-obs from project config) should go into any of the config files in the project, since it should only apply when actually building in OBS; I think it would be better to instead add --include mkosi-obs to the params that the OBS service uses when calling mkosi.

There are a few problems - first of all, those configs are only available very recently, so building images with an existing version of mkosi would suddenly break if it's hardcoded. Older distros need to continue working.

Secondly, this implies a lot of policy and a lot of decisions, that would become impossible to override anymore, and I think that would end up removing way too much flexibility overall

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this (directly including mkosi-obs from project config) should go into any of the config files in the project, since it should only apply when actually building in OBS; I think it would be better to instead add --include mkosi-obs to the params that the OBS service uses when calling mkosi.

There are a few problems - first of all, those configs are only available very recently, so building images with an existing version of mkosi would suddenly break if it's hardcoded. Older distros need to continue working.

Secondly, this implies a lot of policy and a lot of decisions, that would become impossible to override anymore, and I think that would end up removing way too much flexibility overall

I'm not following what would be impossible to override, but in any case, do you have an alternate proposal? Obviously actually adding the Include=mkosi-obs directly into the particleos mkosi.conf file isn't correct.

Copy link
Member Author

Choose a reason for hiding this comment

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

There are various settings that are needed specifically for particleos, but that not necessarily apply to all mkosi builds done on OBS, so we can't hardcode things for everyone, it needs to come from each build. eg: one might not want to use zstd.

I think we are fine just using a fork as we are doing now. Things change very very rarely anyway, so at most there's a copy/paste of a package name or two that has to be done every couple of months, not a big deal. This is just a collection of configurations, all the logic is elsewhere.

@DaanDeMeyer said he wanted to have some mechanism to generate a branch/tag via GHA on merge that would have the expected configuration setup, but I don't think there's any progress on that front.

@bluca bluca force-pushed the obs branch 7 times, most recently from 305d127 to 7fb52ef Compare August 24, 2025 13:07
@bluca bluca force-pushed the obs branch 10 times, most recently from a03047e to 340a509 Compare August 27, 2025 14:37
@bluca bluca force-pushed the obs branch 5 times, most recently from 0725b2f to 206ca02 Compare September 6, 2025 10:26
…etup

Needed until https://gitlab.freedesktop.org/accountsservice/accountsservice/-/issues/89
is fixed to let GNOME know that homed users exist and there's no
need to run the initial user setup.
Install the initial setup package so that if someone doesn't
create a user ahead of time there's a nice GUI for it.
With simpledrm the UKI can show the Plymouth splash
screen immediately. Add the filter for the modules
and the kernel cmdline to the desktop profile.
All single packages lists need all the packages, so add new files
hidden under .obs for each build.

Also add keyword to tell the OBS source server to drop the project
signing public certificate in the source directory, so that
mkosi can pick it up and use it. It needs to be in the
mkosi.conf that gets extracted at source runtime.
Needed for hardware with option roms
F41 was removed and F42 was added.
Deb13 was added. Rename testing to include 'testing' in the name
@bluca
Copy link
Member Author

bluca commented Sep 25, 2025

as agreed with Daan this content will just be pushed on the obs branch so that it can be used

@bluca bluca closed this Sep 25, 2025
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