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

Make /etc/ and /usr/ as updated after installation #3602

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

keszybz
Copy link
Member

@keszybz keszybz commented Mar 19, 2025

This implements the "conservative approach" discussed in #3338. If we know that /etc/ and /var/ were populated during the installation, we can opt out of running early boot services, making the first boot quicker.

C.f. https://bugzilla.redhat.com/show_bug.cgi?id=2348669.

This implements the "conservative approach" discussed in
systemd#3338. If we know that
/etc/ and /var/ were populated during the installation, we can
opt out of running early boot services, making the first boot
quicker.

C.f. https://bugzilla.redhat.com/show_bug.cgi?id=2348669.
@DaanDeMeyer
Copy link
Contributor

Why do this in a finalize script? That will only run in the mkosi repo itself. Shouldn't we do this in python in build_image() for all images?

@keszybz
Copy link
Member Author

keszybz commented Mar 19, 2025

Why do this in a finalize script? That will only run in the mkosi repo itself. Shouldn't we do this in python in build_image() for all images?

See the discussion in #3338. We don't know for certain if the image relies of those services being started or not. I think that in fact in most cases this is true, and starting them just wastes time, but in principle somebody could just drop in a sysusers.d file in mkosi.extra and rely on the user being created.

I think that there are good reasons to change the semantics and say that all such updates must be done during the build. This is in particular necessary if the image is to be used read-only. At least because of that I think it'd make sense to do this.

@septatrix
Copy link
Contributor

Why do this in a finalize script? That will only run in the mkosi repo itself. Shouldn't we do this in python in build_image() for all images?

As discussed in the linked issue this would not always be sound. Think e.g. of a user which installs a library during mkosi.build. In this case the ldconfig.service should still be started. This also applies to other things installed manually like journal catalogs.

Copy link
Contributor

@septatrix septatrix left a comment

Choose a reason for hiding this comment

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

Commit message: Make → Mark

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants