Cannot extract EFI/ACPI/BGRT bootup logo

I wanted to use the bootup logo as a desktop background, so I thought I would just extract the bootup logo, which is stored somewhere in EFI/BIOS. Turns out that is supposed to be simple, just copy /sys/firmware/acpi/bgrt/image, rename it to .bmp and done. However, doing that, I do not get an actual valid BMP file. I do get the logo on startup (and I think even in the linux startup screen, so I think the kernel does manage to read the logo correctly).

I thought that maybe it is not a proper .bmp file (even though online resources suggest so), but it is just a raw BMP file containing just the pixel data, but inside the file I see strings things like GRUBX64 EFI, leading me to believe that I’m looking at the wrong bit of memory here…

Anyone have any experience with this, or some other advice?

Note that I’ve found a working desktop background from Framework logo Background, so I no longer need the image, but I am wondering what is wrong here and if this is maybe a BIOS or kernel bug?

I just tried this on my Arch install (kernel 5.17.1-arch1-1) and the image displays just fine.

my BIOS ver is 3.07

Ah, thanks for checking. Kernel 5.15.0-25-generic (Ubuntu 22.04) here, so maybe it’s a since-fixed kernel bug. I’m also on BIOS 3.07. I’ll try again when my kernel updates (if I remember :-p)

Now I’m curious. Can both of you share the file you get?

I’m not so inclined to share this file, since if this is indeed some (not so) random bit of kernel memory being exposed, I have no idea what’s in there exactly. It looks a bit if there might be parts of the EFI certificate store in there or something. Are you looking for something in particular?

Here’s a few of the ASCII bits out of the hex dump:

image

image

image

image

I would share it, but I can’t upload the file here. Any recommendations for a simple file host?

@Peetz0r This is the image they are talking about:

If you wanted to copy it to your desktop as a .bmp file, you could run something like this:

cp /sys/firmware/acpi/bgrt/image ~/Desktop/image.bmp

The original file is a read-only file owned by root, so to do anything with your copy you will have to change the ownership and permission of the file.

sudo chown username:username ~/Desktop/image.bmp
chmod +w ~/Desktop/image.bmp
2 Likes