Difference between revisions of "Last Resort Emergency BootLoader Recovery"

From WebOS Internals
Jump to navigation Jump to search
m (New article on running doctor on a system without a working bootie on flash)
 
(formatting improvements)
Line 14: Line 14:
 
Now extract the bootie binary from a WebOS Doctor image:
 
Now extract the bootie binary from a WebOS Doctor image:
  
mkdir doctor; cd doctor; unzip ../webosdoctorp100eww-wro2-1.1.3.jar; cd resources; mkdir webOS; cd webOS; tar xvf ../webOS.tar; mkdir nova-cust-image-castle.rootfs; cd nova-cust-image-castle.rootfs; tar xvzf ../nova-cust-image-castle.rootfs.tar.gz ./boot/boot.bin; cd boot
+
<pre>
 +
mkdir doctor; cd doctor; unzip ../webosdoctorp100eww-wro2-1.1.3.jar; cd resources
 +
mkdir webOS; cd webOS; tar xvf ../webOS.tar; mkdir nova-cust-image-castle.rootfs; cd nova-cust-image-castle.rootfs
 +
tar xvzf ../nova-cust-image-castle.rootfs.tar.gz ./boot/boot.bin; cd boot
 +
</pre>
  
 
Booting bootie over USB:
 
Booting bootie over USB:
  
Ensure USB is unplugged from the pre, and rxemove the pre battery.
+
Ensure USB is unplugged from the Pre, and remove the Pre's battery.
  
On your linux system, run:
+
On your Linux system, run:
  
sudo omap3_usbload boot.bin
+
<pre>sudo omap3_usbload boot.bin</pre>
  
 
This should return:
 
This should return:
  
 +
<pre>
 
TI OMAP3 USB boot ROM tool, version 0.1
 
TI OMAP3 USB boot ROM tool, version 0.1
 
and a series of dots while it looks for an OMAP3 to send boot code to.
 
and a series of dots while it looks for an OMAP3 to send boot code to.
 +
</pre>
  
 
Now, plug the pre into USB.
 
Now, plug the pre into USB.
Line 33: Line 39:
 
If all works as it should, the usbload program should return:
 
If all works as it should, the usbload program should return:
  
 +
<pre>
 
found device!
 
found device!
 
download ok
 
download ok
 +
</pre>
  
And the pre will now show a USB logo. (this is bootie's "Recovery mode")
+
And your Pre will now show a USB logo. (this is bootie's "Recovery mode")
  
 
Put the battery back in without unplugging the USB.
 
Put the battery back in without unplugging the USB.
  
Since you are now in USB recovery mode, you should be able to run the webOS doctor on the host linux box.  
+
Since you are now in USB recovery mode, you should be able to run the webOS doctor on the host Linux box.  Remember that the SDK novacom package must be installed for the webOS Doctor to work in Linux.
  
Launch the doctor from the command line like:  sudo java -jar webosdoctorp100eww-wro2-1.1.3.jar
+
One way to do this is to launch the doctor from the command line like:   
 +
 
 +
<pre>sudo java -jar webosdoctorp100eww-wro2-1.1.3.jar</pre>
  
 
And follow the usual steps to recover your pre's operating system from here.
 
And follow the usual steps to recover your pre's operating system from here.

Revision as of 00:46, 24 October 2009

Typically, any damage to the operating system on the Palm Pre can be recovered by booting into recovery mode.

One situation which cannot be recovered so easily is the extremely unlikely event of corruption of the installed bootloader (bootie) stored on the Pre's flash disk.

If bootie on the flash disk has been damaged or corrupted in such a way that booting into recovery mode is not possible, the Pre is still not "bricked" as the OMAP3430 processor in the Pre provides for a mechanism to boot code from its USB interface.

First, ensure that the Linux SDK and novacom packages are installed, as you will need to run webOS Doctor as the final step in this process. Second, ensure that you have a copy of the webOS doctor jar ready.

Download: omap3_usb.tar.bz2

Compile on Linux system with "make". Optionally install with "sudo cp omap3_usbload /usr/local/bin"

Now extract the bootie binary from a WebOS Doctor image:

mkdir doctor; cd doctor; unzip ../webosdoctorp100eww-wro2-1.1.3.jar; cd resources
mkdir webOS; cd webOS; tar xvf ../webOS.tar; mkdir nova-cust-image-castle.rootfs; cd nova-cust-image-castle.rootfs
tar xvzf ../nova-cust-image-castle.rootfs.tar.gz ./boot/boot.bin; cd boot

Booting bootie over USB:

Ensure USB is unplugged from the Pre, and remove the Pre's battery.

On your Linux system, run:

sudo omap3_usbload boot.bin

This should return:

TI OMAP3 USB boot ROM tool, version 0.1
and a series of dots while it looks for an OMAP3 to send boot code to.

Now, plug the pre into USB.

If all works as it should, the usbload program should return:

found device!
download ok

And your Pre will now show a USB logo. (this is bootie's "Recovery mode")

Put the battery back in without unplugging the USB.

Since you are now in USB recovery mode, you should be able to run the webOS doctor on the host Linux box. Remember that the SDK novacom package must be installed for the webOS Doctor to work in Linux.

One way to do this is to launch the doctor from the command line like:

sudo java -jar webosdoctorp100eww-wro2-1.1.3.jar

And follow the usual steps to recover your pre's operating system from here.