12/29/2009, 02:10 AM
Here's the steps I used to use the Meta with a Sprint ROM.
The Meta-Doctor has added numerous features recently, which I will explain in a minute. I must make an important disclaimer first, however, which is that it is ILLEGAL to post (i.e. - distribute) a modified webOS Doctor. This is why this tool was created, so that you have the ability to modify the Doctor to your liking and not break any laws in the process.
Also... have no fear about bricking your Pre. It is virtually impossible to do such a thing, as you will always be able to force your phone into recovery mode by holding the Volume Up key at boot, until you see the large USB icon. From that point, you will always be able to install any other stock Doctor or Meta'd-Doctor of choice. If, for any reason, you believe that you have really bricked your phone... simply take out the battery, hold vol up, and plug the phone into the AC (wall) adapter, and THEN use the usb cable.
The Meta-Doctor accomplishes several tasks:
(1) Bypasses carrier activation (Do NOT use if you ever intend to use the cellular radio).
(2) Bypasses the First Use app; allows wi-fi creation of Palm Profile to be completed whenever you'd like, instead of right away only over a 3G network.
(3) Removes the carrier check; allows a newer Doctor for another carrier to be run on your phone, and it also strips the carrier-specific apps (SprintTV, Sprint Navigation, etc.)
(4) Removes the model check; allows a p100eww Doctor to be run on a p100ueu device and vice-versa (From my understanding, all webOS devices will run a p100eww Doctor, but the p100ueu Doctor is specifically for European devices that run on different UMTS bands; a p100ueu Doctor is required only to make use of those European 3G bands).
(5) Disables the ForceModemUpdate command; sets the ForceModemUpdate setting to false, in order to save time during frequent Doctors on the same device, yet the modem firmware _will_ be updated if it is newer.
(6) Disables the upload daemon -- a background process that automatically uploads certain things, like GPS info and application usage, straight to Palm.
(7) Automatically enables Dev Mode; makes restoring a phone a little bit quicker and less frustrating... especially if you're a real tweaker.
(8) Automatically activates USB Networking functionality (usbnet drivers are required on host).
(9) Automatically installs SSH2 Authorized Keys of the *nix desktopOS you're currently using (i.e. - the one inside VirtualBox).
(10) Remaps QWERTZ phones to QWERTY layout for folks with German Pres that don't actually use Zs all that much.
(11) Re-partitions filesystem to increase /var limit -- This option is deprecated and may be removed in the future. Use the ext3fs partition size option instead for both Optware and Ubuntu/Debian Chroot usage. Note that emails and attachments are not stored in the /var partition in webOS 2.0+
(**NOTE**: This example is for use with a 1.4.0 Doctor on a Sprint Pre. PAY ATTENTION and change procedure, accordingly, to your needs!! I have changed some commands so that you can no longer copy & paste them directly, but MUST use the Tab or Space keys when you see this notation: <TAB> or <SPACE>)
1. If you plan on using a CDMA phone and would like to use your carrier, it might be best if you call them in order to get your MSL. You can also get it thru the online activation page if need be.
2. If using Windows, Download and Install VirtualBox (ELSE skip to step 8; Mac users who don't know how to already use DarwinPorts can continue to step 3).
3. Download this 32-bit Ubuntu 11.04 .iso "cd image". If you choose to use a different version of Ubuntu, that's just tough luck.
4. Install the Ubuntu 11.04 .iso on a virtual disk inside VirtualBox.
- Click the big "New" button -> "Next". Type "Ubuntu 9.10" as the name, select "Linux" and then "Next", since regular "Ubuntu" should already be selected (NOT 64-bit).
- Select "Next" five more times, then "Finish".
- Double click your newly created Virtual Disk, "Ubuntu 11.04", and pay close attention to the HOST KEY that swaps you from your guestOS (11.04) to hostOS (presumably Windows) -- **Right CTRL**. "Next".
- Now the First Run Wizard pops up. Hit "Next" and select "Image File" at the bottom and then browse to find and select the ubuntu-11.04-desktop-i386.iso that you downloaded earlier. "Finish".
- Click the checkbox to ignore all color bit messages in the future and select "Continue".
- Pass thru the language prompt by hitting Enter for the default "English", then select the second menu option, "Install Ubuntu", and hit Enter again.
- Give it a few minutes and the Ubiquity graphical installer should pop right up (if not, just double-click the "Install" icon). As long as you speak English and use a USA keyboard layout, you can just hit "Forward" four times until you get to the last step. Fill this information out, then hit "Forward" and "Install".
5. While waiting... press the Right Ctrl key to get back to your hostOS. Create a new folder somewhere on your hostOS to use as a shared folder; let's call this folder "hostOS". Now, in the VirtualBox (VBox) window (the same one that Ubuntu is installing in)... go to "Devices" -> "Shared Folders..." -> click the tiny icon in the top-right corner with the '+' sign -> find and double-click the folder you just created -> "Choose" -> select "Auto-mount" && "Make Permanent" -> "OK" -> "OK".
- Continue waiting for the installation to complete, then click "Restart Now" when prompted.
6. Now boot your newly created virtual disk inside of VBox.
- Since your newly installed OS has finished, just hit "Enter" To restart the virtual machine. (or close the top VBox window and "Power off the machine").
- [Ignore, uness necessary: The main VBox window will have your new virtual disk "Ubuntu 11.04" right there for you to easily double-click to open, like you did earlier.]
7. Once you reach the login prompt, login! Open a Terminal (go to "Applications" -> "Accessories" -> "Terminal").
Don't ever close this terminal! It's good etiquette.
- NOTE: Simply close the "Update Manager" window when it pops up in a minute.
8. Now you need to prepare a few things for the Meta-Doctor. Open Firefox and find this post so that you can copy and paste each of these entire command lines (just Google "meta-doctor guide" and it should be the first result after the ads). Each command begins in bold and must be copied, in its entirety, to the terminal.
(HINT: To paste in Linux, just right-click inside the terminal and select paste.)
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install git git-core patch build-essential sun-java6-bin virtualbox-ose-guest-x11
- Insert password, hit Enter.
- Agree to Java terms; Use the Tab key to shift to the "OK" button and then Enter to select it, and then select the "Yes" button to finalize the agreement.
git clone https://github.com/webos-internals/meta-doctor.git
- For webOS 2 upgrades (esp. Franken Pres), see this webOS-Internals page about the scripts, close the Doctor whenever it opens (the Meta'd-Doctor cannot be run from within the guestOS and must be transferred to the hostOS), then skip to Step 10.
wget -c palm.cdnetworks.net/rom/pre/p14r0d02252010/sr1ntp140rod/webosdoctorp100ewwsprint.jar
- Rename the file accordingly [with proper model (p100eww or p100ueu), carrier, dash, and then proper version number], as seen at step 10 on the Meta-Doc Wiki or like so, with the 1.4.0 example...
mv web<TAB> webosdoctorp100ewwsprint-1.4.0.jar
9. Now it's time to actually learn how to use the Meta-Doctor!!
- This command will open up the nano editor so you can examine the actions of the Makefile.
- Make sure to get the CARRIER string right, as can be seen in the Meta-Doc Wiki.
- By default, the Meta-Doctor does NOTHING. You must uncomment (OR remove the # from the beginning of these few lines) each specific feature of the Meta-Doctor that you may need from the Makefile.
- Here's what the beginning of my Makefile looks like ...
Originally Posted by Makefile
- When you're done, just hit Ctrl+X to exit and 'Y' when it asks to save your changes.
make unpack patch pack
- If this isn't working for you, you probly didn't put the file in the proper downloads/ directory, set the CARRIER variable in the Makefile... or it is searching for ssh keys that you don't have.
- SIDENOTE ABOUT FUTURE USAGE OF THE META-DOC...
... say, after the next version of webOS is released.
- NOTE: Each subsequent build will require you to start from scratch. To start fresh:
- It would also be best to make sure you have the latest version of the Meta-Doctor. To grab the latest version:
- NOTE: I got an error about not being able to merge the developer's Makefile with my own, so I simply deleted my Makefile before running "git pull", since the dev's Makefile is all that matters:
make clobber; rm Makefile; git pull
- You can run all of these at once, like so...
- And then simply restart from Step 9.
10. Once it's finished building, transfer the meta'd-doctor to your shared folder.
sudo modprobe vboxsf
sudo mount -t vboxsf hostOS ~/Desktop/guestOS/
- If you don't receive any errors, you should be able to copy the file to your guestOS/ shared folder and it will show up in your hostOS/ shared folder (If you DO see errors, then see Step 5 and return here)...
cp bu<TAB><TAB><TAB><Type out the version that you just created>webos<TAB><SPACE>~/Des<TAB>gue<TAB>
11. Go back to your hostOS' shared folder, then open your meta'd doctor and let it work its magic on your phone.
- Make sure you have backed up EVERYTHING, including the /media partition (mass storage with media, etc.). Everything will be gone in just a few seconds.
- Triple check that you have gotten your MSL from Sprint (or any other CDMA carrier).
- Make sure the phone is plugged into the USB cable.
- Restart your device (Opt + Sym + R) and hold the Volume Up button until you see a huge USB symbol on your screen.
- Now start the meta'd-doctor with a right-click ("Open With..." -> "Java") or just a double-click... whatever works for you. (java -jar webosdoctorp100ewwsprint-1.4.0.jar if necessary).
- Press "Continue", "Next", and all that junk. Give your meta'd-doctor all the time it needs to work its thing.
- If for some reason you hit a wall and the last button is not clickable, you more than likely need to [re]install the Novacom drivers on your desktopOS, which can be found here.
12. Upon restart, Sprint [and other CDMA] users will need to reset the modem's programming. Open the phone app, go to Preferences, select "Update Network Settings". And just in case... here are the instructions from the Meta-Doc Wiki...
13. Donate to WebOS Internals at WebOS Internals:Site support - WebOS Internals and leave a nice review on http://bit.ly/phd-ac
Note: This has only been confirmed to resolve Sprint CDMA issues, YMMV.
Note 2: You should try to update your profile first. Open the phone app, open the App Menu and select Preferences then select Update Network Settings. If you get an error, then procede with these instructions.
* 1. Open the Phone App.
* 2. Enter ##MSL# (MSL= 6 digit lock code. Get this from Sprint.)
* 3. Verify your MDN and MSID are incorrect. If they are incorrect, continue. If they are correct, this is not your problem and you should not continue.
* 4. Select Edit.
* 5. Select the first box (MDN) and enter your 10-digit cellular number.
* 6. Select the second box (MSID) and enter your 10-digit MSID (Get this from Sprint).
* 7. Select Save.
* 8. Backswipe out of the the view.
* 9. You should now be able to open complete Note 2 above without any errors.
14. Play with Ubuntu some more if you're not familiar with it already. Or practice around with ANY operating system that can be installed in VirtualBox. Enjoy!