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

feat: Add default and custom UKI Spash Screen Image Support #2899

Open
bencorrado opened this issue Sep 26, 2024 · 0 comments
Open

feat: Add default and custom UKI Spash Screen Image Support #2899

bencorrado opened this issue Sep 26, 2024 · 0 comments
Labels
enhancement New feature or request triage Add this label to issues that should be triaged and prioretized in the next planning call

Comments

@bencorrado
Copy link

Is your feature request related to a problem? Please describe.
This is more an enhancement than a problem. Currently when booting a UKI image, during the image loading and verification steps it shows a slash screen with red "UKIFY" branding. This is confusing to users who don't know what a UKI is and the use of red lettering usually indicates an error, so users assume something is wrong during the long boot.

Describe the solution you'd like
It would be great to default to using a BMP with "KAIROS" branding and some indication of "Booting..."

Currently enki does not support injecting a BMP file for this, so this functionality will need to be added.

It would also be good to add a flag to allow building with a custom BMP file similar to the --ENKI_FLAGS="--boot-branding \"Custom OS\"" where a user could link in their own BMP.

Describe alternatives you've considered
If there is not a desire to modify enki he Earthfile can be modified for development users to use ukify directly to do this in the uki-dev-build stage:

    # Create the directory for the BMP file
    RUN mkdir -p /usr/share/systemd/bootctl

    # Copy the BMP file into the directory
    COPY ../custom_splash.bmp /usr/share/systemd/bootctl/custom_splash.bmp

    COPY +git-version/GIT_VERSION ./
    ARG KAIROS_VERSION=$(cat GIT_VERSION)

    ARG UNAME=$(cat Uname)
    RUN /usr/lib/systemd/ukify Kernel initrd \
        --cmdline=@Cmdline \
        --os-release=@Osrelease \
        --uname="${UNAME}" \
        --stub /usr/lib/systemd/boot/efi/linuxx64.efi.stub \
        --secureboot-private-key DB.key \
        --secureboot-certificate DB.crt \
        --pcr-private-key tpm2-pcr-private.pem \
        --measure \
        --splash=/usr/share/systemd/bootctl/custom_splash.bmp \
        --output uki.signed.efi

Additional context

@bencorrado bencorrado added enhancement New feature or request triage Add this label to issues that should be triaged and prioretized in the next planning call labels Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triage Add this label to issues that should be triaged and prioretized in the next planning call
Projects
Status: Todo 🖊
Development

No branches or pull requests

1 participant