How to change the BIOS bootsplash screen
Contents
BIOS-Bootsplash
This page describes how to replace the standard IBM BIOS Bootsplash (The one with the Thinkpad- and Pentium M-Logo), without access to Microsoft Windows or a floppy drive.
Getting the Files
You'll need the bios upgrade file from the IBM website.
Using a Non-Diskette-File and cabextract
For ThinkPad R50/p, R51 (1829, 1830, 1831, 1836), T40/p, T41/p, T42/p this file is suitable:
There may be a more recent file on the IBM website.
Do this to extract the disk image from the file:
cd /tmp wget ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/1ruj27us.exe cabextract -F 1RUJ27US.IMG 1ruj27us.exe mv 1RUJ27US.IMG floppy.bin
Using a Diskette-File and dosemu
Another option is to use the "Diskette BIOS file".
For ThinkPad R50/p, R51 (1829, 1830, 1831, 1836), T40/p, T41/p, T42/p this file is suitable:
I got the bios upgrade diskette from the IBM site. It was an .exe-file... but
no, no Windows executable, an OS/2 executable (well, it's IBM after all).
The file is an OS/2 executables don't run in wine, so you need to install dosemu to run it and create the image.
apt-get install dosemu dosemu-freedos
(for non-debian-users: Get dosemu and freedos somewhere and make it work somehow).
With dosemu, I could run this executable. But this program unfortunately needs a floppy drive to write to. So I dig into the linux toolbox and find: The loopback device. A dd if=/dev/zero of=/tmp/floppy.bin bs=1024 count=1440 creates a file for the floppy, a losetup /dev/loop0 /tmp/floppy.bin makes it look like a block device, and this block device is what I put in the dosemu configuration as the floppy disk device. Now I can run the extractor executable (dosemu something.exe) and it will happily make a /tmp/floppy.bin floppy image.
Adding the custom image
Mount your floppy.bin as a loopback device.
mkdir /tmp/mnt mount -o loop,umask=000 /tmp/floppy.bin /tmp/mnt
Create a 16 color 640x480 BMP (4 Bit/pixel) (for example with Gimp) and save it to /tmp/mnt/LOGO.BMP.
No prepare the image with prepare.exe using wine: (This does not work with dosemu!)
wine prepare.exe logo.scr
Now there should be a new logo.mod. If so, you are set, umount /tmp/mnt and go on.
Fake a floppy
Now you need to put the image on a floppy and boot. Since recent Thinkpads don't have a floppy drive, we can use a CD-R (or a CD-RW, actually, for the cheap ones, like me) and burn it like that:
mkisofs -b floppy.bin floppy.bin | cdrecord dev=<device> -
where <device> is your cd writer device.
The exciting part
After this worked, reboot your Thinkpad from the cdrom and wait for the IBM tool to start. After confirming that I checked a few things, I got asked whether I want to replace the boot splash image. Yes, I do. It will then flash the BIOS, which will take about a minute. A hint: Since you know that any problem during this minute might break your thinkpad, if you have weak nerves, go and do something else instead of watching a non-changeing screen.
Coda
Suddenly the laptop turns itself off. Hopefully, it was finished - in my case it was. When booting, I got my bootsplash picuture (with some ugly text "To abort booting, press Enter" or something in the lower left corner). Unfortunately, you don't see it really long, but it's better than some advertisement, so it was worth it.
This text was meant as a immidiate mailinglist post, feel free to improve. :-)