How to change the BIOS bootsplash screen
Getting the Files
You'll need the bios upgrade file from the IBM website.
Method 1: Using a Non-Diskette-File and cabextract
There may be a more recent file on the IBM website.
For Thinkpad R60e the bios is available as an iso which can be edited before burning See the readme file in the ISO for details of how to change the bootsplash.
You need the cabextract tool to extract files from the exe:
# apt-get install cabextract
Do this to get the ibm file and extract the disk image from it:
# cd /tmp
# wget ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/1ruj35us.exe
# cabextract -F "*.IMG" 1ruj35us.exe
# mv 1RUJ35US.IMG floppy.bin
Method 2: Using a Diskette-File and dosemu
- 7luj05ud.exe Released 2007-07-16 NEW!
The file is an OS/2 executables and don't run with 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, you can run this executable, but this program unfortunately needs a floppy drive to write to. So use the loopback device, to create a virtual floppy.
# dd if=/dev/zero of=/tmp/floppy.bin bs=1024 count=1440
# losetup /dev/loop0 /tmp/floppy.bin
Put this block device (/dev/loop0) into the dosemu configuration as the floppy disk device. Now you can run the extractor executable, which makes /tmp/floppy.bin the desired floppy image .
# dosemu 1ruj27ud.exe
# losetup -d /dev/loop0
For 2.6.12+ if you have dosemu error:
# echo 0 > /proc/sys/kernel/randomize_va_space
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 VGA palette) (for example with Gimp) and save it to /tmp/mnt/logo.bmp.
When creating your image, keep in mind that on the T43p (and others??), regardless of your custom bootsplash screen there will be a superimposed black "Centrino" logo (~100x100 pixels) on the upper right of your display, so you might want to keep that area clear. You might also want to reserve the bottom 150 pixels for the "boot options" / "Entering BIOS setup" message(s) too, which will also be displayed.
The Thinkpad T61 (and likely others) superimposes several messages/logos, including the "Press the ThinkVantage Button" message in the lower-left corner, an "Intel" logo in the upper-right, and a "Lenovo" message on the right side.
Now prepare the image with prepare.exe using wine: (This does not work with dosemu!)
# wine prepare.exe logo.scr
The image must compress to <10k. If you receive an error, you can try reducing the number of colors in your image palette (step down to an 12 or 8 color palette for a very significant reduction in image size.) When successful, there should be a new logo.mod and your logo.bmp. If so, you are set, don't forget to unmount your loopback device:
# umount /tmp/mnt
Fake a floppy
Now you need to put the image on a floppy and boot from it. 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 with the following command:
# mkisofs -b floppy.bin floppy.bin | cdrecord dev=<device> -
(<device> being your cd writer device)
Add an image to an iso
INFO: You need a windows system by your hand ( it must not be installed on your thinkpad )
WARNING: I've only tried it with my Thinkpad R60 but it should also work on other models
Extract the ISO, rename your logo Bitmap to LOGO.BMP and copy it to the extracted folder.
Then run LOGO.BAT in a command shell ( windows-key+r -> cmd ).
Get MagicISO and add following files to the downloaded image: LOGO.MOD, LOGO.SCR ( i've added also LOGO.BMP and LOGO.LOG but i don't think that they are needed ).
Save it, burn it, boot it and enjoy it.
The exciting part
After this worked, reboot your ThinkPad from the cdrom by pressing F12 while booting and wait for the IBM tool to start. Be sure to have your ThinkPad on AC power and say Yes to the questions the BIOS Upgrade Tool asks. It will then flash the BIOS, which will take about a minute.
Suddenly the laptop turns itself off with two beeps. When booting, you'll have your bootsplash picture.
Unfortunately, you won't see it really long, but it's better than the standard one, so it was worth the action.
BTW next time you have to flash the BIOS the IBM BIOS updater will detect a custom boot splash and ask you if you want to preserve it or restore the original.
A note for widescreen Z60m: This may be the case for all widescreen thinkpads using this method. The image you supply, 640x480, gets scaled but maintains its aspect ratio. As in, it stays 4:3, with the vertical component being the full vertical resolution, and it sits in the middle of the screen. This means that there are thick black bars to the left and right of my image (On my 1280x800 screen, I estimate each bar to be 110 pixels or so). The Centrino/Celeron/PentiumM and Lenovo branding mostly fits in the right bar, but the left bar is black. Take this into account when creating your image - it should look suitable in these conditions. I was also wondering if anyone knew a way around this - as the default Lenovo "THiNK" bootsplash does indeed occupy space in the left-most portion of the screen.
If you've created your own bootsplash image and want to share it with other you can post it here.
- Schnappi bootsplash: Bow to the power of Schnappi. The BMP image compressed to about 6KB. Schni, schna, schnappi!
- IBM Tux: An image of Tux with the IBM logo written on its tummy.
- Eris, the goddess of discordia. To use it as bios bootsplash convert it to bmp with just a few (<8) colors (thinkwiki does not allow bmp uploads).
- Simple Tux - Just convert it to bmp.
- ThinkTux, my Linux-friendly version of the Thinkpad logo. Features Tux in all his glory and the motto, "ThinkTux," based on the Thinkpad logo. Just convert it to a .bmp with the GIMP (already is 640x480 and 16 colors).
- ThinkPadLinux: A simple modification of Simple Tux adding "ThinkPad" and "Linux". Just convert it to .bmp using GIMP.