Custom boot splash logo

Hey guys
im still hard at work building my Haiku kiosk, i was wondering what i need to change in the source to change the Haiku boot splash to a custom image.
Iv tried changing the images in the src artwork folder but no affect when i compile Haiku, any ideas?

For memoryprint consideration, the boot splash is RLE compressed into an header file under headers/private/kernel/boot/images.h, which is included by the boot loader sources (see src/system/boot/platform/generic/video.cpp).

To generate this header, a tool is available under src/tools: generate_boot_screen.cpp.
Build it and run it on your custom splash screen. Replace the images.h by the generated one and rebuild the boot loader.

Thanks for the info, ill give that a try now and come back to you with my result :slight_smile:

hey trying to figure out how to compile the RLE when i do it with GCC i fet a truck load of errors, any one got any ideas?

Ok well im stumped, a good first step is to figure out how to disable the boot splash when compiling haiku, anybody know how / if this can be done ?

cd src/tools
jam '<build>generate_boot_screen'
../../generated/objects/haiku_host/x86/release/tools/generate_boot_screen --help


cd src/tools
jam ‘<build>generate_boot_screen’
…/…/generated/objects/haiku_host/x86/release/tools/generate_boot_screen --help

In addition, I’ve pushed in some changesets that include a boot splash with only the icons.
See [haiku-development] Summary-of-changes-relating-to-building-from-source-HAIKU-logos for an explanation.

To be clear, those changes don’t remove all of the trademarks – only the graphical logos.

You can either re-run configure or edit /build/BuildSetup to change the value of HAIKU_DISTRO_COMPATIBILITY_OFFICIAL

                              The distribution's level of compatibility with
                              the official Haiku distribution. The generated
                              files will contain the respective trademarks
                              official -- the official Haiku distribution.
                              compatible -- a Haiku Compatible (tm) distro.
                              default -- any other distro (default value).

Thank you very much for your time, iv been stuck at this for weeks, if you excuse me i have some source to compile, ill get back to you with my results :slight_smile:
Thanks again

oops sorry i double posted that

Say i wanted to change my boot splash on a live install, where does the complied binary containing the boot splash exist on the f/s or is it compiled directly into the kernel module?

The boot logo is embebded in /boot/system/haiku_loader binary
The boot icons are embebded both in /boot/system/haiku_loader and /boot/system/kernel_x86 binaries, the loader to display them in their initial disabled state, the kernel to draw the enabled/passed states versions.

There isnt a value somewhere that i can set to false e.g bootsplash=false; in one of the boot scripts is there? Something to disable the boot splash ?

The boot splash is displayed by bootloader (haiku_loader binary), which is not customizable at runtime, only at compile time.

The easiest way to have no boot splash is to build haiku_loader with HAIKU_DISTRO_COMPATIBILITY variable set to something else than “official”. You can configure it via the --distro-compatibility option of configure script at Haiku source tree root, or by changing directly the value in your generated/build/BuildConfig file.

You will also to rebuild kernel_x86 too, as the kernel must know boot spash dimension in order to redraw boot steps icons as the expected location, which is computed from both spash and icons images dimensions.

hi, it’s the summer holidays and i’m playing with haiku. i’m trying to generate the boot image but i still don’t understand how to use src/tools. i’m such a noob. can someone provided a step-by-step guide to generate the boot image images.h?

did a:

  1. jam ‘generate_boot_image’ in src/tools

  2. returned:
    … patience …
    … found 323 target(s) …

and it stops there. what should happen next? where will the images.h gets generated?

any help is appreciated. thanks.

It did nothing because the target is not valid:

  • the <build> gist is needed
  • it’s generate_boot_screen, not generate_boot_image :wink:

The *.h file is generated where asked, as it’s a mandaroty program argument.
Check the tool usage text with --help argument.