Anyone who has played around with custom ROMs on their Samsung Captivate (particularly if you started with the Rogers SGH-I896) knows that there is an AT&T logo when you first boot the phone. It’s mildly annoying for those of us who don’t actually have an AT&T phone. Well, I’ve found a solution.
First, an explanation of how the boot sequence works. When you first power on the phone, it’s the responsibility of the boot loader (similar to a BIOS on a regular computer*) to display an initial graphic on the display. The boot loader then loads the kernel, and then it’s the kernels turn to display a graphic on the screen. The kernel loads the rest of the ROM, and then the ROM gets a chance to display a boot logo or even boot animation. The instructions below will show you how to change the first boot logo.
Disclaimer: As usual, I do not accept any responsibility for anyone following the steps below. While they did work for me, I am not responsible if you brick your phone, void your warranty, lose your girlfriend to your best friend, or open a portal to demonic dimension, nor any other consequence resulting from following the directions below.
Step 1: Get an appropriate image to replace the AT&T logo. I have attached the stock SGH-I896 logo from a Rogers phone, as well as an alternate one that I found featuring the likeness of HAL. Feel free to use any jpg that is the same size and dimensions as these files.
Step 2: Download Odin and the XXJPU_param.tar file I’ve attached to this post. You might also need to get the PIT file I attached, though I personally did not need it. Fire up Odin and set the field marked PDA to use the XXJUP_param.tar file. You’ll also need a copy of the Android SDK from Google, which is available for all major platforms.
Step 3: Power your phone down completely. Once it’s off, hold down both of the volume buttons and plug in the USB cable to the computer. Keep holding the volume buttons until an image of the BugDroid with a shovel appears. If anything else appears, try again. What we’re doing is putting the phone into download mode. Once it’s in download mode you should see it recognized in Odin.
Step 4: Click the start button. You should see the XXJUP_param.tar file get flashed to the phone (it won’t take long, it’s not a very large file). Once this is done, boot your phone up normally. If the screen turns black and Odin hangs in the process list, then that means you need to use the PIT file. I didn’t need to do this, but I believe the process would be to pull the battery from the phone, kill Odin in the process list, and then start over but using the PIT file as well. If this happens to you, please report your process and success/failure.
Step 5: Now it’s time to actually change the boot logo. Make sure your phone has USB debugging enabled, and connect it to your computer. Open a console or terminal (cmd.exe on Windows, Terminal.app on Mac OS X. If you use linux you know what a terminal is). Navigate to where you installed the Android SDK (the commands below assume you put it at the root of your home directory), and then to the tools subdirectory. Then use adb to push the image to the correct location.
For Mac OS X/Linux instructions:
# cd AndroidSDK/tools # ./adb push ~/Downloads/HAL-Logo.jpg /mnt/.lfs/logo_ATNT.jpg # ./adb reboot
# cd AndroidSDK # cd tools # .\adb push \Users\<username\Downloads\Stock-I896-Logo.jpg /mnt/.lfs/logo_ATNT.jpg # .\adb reboot
And with that, you should see your phone reboot and the image you’ve select should display first. After your kernel takes over, it may display whatever it wants.
*: Yes, I know that on a computer the BIOS actually loads the boot loader, but for most windows users they see BIOS->Windows, and the boot loader displays nothing on their screen. The BIOS does, though.