Aaron Poffenberger

One of the OpenBSD folks I follow on Mastodon recently lamented that he couldn't change the boot logo on his new ThinkPad because he already deleted Windows. I already knew you could update the BIOS on a ThinkPad without Windows, and all the articles I read said that updating the boot logo was done through the BIOS update utility, so naturally I wondered why those of who run free operating systems couldn't set our boot logos as well. Turns out we can.

Creating a Bootable Thumbdrive

Roman Zolaratev posted detailed instructions on his blog about updating the BIOS on a ThinkPad by creating a thumbdrive. The key bits are:

  1. download the BIOS image (in ISO) format for your ThinkPad,
  2. install geteltorito,
  3. convert it to an image with geteltorito,
  4. add a logo in bmp, jpg, or gif format,
  5. install the BIOS

Converting the ISO to an IMG is quite easy:

$ geteltorito -o bios.img <filename>.iso

Then copy it to a thumbdrive:

$ doas dd if=bios.img of=/dev/rsd<n>c bs=1m

Once you've created the thumbdrive, mount it and copy the logo to /mnt/FLASH/LOGO1.{BMP,JPG,GIF}.

doas cp LOGO1.GIF /mnt/FLASH

About the LOGO file

Once you've created the thumbdrive, there's a file called README.TXT in the FLASH directory.

The README.TXT describe two logo files that you may add to the BIOS: LOGO1.{BMP,JPG,GIF} and LOGO2.{BMP,JPG,GIF}. The first of the two, LOGO1, us loaded when your system is botting with "OS OPTIMIZED DEFAULTS" set to "DISABLED". The other when it is "ENABLED". If you're running OpenBSD, the first option is all that matters. "OS OPTIMIZED DEFAULTS" is for "Secure Boot" OSs signed with a vendor key known to your laptop. That's not an option here.

The file says LOGO1 should be "LESS THAN 640x480", but AFAICT, then mean "LESS THAN OR EQUAL". You can't exceed 640x480 (the installer will balk), but take those extra pixels. You'll want them.

The more important caveat to keep in mind is the max file size: 30KB ... each. That's not a lot of bytes. You won't be booting with a serene zen garden. Think small. Really small.

Finding the Right Logo

As noted above, Lenovo limits LOGO1 to 640x480, but then forces the image to fit the full size of your laptop screen. For this tutorial I used my ThinkPad T450s which has a 14.1 inch screen. It took a bit of trial and error to find the right logo, but that's a story for another blog post.