Memboot

= Memboot =

Memboot is an option to boot webOS devices using a kernel supplied via usb and novacom, its quite useful as a second-last-option before doctoring, to remove a custom kernel which doesnt boot.

Stuff you'll need:


 * Up-to-date SDK (especially novacom & novacomd)
 * Up-to-date WebOS Doctor Image
 * A little bit of knowledge and understanding of the next steps... But when you play with custom kernels, you should have that, right?

From the WebOS Doctor Image you'll need to extract the (original) kernel, that has been installed on the device:


 * open the .jar file (rename it to .zip is a hint, if you don't know how to access the contents)
 * inside, there is an archive /resources/webOS.tar - open/extract that one, too
 * inside webOS.tar, there is an archive nova-cust-image-rootfs.tar.gz - open/extract that one
 * inside the rootfs, in /boot there'll be the uImage you're searching for. See below for some examples of uImages for various webOS versions.
 * Copy the uImage to the novacom folder on your computer:
 * for Windows: program files\palm\sdk\bin
 * for Linux: /opt/Palm/novacom/

Memboot is a feature of bootie, the bootloader installed on the device. To get into bootie mode you must:


 * power off the phone
 * put in a USB cable connected to your computer
 * hold the volume up key, while powering on the device

Now you should have that big usb-resembling logo on the screen:

/opt/Palm/novacom/novacom boot mem:// < uImage-2.6.24-palm-joplin-3430 cd \program files\palm\sdk\bin novacom boot mem:// < uImage-2.6.24-palm-joplin-3430
 * Start the memboot using the following command:
 * On Linux: (after opening a shell)
 * On Windows : (after running cmd.exe)

(specify the name of YOUR kernel, of course)

More Information:
 * Membooting Pre To Recover From Faulty/beta Kernels: http://www.rimweb.in/forums/topic/26437-membooting-pre-to-recover-from-faultybeta-kernels/
 * This will work with 2.1.0 as well -- the kernel has the same name but is a larger size. Make sure to use the correct version of the kernel to match the version of webOS installed.

uImage kernel names:
 * 1.4.5: uImage-2.6.24-palm-joplin-3430
 * 2.1.0 (Pre2): uImage-2.6.24-palm-joplin-3430
 * 2.1.x/2.2x (Veer): uImage-2.6.29-palm-shank
 * 2.2.x (Pre3): uImage-2.6.32.9-palm-rib
 * 3.0.x (TouchPad): uImage-2.6.35-palm-tenderloin
 * 3.0.x (TouchPad Go): uImage-2.6.35-palm-shortloin