Bootie Themes

From WebOS Internals
Revision as of 06:51, 1 July 2010 by Cryptk (talk | contribs) (→‎Modify the NVRAM: fixing typo)
Jump to navigation Jump to search

When the Pre is initially turned on the bootloader gains control. Bootie is also what is used if you have to recover your phone via the volume up power on method. With a little bit of work you can customize the images that are shown in various situations. This process involves reflashing information into your phones NVRAM and is likely to void your warranty. A doctor may not be able to fix your phone if something go's wrong. You can however rescue your phone via Last Resort Emergency BootLoader Recovery

Warning

Please note that usage of this information is very likely to void your warranty if things go wrong. Please, do not contact your carrier or Palm for support for damage resulting from this package.

WebOS Internals provides this information as is without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of this information is with you. Should this information prove defective, you assume the cost of all necessary servicing, repair or correction. In no event will WebOS Internals or any other party be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use this information (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties).

You should back up all of the tokens on your phone via the instructions on the Last Resort page as well just in case.

Get Original Images

You will need to have the original image files used in bootie in order to do this process. These can be fetched from a WebOS Doctor image. Download the correct doctor for your device from the links on this page

Unpack the WebOSDoctor jar file with something like WinRAR for windows On linux you can use the command:

jar -xf webosdoctorp100ewwsprint.jar

inside the extracted webosdoctor go inside of the resources folder and find the webos.tar file. Extract this file to somewhere convenient. On windows WinRAR will again do the trick, on linus use:

tar -xf webos.tar

Inside of this folder you will find all of the bootie images, a few xml files and some various other files that are un-needed for this process. Copy all of the image files (in tga format) as well as the castle.xml file to a new folder to work on them.

Modify Required Files

In order to prevent data loss on your device you will need to make some modifications to the castle.xml file.

On or about line 7 modify the section that says ${BOOTIE} to /boot/boot.bin to end up with this:

<Entry type="bootloader" size="192KB" file="/boot/boot.bin"/>

Delete the entire VolumeGroups, Filesystem and Images sections.

At the end of the mbr, ext3 and lvm lines that start with <Entry add in reformat="false" to end up with lines similar to this one:

<Entry type="mbr" size="512" align="false" reformat="false"/>

Here is an example modified castle.xml file.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Installer Rules for Castle Hardware -->
<TrenchCoat>
	<CPU type="OMAP34xx"/>
	<Flash type="mmc" alignment="524288" device="/dev/mmcblk0">
		<Entry type="mbr" size="512" align="false" reformat="false"/>
		<Entry type="bootloader" size="192KB" file="/boot/boot.bin"/>
		<Entry type="nvram" size="4MB">
			<Section name="env" type="env" size="16KB">
				<Val name="installer" value="trenchcoat"/>
				<Val name="autoboot" action="delete"/>
				<Val name="bootfile" action="delete"/>
			</Section>
			<Section name="tokens" type="token" size="4KB">
				<Val name="installer" value="trenchcoat"/>
			</Section>
			<Section name="logo-boot" type="image" file="BootLogo.tga"/>
			<Section name="logo-chg" type="image" file="Charging.tga"/>
			<Section name="logo-badchg" type="image" file="NoPower.tga"/>
			<Section name="logo-nobatt" type="image" file="NoBatt.tga"/>
			<Section name="logo-badsys" type="image" file="BadSys.tga"/>
			<Section name="logo-nosys" type="image" file="NoSys.tga"/>
			<Section name="logo-sync" type="image" file="Sync.tga"/>
			<Section name="logo-panic" type="image" file="Panic.tga"/>
			<Section name="logo-disk" type="image" file="Disk.tga"/>
		</Entry>
		<Entry type="ext3" size="32MB" mount="/boot" reformat="false"/>
		<Entry type="lvm" id="pv" size="*" metadatasize="1532KB" metadatacopies="2" reformat="false"/>
	</Flash>
	<PostInstall file="/sbin/tcpostflash.sh"/>
</TrenchCoat>

After you have completed this step modify some or all of the tga files. Bear in mind that the theoretical limit on how much you can fit is 4076KB. This number is based off of the data in the castle.xml file and has not been tested to be accurate. Please ensure that the total size of all of the images is less than 4076KB.

Modify the NVRAM

First copy the folder containing the images and the castle.xml file onto the USB partition of your device. For this example we will be creating a folder in the USB drive called castle and placing the images and the castle.xml file in there. Once this is done take your device out of USB mode (important, make sure you take it out of USB mode)

At a command prompt on your device (via SSH, novaterm etc) issue the following command:

/sbin/trenchcoat --config /media/internal/castle/castle.xml

after this command completes issue the following command

tellbootie reboot

If all go's well you will now have customized bootie images. The most noticeable of these is the BootLogo.tga file, this is the non-pulsing palm logo when the device first turns on.