Creating Splashboot Images
From Android Wiki
This page details how to replace the boot image when your phone first boots. If you haven't already done this it is currently the "G1" logo before the android animation which is displayed as the actual android system starts up.
- You MUST have the at least the Engineering Bootloader or the HardSPL already installed. These give you fastboot, which is essential for sending new images to the phone while still in the bootloader.
What to start with
- The image file you want to use, it should be 320x480 pixels. Here it has been called splash.png.
Step 1 - Prepare the image
You should convert it to 256 colours (8-bit), remove the alpha channel if it exists and save as a PNG file. With linux (or cygwin etc.) use the convert tool form the ImageMagick toolkit:
$ convert -depth 8 splash.png rgb:splash.raw
At this point you must make sure your image is EXACTLY 460800 bytes long, if you've done as you were supposed to everything will be fine and it will be the right size. Now you need to convert the file into the "565" format which is the raw format used by the G1's framebuffer.
$ rgb2565 < splash.raw > mysplash.rgb565
Now another check: make sure this time that the file is exactly 307200 bytes! More or less will not fill the slot on the G1 and could spill over into something else bricking it. The file splash.raw565 is now ready to be sent to your G1.
Alternitavely there is a windows GUI which prepares the image entirely for you. It is called CreateG1Splash.zip and you can currently download it from the xda-developers forum, but there should be a mirror somewhere?
- Extract the contents of the zip file somewhere convenient
- Find that directory in Windows Explorer go into the "create" folder and run "CreateG1Splash.exe"
- Open the splash.png file you wanted and click "convert"
- The file mysplash.rgb565 file should be in the same "create" folder, if not it might be in the same folder as your original image, for simplicity copy it into the "fastboot" folder (the other one that was in the zip)
Step 2 - Sending to the G1
Now you are ready to send the file to your G1
- Boot into SPL mode (This is why you needed the engineering bootloader). To do this hold 'power' + 'camera' while turning your phone on, you should see the skating androids
- Plug in the USB cable to the phone and your computer. The message in the middle of the screen should be "FASTBOOT" if not just press the trackball or 'back' button. If it doesn't are you sure you are using either of the bootloaders mentioned above?
- You now need to find the fastboot binary on your computer. You will probably have to compile it for linux from the android source and it is in mydroid/out/host/[OS]/bin/fastboot when completed.
You can check the G1 is showing up with:
$ fastboot devices
You may need to do it as root if you can't access usb devices and you might need to fiddle with some Device IDs
If you used the windows method above you will already have the binary.
- Open up a command prompt: Start > Type 'cmd' > Hit enter (Vista), Start > Run > 'cmd' (XP)
- 'cd' to that "fastboot" folder
Now the commands to actually send it to the phone are these:
$ fastboot flash splash1 mysplash.rgb565 $ fastboot reboot
Show image for longer
When you did the last step above you could have replaced it with this:
$ fastboot flash splash1 mysplash.rgb565 $ fastboot flash splash2 mysplash.rgb565 $ fastboot reboot
To put the same image in the second splash screen slot. This has the effect of making the splash screen last a little longer but you can of course repeat the procedure for a different image and flash that into the second slot instead to show one image then the other.
This is not replacing the animated android that appears after it. As stated above that is actually part of the android build and not the bootloader. The second slot is not actually used at all in stock G1s.
If the device doesn't show up
TODO: this section
Windows: Device manager etc. reinstall driver blah blah blah...
Linux: See the fastboot page for information on configuring udev for fastboot.