Skip to content

Add plymouth_msg#2935

Open
uecasm wants to merge 1 commit intoOSInside:mainfrom
uecasm:patch-2
Open

Add plymouth_msg#2935
uecasm wants to merge 1 commit intoOSInside:mainfrom
uecasm:patch-2

Conversation

@uecasm
Copy link
Contributor

@uecasm uecasm commented Jan 23, 2026

Changes proposed in this pull request:

  • Adds plymouth_msg to kiwi-repart

This is mostly a minimal proof of concept; it can be merged as is but I expect you might want to move plymouth_msg to the library and then use it in other places too.

The core idea is that I noticed on large disks the first-boot repartitioning could take long enough that people might wonder what's going on, especially on systems running plymouth. This adds a simple message that displays on plymouth to let people know what it's doing (and implicitly that subsequent boots should be faster).

One caveat is that at least on current versions of OpenSUSE (tested in 15.6 but at time of writing it hasn't been fixed in later versions) there's a bug in plymouth-dracut which means that label-pango.so is not installed to the initrd and thus no text will display. This can either be fixed by patching /usr/lib/plymouth/plymouth-populate-initrd to install label-pango.so instead of label.so, or by adding an equivalent entry to any dracut module, e.g. install_optional_items+=" /usr/lib64/plymouth/label-pango.so ".

Copy link
Collaborator

@schaefi schaefi left a comment

Choose a reason for hiding this comment

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

Thanks, a good idea 👍 Please see my comments

}

function plymouth_msg {
if command -v plymouth >/dev/null 2>&1; then
Copy link
Collaborator

Choose a reason for hiding this comment

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

can we change this to

if command -v plymouth &>/dev/null; then
    :
fi

or

if type plymouth &>/dev/null; then
    :
fi

as you prefer. Thanks

return
fi

plymouth_msg "Expanding disk..."
Copy link
Collaborator

@schaefi schaefi Jan 30, 2026

Choose a reason for hiding this comment

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

I like that you want to expose the messages also to the framebuffer if plymouth is enabled. However, I believe we should not duplicate different messages depending on where they are displayed.

In the kiwi dracut code I'm using the dracut provided messaging system. You can see this when looking for

warn "..."
info "..."

kind a like messages. I believe it would be good if we check if dracut itself is not already capable to show this as plymouth message and if not I would propose that we create our own warn , info functions which wraps the dracut provided ones and also calls your code to display the same message also through plymouth.

This way we still have the same messages but just stream them to different channels.

Thoughts ?

Copy link
Collaborator

Choose a reason for hiding this comment

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

You find the implementation of the messaging system in dracut at ./99base/dracut-lib.sh

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.

2 participants