<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=101pre</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=101pre"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/101pre"/>
	<updated>2026-05-31T10:03:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Angstrom_on_Touchpad&amp;diff=19325</id>
		<title>Angstrom on Touchpad</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Angstrom_on_Touchpad&amp;diff=19325"/>
		<updated>2011-09-30T07:40:46Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Booting Angstrom on the TouchPad is actually fairly easy. Here are the steps to get it going.&lt;br /&gt;
&lt;br /&gt;
== What to boot ==&lt;br /&gt;
&lt;br /&gt;
For this, we will have a beagleboard of Angstrom located in an LVM on the touchpad named ext2fs. This is un-tested with an ext3 filesystem, but it will likely work. The Angstrom rootfs needs to be right in the base of the LVM, not in a sub-folder.&lt;br /&gt;
&lt;br /&gt;
We are going to be creating a multi-file uImage. It will be one file with both a uImage kernel as well as an initrd.&lt;br /&gt;
&lt;br /&gt;
== Gather required bits ==&lt;br /&gt;
&lt;br /&gt;
First novaterm into the TouchPad and run the following commands&lt;br /&gt;
&lt;br /&gt;
 cd /var/home/root&lt;br /&gt;
 tar czvf boot.tgz -C /boot/ .&lt;br /&gt;
&lt;br /&gt;
Then exit out of novaterm and back on your PC run the following&lt;br /&gt;
&lt;br /&gt;
 mkdir -p uImage/initrd&lt;br /&gt;
 cd uImage&lt;br /&gt;
 novacom get file:///var/home/root/boot.tgz &amp;gt; boot.tgz&lt;br /&gt;
&lt;br /&gt;
This will have everything you need to create the multi-file uImage using whatever kernel is currently installed on your TouchPad. I would recommend using either UberKernel or F15, something that gives console output on bootup.&lt;br /&gt;
&lt;br /&gt;
== initrd ==&lt;br /&gt;
=== Build the initrd ===&lt;br /&gt;
&lt;br /&gt;
First we need to make an empty file that will be used for our initrd. We will be starting off with an 8 MiB initrd.&lt;br /&gt;
&lt;br /&gt;
 dd if=/dev/zero of=ramdisk bs=1M count=8&lt;br /&gt;
 mke2fs -Fvm0 ramdisk&lt;br /&gt;
 mount -o loop ramdisk initrd&lt;br /&gt;
&lt;br /&gt;
Now, we have an empty initrd ramdisk file and it is mounted as a loopback so that we can put things into it.&lt;br /&gt;
&lt;br /&gt;
=== Fill the initrd ===&lt;br /&gt;
&lt;br /&gt;
This one is pretty simple. We are going to fill the initrd with the contents of the boot.tgz EXCEPT for the kernel.&lt;br /&gt;
&lt;br /&gt;
 mkdir boottemp&lt;br /&gt;
 tar xzvf boot.tgz -C boottemp&lt;br /&gt;
 rm boottemp/uImage&lt;br /&gt;
 mv boottemp/uImage-2.6.35-palm-tenderloin &lt;br /&gt;
 mv boottemp/* initrd&lt;br /&gt;
&lt;br /&gt;
=== Change the pivot_root ===&lt;br /&gt;
&lt;br /&gt;
You need to edit the file &amp;lt;code&amp;gt;/sbin/init&amp;lt;/code&amp;gt; within the initrd to alter what rootfs is loaded at bootup.&lt;br /&gt;
&lt;br /&gt;
 vi initrd/sbin/init&lt;br /&gt;
&lt;br /&gt;
Find these lines:&lt;br /&gt;
&lt;br /&gt;
 lvm.static lvchange -ay --ignorelockingfailure /dev/mapper/store-root&lt;br /&gt;
 &lt;br /&gt;
 # May need to say &amp;quot;don't update mtab&amp;quot; option below&lt;br /&gt;
 mount -o ro /dev/mapper/store-root /realroot&lt;br /&gt;
&lt;br /&gt;
... and change them to:&lt;br /&gt;
&lt;br /&gt;
 lvm.static lvchange -ay --ignorelockingfailure /dev/mapper/store-ext2fs&lt;br /&gt;
 &lt;br /&gt;
 # May need to say &amp;quot;don't update mtab&amp;quot; option below&lt;br /&gt;
 mount -o ro /dev/mapper/store-ext2fs /realroot&lt;br /&gt;
&lt;br /&gt;
Now, you are done with creating the initrd. You can umount initrd now if you like, or leave it mounted if you are going to be making changes and testing them.&lt;br /&gt;
&lt;br /&gt;
== Build the multi-file uImage ==&lt;br /&gt;
&lt;br /&gt;
You will need the package uboot-mkimage (at least on Ubuntu) installed to do this.&lt;br /&gt;
&lt;br /&gt;
== Cheater script ==&lt;br /&gt;
&lt;br /&gt;
I have worked up a script that runs the needed commands for you.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 rm uMulti uRamdisk&lt;br /&gt;
 mkimage -A arm -O linux -T ramdisk -C none -d ramdisk uRamdisk&lt;br /&gt;
 mkimage -a 0 -e 0 -A arm -O linux -T multi -C none -d uImage-2.6.35-palm-tenderloin:uRamdisk uMulti&lt;br /&gt;
&lt;br /&gt;
Just name the file something like &amp;lt;code&amp;gt;spin-kernel.sh&amp;lt;/code&amp;gt; and give it execute permission. It should be inside of the uImage folder we made earlier, then give it a run.&lt;br /&gt;
&lt;br /&gt;
== Update Angstrom ==&lt;br /&gt;
&lt;br /&gt;
You will need to chroot into the angstrom rootfs on the TouchPad over a novaterm session and install lvm with the command:&lt;br /&gt;
&lt;br /&gt;
 opkg install lvm2&lt;br /&gt;
&lt;br /&gt;
Also, one thing that I have found is that the checkroot script was not running early enough so it was halting the boot due to the rootfs still being read-only.  To fix this go to /etc/rcS.d within your angstrom rootfs. Find the symlink that points to &amp;lt;code&amp;gt;../init.d/checkroot&amp;lt;/code&amp;gt; and rename it to &amp;lt;code&amp;gt;S01checkroot&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Boot Angstrom ==&lt;br /&gt;
&lt;br /&gt;
To do this, just put the TouchPad into recovery mode and memboot the multi-file uImage we made earlier. Because we are membooting it, if something goes wrong and if the TouchPad doesn't boot properly, you can force a reboot by holding Home+Power for 10 seconds, and it will safely reboot into webOS.&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Android_under_webOS_on_Touchpad&amp;diff=19323</id>
		<title>Android under webOS on Touchpad</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Android_under_webOS_on_Touchpad&amp;diff=19323"/>
		<updated>2011-09-30T07:40:09Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project goal ==&lt;br /&gt;
&lt;br /&gt;
To implement Android (probably CyanogenMod 7) on the TouchPad as a card using a &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; execution environment. Perhaps eventually putting each Android app as a card.&lt;br /&gt;
: This will allow the use of Android apps (hopefully, including market) while not having to leave webOS or reflash the TouchPad.&lt;br /&gt;
: However, it will probably not have 3D support, so people whining for &amp;quot;romz&amp;quot; will probably not be fully satisfied. ;)&lt;br /&gt;
&lt;br /&gt;
== Required pieces ==&lt;br /&gt;
&lt;br /&gt;
* The kernel may need to have Android bits compiled in. This could be added to the standard UberKernel without impacting regular operation.&lt;br /&gt;
* The Android graphics and devices need to be rerouted to use SDL and other PDK-supported APIs.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*[http://bitbucket.spencerelliott.ca/palmdroid/wiki/Home Palmdroid project!] The end goal for this project it to be able to run Android applications within webOS using the Dalvik virtual machine.&lt;br /&gt;
***[http://forum.xda-developers.com/showthread.php?p=17558046#post17558046 (ANDROID) Official Palmdroid Development Thread]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Activating_Touchpad_Demo_Unit&amp;diff=19321</id>
		<title>Tutorials webOS Activating Touchpad Demo Unit</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Tutorials_webOS_Activating_Touchpad_Demo_Unit&amp;diff=19321"/>
		<updated>2011-09-30T07:39:40Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When the TouchPad went on clearance, many stores were sold out immediately after opening. In many cases, the demo unit was sold as is. The demo unit is a fully functional unit, but it has a modified version of WebOS on it. In order to restore it to a standard model, you must go through this process:&lt;br /&gt;
&lt;br /&gt;
== Permanent solution ==&lt;br /&gt;
The best thing to do is change your demo unit &amp;lt;code&amp;gt;PN&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ProductSKU&amp;lt;/code&amp;gt; tokens to match with a 32 GiB TouchPad's (I believe that most demo units are 32 GiB. If yours is 16 GiB, make the tokens match another 16 GiB TouchPad's).&lt;br /&gt;
&lt;br /&gt;
On a demo unit, the tokens are:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Val name=&amp;quot;PN&amp;quot; value=&amp;quot;180-10928-00&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Val name=&amp;quot;ProductSKU&amp;quot; value=&amp;quot;FB359UA#ABA&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On a normal unit, they are:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;Val name=&amp;quot;PN&amp;quot; value=&amp;quot;180-10871-00&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;Val name=&amp;quot;ProductSKU&amp;quot; value=&amp;quot;FB464UA#ABA&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For now, you can make a WebOS doctor using meta doctor to change the &amp;lt;code&amp;gt;topaz.xml&amp;lt;/code&amp;gt; file. There are instructions here on how to do this: [http://www.webos-internals.org/wiki/Sprint_Pre_Plus#Step_2:_Setup_meta-doctor]. Alternatively, the file will be called &amp;lt;code&amp;gt;topaz.xml&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;castle.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
This will allow you to create a WebOS doctor that will forcibly overwrite your tokens for you.&lt;br /&gt;
&lt;br /&gt;
== Temporary workaround ==&lt;br /&gt;
This section is not an actual fix. It is a temporary workaround that will soon be obsolete.&lt;br /&gt;
&lt;br /&gt;
=== Restoring HP WebOS ===&lt;br /&gt;
First, restore the default firmware with WebOS doctor: [http://palm.cdnetworks.net/rom/touchpad/p302r0d08012011/wifip302rod/webosdoctorp302hstnhwifi.jar http://palm.cdnetworks.net/rom/touchpad/p302r0d08012011/wifip302rod/webosdoctorp302hstnhwifi.jar].&lt;br /&gt;
&lt;br /&gt;
You must put the TouchPad into recovery mode by powering it off and pressing the power button and the volume up button at the same time. You will see a large USB logo to confirm that this is successful.&lt;br /&gt;
&lt;br /&gt;
Run the Doctor, and connect the TouchPad via USB.&lt;br /&gt;
&lt;br /&gt;
The update process takes several minutes. This will put the full version of webOS on your TouchPad, but you will find that you cannot get past the first run page.&lt;br /&gt;
&lt;br /&gt;
=== Bypassing activation ===&lt;br /&gt;
Download this zip file and extract the contents to the desktop: [http://onebluepoint.net/chekz-devicetool.zip http://onebluepoint.net/chekz-devicetool.zip].&lt;br /&gt;
&lt;br /&gt;
Open a command line (Start &amp;gt; Run &amp;gt; cmd) or terminal window, and run these commands in order:&lt;br /&gt;
# &amp;lt;code&amp;gt;cd \Desktop&amp;lt;/code&amp;gt; &lt;br /&gt;
# &amp;lt;code&amp;gt;java -jar devicetools.jar&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Allow the program to run for several minutes. Your tablet will reboot a few times in the process. The program will tell you when the device is ready. Once it boots, you'll be able to use WebOS freely, although you still will not have an account.&lt;br /&gt;
&lt;br /&gt;
=== Load Impostah ===&lt;br /&gt;
Now that you're up and running, all you need is a WebOS account. Download Preware from this page: [http://en.m.webos-internals.org/wiki?search=preware http://en.m.webos-internals.org/wiki?search=preware].&lt;br /&gt;
&lt;br /&gt;
Once this program is loaded, simply type &amp;quot;Impostah&amp;quot; into the bar, and click install.&lt;br /&gt;
&lt;br /&gt;
You will see the app under the downloads tab on your TouchPad when it is ready. Run it.&lt;br /&gt;
&lt;br /&gt;
=== Creating your WebOS account ===&lt;br /&gt;
Once Impostah is open, we need to delete the dummy account that the activation bypass program created in order to add our own.&lt;br /&gt;
# Click Palm Profile, and reset it. Confirm that you want to do this. This will reboot your tablet.&lt;br /&gt;
# Once rebooted, you will be at the same activation screen that we had to bypass earlier.&lt;br /&gt;
# Go to create your account again. This time, instead of saying you cannot create it, the loading tab should spin forever. After a few minutes, you will want to force your tablet to restart by holding the home button and the power button.  Check your email to make sure that you got a welcome message from HP. Once you do, you can either login again or bypass the activation.&lt;br /&gt;
&lt;br /&gt;
=== Updating HP App Catalog ===&lt;br /&gt;
One more step before you're up and running!&lt;br /&gt;
&lt;br /&gt;
It seems that the version of HP App Catalog included is out of date and only shows a blank page. However, you can use the menu to get into software manager and update it.&lt;br /&gt;
&lt;br /&gt;
Congratulations, you just beat the madness by buying the demo unit that no one wanted. ;) Special thanks to Jack87, djhomeboy, and rwhitby for helping make this happen!&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Changing_keyboard_layout_on_Touchpad&amp;diff=19319</id>
		<title>Changing keyboard layout on Touchpad</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Changing_keyboard_layout_on_Touchpad&amp;diff=19319"/>
		<updated>2011-09-30T07:38:45Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Virtual keyboard layouts on the TouchPad are hardcoded into the LunaSysMgr binary. Therefore, editing the keyboard layouts requires a ''binary patch'' to the LunaSysMgr executable. HP/Palm has not released the source for LunaSysMgr.&lt;br /&gt;
&lt;br /&gt;
This article describes how to perform that patch.  Some patches for dvorak and other layouts can be found on this [http://forums.precentral.net/hp-touchpad-homebrew/297295-keyboard-layouts-patches.html PreCentral thread]&lt;br /&gt;
== Built-in layouts ==&lt;br /&gt;
&lt;br /&gt;
Generally, there are three keyboard layouts: QWERTY, QWERTZ and AZERTY.&lt;br /&gt;
On the selected keys of these layouts, extended characters can be accessed with a long tap on some keys. The long tap causes a lookup of the extended character set defined for that key, and those optional characters are displayed to be selected from. For example, the &amp;quot;a&amp;quot; key may have extended characters of &amp;amp;aacute; or &amp;amp;agrave; or &amp;amp;acirc; or &amp;amp;atilde;. &lt;br /&gt;
&lt;br /&gt;
== I. Keyboard layouts ==&lt;br /&gt;
&lt;br /&gt;
Each keyboard layout consists of a main layout and 3 interchangeable bottom rows on the keyboard for different applications.&lt;br /&gt;
&lt;br /&gt;
The main keyboard layout describes 5 rows of 12 keys each.&lt;br /&gt;
&lt;br /&gt;
The 3 bottom rows are 12 keys each.&lt;br /&gt;
&lt;br /&gt;
In total, there are 8 rows of 12 keys each.&lt;br /&gt;
&lt;br /&gt;
Each key is described by 4 double words (4 bytes).&lt;br /&gt;
&lt;br /&gt;
# Button type (big endian)&lt;br /&gt;
#: 2 last bytes are used&lt;br /&gt;
#: Mostly they are set of flags but there is too few info to decode all of them.&lt;br /&gt;
## The least one is button type&lt;br /&gt;
### BF - no button. i.e. there is button and if you press it it will type but it is invisible (try typing to the right of 0 or to the left of 1 to check what is being typed in normal keyboard)&lt;br /&gt;
### 3F - normal button&lt;br /&gt;
### 40 - long button (like spacebar)&lt;br /&gt;
## The second is length class:&lt;br /&gt;
### 40 - short one (mostly spacers)&lt;br /&gt;
### 80 - normal width&lt;br /&gt;
### C0 - long one (Shift etc.)&lt;br /&gt;
### A0 - very long one (space bar)&lt;br /&gt;
#: Normal button will look like 0x0000803F&lt;br /&gt;
# UTF-16LE code of main symbol followed bt 2 byte code of source (0x0000 if normal symbol, 0x0001 if special like shift enter etc, 0x2001 if text from static variable)&lt;br /&gt;
# UTF-16LE code of secondary symbol followed bt 2 byte code of source (0x0000 if normal symbol, 0x0001 if special like shift enter etc, 0x2001 if text from static variable)&lt;br /&gt;
# Extended characters set address (little endian)&lt;br /&gt;
&lt;br /&gt;
About symbols (2,3)&lt;br /&gt;
If the greatest byte (the most right one in LE) is 01, then it is not symbol but the text from some static variable defined in the file (like smiles, .com, etc.) or special button like shift, enter, etc.&lt;br /&gt;
If main symbol is considered regional by system (it is hardcoded somewhere in LunaSysMgr), then the behaviour is as follows:&lt;br /&gt;
* When shift is pressed, the big letter is produced.&lt;br /&gt;
* Without shift, small letter is produced.&lt;br /&gt;
* With caps on, big letter is produced.&lt;br /&gt;
* When switched to secondary keys ([]-/ button), secondary symbol is&lt;br /&gt;
*: produced always.&lt;br /&gt;
* Button is white&lt;br /&gt;
If main symbol is not considered regional (unfortunately, Russian letters are not considered regional),&lt;br /&gt;
* When shift is pressed, secondary symbol is produced.&lt;br /&gt;
* Without shift small (if applicable), main symbol is produced.&lt;br /&gt;
* With caps on big (if applicable), main symbol is produced.&lt;br /&gt;
* When switched to secondary keys ([]-/ button) behaviour of&lt;br /&gt;
*: previous statements is not changed. And look of keys too.&lt;br /&gt;
* Button is light grey.&lt;br /&gt;
&lt;br /&gt;
To make non-regional keys act like regional ones, the only workaround is to duplicate them as main and secondary symbols.&lt;br /&gt;
&lt;br /&gt;
Alternative way is to modify some code elements of LunaSysMgr to make it think that characters are regional.&lt;br /&gt;
This process was researched by '''Isaac Garzón (isagar2004)''' and automated in the script described in [[#III._Patching_script]]&lt;br /&gt;
&lt;br /&gt;
It is easy to say that any zero key is just skipped during keyboard generation process, so in reality, there can be less then 12 buttons in a row.&lt;br /&gt;
&lt;br /&gt;
Extended characters set address is internal pointer not and offset, so it is quite a work to find which one corresponds to which character set.&lt;br /&gt;
&lt;br /&gt;
== II. Extended characters sets ==&lt;br /&gt;
&lt;br /&gt;
There are 65 extended character sets.&lt;br /&gt;
&lt;br /&gt;
Namely:&lt;br /&gt;
&lt;br /&gt;
* 17 for letters (E R T Y U I O P A S D G L Z C N M). They are general for all 3 keyboard layouts.&lt;br /&gt;
* 3*10 for numbers (1 2 3 4 5 6 7 8 9 0). For each layout there are different sets for each number&lt;br /&gt;
* 5+5+6 for punctuations and .com. There are 4 for QWERTY and QWERTZ and 5 for AZERTY. And for each layout, there is special set for .com.&lt;br /&gt;
* Also there is a set for http:// and for choosing keyboard size. They are general for all 3 layouts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each set is a sequence of double words with utf-codes of letters (or links to static text) ending with zero dword.&lt;br /&gt;
&lt;br /&gt;
For example, for the A-letter set, it is:&lt;br /&gt;
    41000000 c0000000 c1000000 c2000000 c3000000 c4000000 c5000000 e6000000 aa000000 00000000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== III. Patching script ==&lt;br /&gt;
&lt;br /&gt;
Just finished patching script that is run on a TouchPad, generates needed layout from JSON file and then patches LunaSysMgr on the fly.&lt;br /&gt;
&lt;br /&gt;
It is really easy to use. The only thing you should do is to enable developer mode and have novaterm to be able to access console (Of course, you can use ssh if you've installed openssh or dropbear from preware feeds).&lt;br /&gt;
&lt;br /&gt;
=== Disclaimer ===&lt;br /&gt;
&lt;br /&gt;
THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF&lt;br /&gt;
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE&lt;br /&gt;
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION&lt;br /&gt;
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION&lt;br /&gt;
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. &lt;br /&gt;
&lt;br /&gt;
Use it at your own risk.&lt;br /&gt;
&lt;br /&gt;
It is a shell script which besides internal instructions uses the following commands:&lt;br /&gt;
&lt;br /&gt;
* echo (For feedback and pipelined passing of variables)&lt;br /&gt;
* sha1sum (for determining version)&lt;br /&gt;
* mv, cp, rm (mostly operations with tempfiles as I found that file operations are faster then string variables)&lt;br /&gt;
* hexdump (reading hexcodes)&lt;br /&gt;
* dd (patching main file)&lt;br /&gt;
* sed (parsing JSON)&lt;br /&gt;
* diff, ls, awk (Checking differences while self test and checking size during patching process)&lt;br /&gt;
* date (for selftest and timing only)&lt;br /&gt;
* sleep (for pausing after mount and luna stop as some people complained on errors sometimes)&lt;br /&gt;
* initctl (to start stop luna during replacing)&lt;br /&gt;
* mount (to remount / as rw and ro)&lt;br /&gt;
&lt;br /&gt;
As all these commands are part of core *nix functions, they are present in TouchPad, and so no need to install any other software.&lt;br /&gt;
&lt;br /&gt;
=== Script description ===&lt;br /&gt;
&lt;br /&gt;
Script consists of several files&lt;br /&gt;
&lt;br /&gt;
* patch.sh - main file that governs the process&lt;br /&gt;
* funcs.sh - repositary of functions that are used during patching process&lt;br /&gt;
* map.sh - Variables for mapping human readable variables to machine codes where they are necessary (like width and class of buttons)&lt;br /&gt;
* vars - Variables that are subject to change. Naming&lt;br /&gt;
** VERSIONS - Set of versions that are used during version check&lt;br /&gt;
** FILEPATH - Path to LunaSysMgr. Usually /usr/bin/LunaSysMgr but can be changed to run not on TouchPad but linux machine or other.&lt;br /&gt;
** SHA1SUMPARAMS - Parameters for sha1sum command, as I found out that they differ on TouchPad and my debian-based OS (-cs for TouchPad and --check --status for debian)&lt;br /&gt;
* &amp;lt;version&amp;gt;.offsets.sh files - They contains offset and sha1sum information about versions of LunaSysMgr. DO NOT EDIT THESE FILES UNLESS YOU ARE ABSOLUTELY SURE OF WHAT YOU ARE DOING.&lt;br /&gt;
* (optionally). rus.json - Containes example of layout file. It describes my original Cyrillic Russian layout replacement for AZERTY. DO NOT USE THIS FILE AS STARTING POINT. Only as example.&lt;br /&gt;
&lt;br /&gt;
=== Definitions ===&lt;br /&gt;
&lt;br /&gt;
* Main file - File that is stated as FILEPATH in &amp;quot;vars&amp;quot; file&lt;br /&gt;
* Backup file - File with path &amp;quot;FILEPATH.orig&amp;quot;&lt;br /&gt;
* Original file - Main or backup file, which have detected version. If both versions are detected Main file will be used.&lt;br /&gt;
IF MAIN AND BACKUP FILES HAVE DIFFERENT BUT DETECTABLE VERSIONS (For ex. after OTA) THEN BACKUP FILE WILL BE REPLACED DURING PATCHING PROCESS WITH NEW ONE.&lt;br /&gt;
&lt;br /&gt;
=== Script Usage ===&lt;br /&gt;
&lt;br /&gt;
There are few actions that you can do with this script.&lt;br /&gt;
&lt;br /&gt;
* sh patch.sh --help&lt;br /&gt;
*: Display information on developer and short info of usage.&lt;br /&gt;
* sh patch.sh version&lt;br /&gt;
*: Just checks the version of main and backup and shows message wheather pathcing or generation processes are available&lt;br /&gt;
* sh patch.sh generate&lt;br /&gt;
*: If detectable version is found, generates (or forcibly regenerates) &amp;lt;version&amp;gt;.data and &amp;lt;version&amp;gt;.template.json files using original file.&lt;br /&gt;
*: The first one is used afterwords for patching and mostly saved to save time in future. But it safely can be deleted after each execution. Script will regenerate it whenever needed.&lt;br /&gt;
*: The second contains full JSON info about layouts in original file&lt;br /&gt;
* sh patch.sh check&lt;br /&gt;
*: Performs a self test of script. Operations done are as follows:&lt;br /&gt;
** Checks versions of main and backup files&lt;br /&gt;
** Generates &amp;lt;version&amp;gt;.data file if not present. If present then just read info from it&lt;br /&gt;
** Generates &amp;lt;version&amp;gt;.template.json if not present.&lt;br /&gt;
** Reads and parses &amp;lt;version&amp;gt;.template.json. &lt;br /&gt;
** Copies original file to temp location and patches it&lt;br /&gt;
** Compares patched and original file and echoes the result&lt;br /&gt;
** Deletes patched file&lt;br /&gt;
*: If self test is failed it is strongly recommended NOT to use this script and contact developer.&lt;br /&gt;
*: WARNING: Parsing JSON process can take 5-8 minutes for full template. Be patient.&lt;br /&gt;
* sh patch.sh check &amp;lt;layout file&amp;gt;&lt;br /&gt;
*: Almost the same as self test but uses given template and does not delete patched file but echoes it's name (&amp;lt;version&amp;gt;.patched)&lt;br /&gt;
*: Also if REGIONPATCH parameter is supplied in JSON file, patches code sections. ONLY AVAILABLE FOR 3.0.2 VERSIONS OF DEVICE AND EMULATOR.&lt;br /&gt;
*: WARNING: Parsing JSON process can take 5-8 minutes for full template. Be patient.&lt;br /&gt;
* sh patch.sh patch &amp;lt;layout file&amp;gt;&lt;br /&gt;
*: Main patching procedure. After making patched file it backs up main file (if needed) and replaces main file with patched one.&lt;br /&gt;
*: Also if LANGCODE parameters is supplied, adds lines of format&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&amp;quot;languageName&amp;quot;:&amp;quot;KeyBoardPatch_&amp;lt;langcode&amp;gt;&amp;quot;,&amp;quot;languageCode&amp;quot;:&amp;quot;&amp;lt;langcode&amp;gt;&amp;quot;,&amp;quot;countries&amp;quot;:[]},&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*: to /usr/lib/luna/customization/locale.txt (or /etc/palm/locale.txt if missing). ONLY AVAILABLE FOR 3.0.2 VERSIONS OF DEVICE AND EMULATOR.&lt;br /&gt;
*: Prior to adding langcodes it deletes old ones(from previous patchings).&lt;br /&gt;
*: If any of specified langcodes are found in locale.txt then script just ignores them with the message.&lt;br /&gt;
*: WARNING: Parsing JSON process can take 5-8 minutes for full template. Be patient.&lt;br /&gt;
*: WARNING: Replacement of main file is followed with Luna restart, do not leave any unsaved data open and don't be afraid.&lt;br /&gt;
*: WARNING: If LANGCODE is supplied full devise restart is required for changes to take effect.&lt;br /&gt;
* sh patch.sh revert&lt;br /&gt;
*: Restores backed up file if it has detectable version.&lt;br /&gt;
*: Also removes any KeyBoardPatch_ langcodes from /usr/lib/luna/customization/locale.txt (or /etc/palm/locale.txt if missing)&lt;br /&gt;
&lt;br /&gt;
WARNING: During process the following files could be created in script folder&lt;br /&gt;
* tmp, tmp0&lt;br /&gt;
*: Temp files that are used by script during template generation and parsing processes. Should be auto deleted after execution. But if interrupted feel free to delete them yourselves (If they interfere with your means)&lt;br /&gt;
* &amp;lt;version&amp;gt;.data&lt;br /&gt;
*: File that contains important variables of layouts: offsets, button counts, virtual addresses and so on. They are needed during almost any processing of the script. If deleted file will be regenerated. It is strongly advised not to delete the file, because it speeds up the process.&lt;br /&gt;
* &amp;lt;version&amp;gt;.template.json&lt;br /&gt;
*: JSON file containing layout info for user&lt;br /&gt;
&lt;br /&gt;
=== JSON layout file structure and editing hints ===&lt;br /&gt;
&lt;br /&gt;
Layout file have standard [http://en.wikipedia.org/wiki/JSON JSON] structure&lt;br /&gt;
&lt;br /&gt;
Here is short example of it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;layouts&amp;quot;: {&lt;br /&gt;
        &amp;quot;QWERTY&amp;quot;: {&lt;br /&gt;
            &amp;quot;0&amp;quot;: {&lt;br /&gt;
                &amp;quot;0&amp;quot;: {&lt;br /&gt;
                    &amp;quot;WIDTH&amp;quot;: &amp;quot;none&amp;quot;,&lt;br /&gt;
                    &amp;quot;CLASS&amp;quot;: &amp;quot;invisible&amp;quot;,&lt;br /&gt;
                    &amp;quot;MAIN&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;Q&amp;quot;},&lt;br /&gt;
                    &amp;quot;SEC&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;[&amp;quot;},&lt;br /&gt;
                    &amp;quot;EXT&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;1&amp;quot;: {&lt;br /&gt;
                    &amp;quot;WIDTH&amp;quot;: &amp;quot;normal&amp;quot;,&lt;br /&gt;
                    &amp;quot;CLASS&amp;quot;: &amp;quot;normal&amp;quot;,&lt;br /&gt;
                    &amp;quot;MAIN&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;1&amp;quot;},&lt;br /&gt;
                    &amp;quot;SEC&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;!&amp;quot;},&lt;br /&gt;
                    &amp;quot;EXT&amp;quot;: &amp;quot;SET0&amp;quot;&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;sets&amp;quot;: {&lt;br /&gt;
        &amp;quot;SET0&amp;quot;: {&lt;br /&gt;
            &amp;quot;0&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;1&amp;quot;},&lt;br /&gt;
            &amp;quot;1&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;!&amp;quot;},&lt;br /&gt;
            &amp;quot;2&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;¹&amp;quot;},&lt;br /&gt;
            &amp;quot;3&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;¼&amp;quot;},&lt;br /&gt;
            &amp;quot;4&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;½&amp;quot;},&lt;br /&gt;
            &amp;quot;5&amp;quot;: {&amp;quot;TYPE&amp;quot;: &amp;quot;C&amp;quot;, &amp;quot;CHAR&amp;quot;: &amp;quot;¡&amp;quot;}&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
        &amp;quot;REGIONPATCH&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
        &amp;quot;LANGCODE&amp;quot;: {&lt;br /&gt;
            &amp;quot;0&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
    },&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The file consists of 3 main objects: layouts, sets and params.&lt;br /&gt;
&lt;br /&gt;
# layouts&lt;br /&gt;
#: Layouts describes 3 main layouts&lt;br /&gt;
## QWERTY&lt;br /&gt;
## QWERTZ&lt;br /&gt;
## AZERTY&lt;br /&gt;
#: Each layout consists of maximum 8 rows (0 - 7): 0 - numbers row, 1-3 - letter rows, 4 - Bottom row, 5 - bottom row by default, 6 - bottom row for url, 7 - bottom row for email&lt;br /&gt;
#: Each row consists of maximum 12 buttons (0 - 11)&lt;br /&gt;
#: Each button is described by sevral parameters&lt;br /&gt;
## WIDTH&lt;br /&gt;
##: Evidently width of the button. It can be of 5 values&lt;br /&gt;
### &amp;quot;none&amp;quot; - No special width set. Autosized by system&lt;br /&gt;
### &amp;quot;short&amp;quot; - Short button. Shorter then normal sized approximately by half&lt;br /&gt;
### &amp;quot;normal&amp;quot; - Standard-sized button&lt;br /&gt;
### &amp;quot;long&amp;quot; - Long button like shift and enter in original layouts.&lt;br /&gt;
### &amp;quot;spacebar&amp;quot; - Very long button. Used only for spacebar and language/special char changer. Also used in conjuction with CLASS=&amp;quot;spacebar&amp;quot;&lt;br /&gt;
## CLASS&lt;br /&gt;
##: Class or type of the button. It can be&lt;br /&gt;
### &amp;quot;none&amp;quot; - no class. &amp;quot;If there is no class, then there is no button&amp;quot; ( Almost citation :-) )&lt;br /&gt;
### &amp;quot;normal&amp;quot; - standard button class&lt;br /&gt;
### &amp;quot;invisible&amp;quot; - Self-explaining. There is button but we cannot see it. Mostly used for indents. The can have characters assigned and even will type them(look to the left and right of number row in QWERTY, try to type them)&lt;br /&gt;
### &amp;quot;spacebar&amp;quot; - Used for spacebar. (Suppose that width is not just stored in 1 byte and spreads to half of class byte too)&lt;br /&gt;
## EXT&lt;br /&gt;
##: This is the name of set of extended characters, which are accessed by long press. If there is no extended characters on a button empty string (&amp;quot;&amp;quot;) is used&lt;br /&gt;
## MAIN and SEC&lt;br /&gt;
##: Main and secondary character respectively. They have two parameters each&lt;br /&gt;
### TYPE&lt;br /&gt;
###: Type of character&lt;br /&gt;
#### &amp;quot;C&amp;quot; - normal Сharacter&lt;br /&gt;
#### &amp;quot;S&amp;quot; - Special character (like shift, enter, backspace etc.)&lt;br /&gt;
#### &amp;quot;V&amp;quot; - character from static Variable. (Smiles, .com, http:// etc.)&lt;br /&gt;
### CHAR&lt;br /&gt;
###: The character itself.&lt;br /&gt;
###: If type is &amp;quot;C&amp;quot; then it is just normal UTF-8 character&lt;br /&gt;
###: If type is &amp;quot;S&amp;quot; or &amp;quot;V&amp;quot; it's value is some hex numeric constant.&lt;br /&gt;
# sets&lt;br /&gt;
#: Sets are sets of extended characters that are accessed by long tap on a button.&lt;br /&gt;
#: There are 65 sets (0-64) and each set is named SET#.&lt;br /&gt;
#: Each set consists of several characters (0,1,...)&lt;br /&gt;
#: Each character is described by TYPE and CHAR which are absolutely the same as in layout description.&lt;br /&gt;
# params&lt;br /&gt;
#: Params contains special parameters for patching process. It is optional and should be used with CAUTION.&lt;br /&gt;
#: Right now it supports only 2 options&lt;br /&gt;
## REGIONPATCH&lt;br /&gt;
##: It is an option that enables patching regional status of keys made by '''Isaac Garzón (isagar2004)'''.&lt;br /&gt;
##: By default it is off. Enabling it. i.e. setting value to &amp;quot;1&amp;quot; mades some changes in ASM code of LunaSysMgr and alters its behaviour, assigning key backgrounds and look&lt;br /&gt;
## LANGCODE&lt;br /&gt;
##: This option is made only for aesthetic reason. It adds two-character abbreviation to /usr/lib/luna/customization/locale.txt (or /etc/palm/locale.txt if missing) with name KeyBoardPatch_&amp;lt;langcode&amp;gt; so you can assign it in language select to chosen keyboard. There can be any number of additional Langcodes/ Just specify them like&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;0&amp;quot;: &amp;quot;ru&amp;quot;,&lt;br /&gt;
&amp;quot;1&amp;quot;: &amp;quot;ua&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
::::etc...&lt;br /&gt;
:::: WARNING: Full device reboot is required for these changes to be effective.&lt;br /&gt;
:::: WARNING: DO NOT USE THIS OPTION WITH ANY LOCALIZATION PACKAGE.&lt;br /&gt;
&lt;br /&gt;
As you can see in stated example, there are 2 first buttons (0,1), in number row (0), in QWERTY layout.&lt;br /&gt;
The first one is invisible button with characters ''Q'' and ''/'', and the second is the normal button with ''1'' and ''!'', and SET0 binded to it.&lt;br /&gt;
&lt;br /&gt;
Also, we can see that SET0 consists of 6 buttons (0-5) which are: 1, !, ¹, ¼, ½, ¡&lt;br /&gt;
&lt;br /&gt;
WARNING: Symbols ''\'' and ''&amp;quot;'' should be escaped in JSON format, so to use them type &amp;quot;\\&amp;quot; and &amp;quot;\&amp;quot;&amp;quot; respectively&lt;br /&gt;
&lt;br /&gt;
NOTICE: If object or parameter of an object have not been changed from original template, you can delete it from template to speed further parsing process, but do it ONLY IF YOU REALLY KNOW how JSON is structured and know that you won't ruin it's structure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In keyboard layout, you can easily change button type flags, primary and secondaty symbol.&lt;br /&gt;
&lt;br /&gt;
Extended characters set can be changed too.&lt;br /&gt;
&lt;br /&gt;
Characters in extended characters sets can be changed.&lt;br /&gt;
&lt;br /&gt;
You can choose which set should be assigned to which button by changing EXT in layout.&lt;br /&gt;
&lt;br /&gt;
WARNING: Do not change names of sets, or they won't be read.&lt;br /&gt;
&lt;br /&gt;
WARNING: It is not possible to increase number of rows, buttons or characters in set, as we cannot increase size of data in binary file, so any extra character, rows, buttons, even layouts and sets will be ignored during patching.&lt;br /&gt;
&lt;br /&gt;
NOTICE: Though you surely can decrease these numbers (well, not rows, I suppose) by filling unneeded buttons and extended symbols with zeros. i.e.&lt;br /&gt;
&lt;br /&gt;
For removing button, it's WIDTH and CLASS should be &amp;quot;none&amp;quot;, MAIN and SEC TYPE should be &amp;quot;C&amp;quot;, CHAR should be empty string (&amp;quot;&amp;quot;), and EXT should be empty too.&lt;br /&gt;
&lt;br /&gt;
For removing extended character from set, just set TYPE to &amp;quot;C&amp;quot; and CHAR to empty string.&lt;br /&gt;
&lt;br /&gt;
To remove SET, well actually not remove but do not use, remove reference to it from EXT parameter in layout.&lt;br /&gt;
&lt;br /&gt;
=== Patching process ===&lt;br /&gt;
&lt;br /&gt;
Patching process looks pretty easy.&lt;br /&gt;
&lt;br /&gt;
First of all, download the archive with script, and extract it. [http://dl.dropbox.com/u/34455792/keypatch.zip keypatch.zip]&lt;br /&gt;
&lt;br /&gt;
You will get folder &amp;quot;keypatch&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Copy this folder on your device.&lt;br /&gt;
&lt;br /&gt;
Now, connect to your device via novaterm or ssh, and enter the directory.&lt;br /&gt;
&lt;br /&gt;
Run template generation script&lt;br /&gt;
&lt;br /&gt;
 #sh patch.sh generate&lt;br /&gt;
 Checking main file...&lt;br /&gt;
 Main version not detected&lt;br /&gt;
 Checking backup file...&lt;br /&gt;
 Backup file 3.0.2 device version found&lt;br /&gt;
 Backup file will be used&lt;br /&gt;
 Reading data from file /usr/bin/LunaSysMgr.orig&lt;br /&gt;
 Storing data into 302.data&lt;br /&gt;
 Generating template&lt;br /&gt;
 Writing template to file 302.template.json&lt;br /&gt;
 Ok.&lt;br /&gt;
&lt;br /&gt;
Now, copy this template to the computer and open it with editor that affords editing UTF-8 files with no BOM ([http://en.wikipedia.org/wiki/Byte_order_mark Byte Order Mark]) and Unix style endings. For example Notepad++ (on Windows) or vim (on *nix)&lt;br /&gt;
Editing instructions in previous subsection [[#JSON layout file structure and editing hints]]&lt;br /&gt;
&lt;br /&gt;
After editing, copy newly created file in the same folder and run patch or check options&lt;br /&gt;
(you can use &amp;quot;check&amp;quot; instead of &amp;quot;patch&amp;quot; if you want to check patched file first or replace original file manually yourself)&lt;br /&gt;
&lt;br /&gt;
 sh patch.sh patch &amp;lt;new layout file&amp;gt;&lt;br /&gt;
 Main version not detected&lt;br /&gt;
 Checking backup file...&lt;br /&gt;
 Backup file 3.0.2 device version found&lt;br /&gt;
 Backup file will be used&lt;br /&gt;
 Found file data 302.data&lt;br /&gt;
 Reading template &amp;lt;new layout file&amp;gt; and redefining variables&lt;br /&gt;
 Copying source file to temp location&lt;br /&gt;
 Applying patch to tempfile&lt;br /&gt;
 Patched file 302.patched generated&lt;br /&gt;
 Installation started&lt;br /&gt;
 Remounting / as rw&lt;br /&gt;
 Original file aleready backed up in /usr/bin/LunaSysMgr.orig&lt;br /&gt;
 Stopping Luna&lt;br /&gt;
 Coping file 302.patched to /usr/bin/LunaSysMgr&lt;br /&gt;
 Starting Luna&lt;br /&gt;
 Remounting / back as ro&lt;br /&gt;
 Removing temp file 302.patched&lt;br /&gt;
 Ok.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 sh patch.sh check &amp;lt;new layout file&amp;gt;&lt;br /&gt;
 Checking main file...&lt;br /&gt;
 Main version not detected&lt;br /&gt;
 Checking backup file...&lt;br /&gt;
 Backup file 3.0.2 device version found&lt;br /&gt;
 Backup file will be used&lt;br /&gt;
 Found file data 302.data&lt;br /&gt;
 Mon Aug 29 15:08:50 MSD 2011&lt;br /&gt;
 Reading template &amp;lt;new layout file&amp;gt; and redefining variables&lt;br /&gt;
 Mon Aug 29 15:09:07 MSD 2011&lt;br /&gt;
 Copying source file to temp location&lt;br /&gt;
 Applying patch to tempfile&lt;br /&gt;
 Patched file 302.patched generated&lt;br /&gt;
 Mon Aug 29 15:09:15 MSD 2011&lt;br /&gt;
 Ok.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IV. Changing layout manually ==&lt;br /&gt;
&lt;br /&gt;
In keyboard layout, you can easily change button type flags, primary and secondary symbol.&lt;br /&gt;
&lt;br /&gt;
Extended characters set address can be changed too, but you should deduce it by initial values of layouts. It is not very hard but requires time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Characters in extended characters sets can be changed too. Although you cannot change the number of characters in a particular set, you can choose the one with needed number of symbols and reassign it to needed button by changing address in the layout.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
After you are satisfied with the result, you need to replace LunaSysMgr in the device with newly edited file. For this purpose, you need to have shell access to it. You can use either ssh server from preware packages or novaterm to do it. You cannot use on-device terminal as you would need to stop luna in process.&lt;br /&gt;
&lt;br /&gt;
First, you need to copy file on the device using USB drive mode (or you can scp it). Let the new file be /media/internal/LunaSysMgr.&lt;br /&gt;
&lt;br /&gt;
After that, do the following commands:&lt;br /&gt;
&lt;br /&gt;
remount / for write access&lt;br /&gt;
&lt;br /&gt;
 #mount -o r,w remount /&lt;br /&gt;
&lt;br /&gt;
backup original file&lt;br /&gt;
&lt;br /&gt;
 #cp -dpR /usr/bin/LunaSysMgr /usr/bin/LunaSysMgr.orig&lt;br /&gt;
&lt;br /&gt;
stop the luna&lt;br /&gt;
&lt;br /&gt;
 #initctl stop LunaSysMgr&lt;br /&gt;
&lt;br /&gt;
copy new file&lt;br /&gt;
&lt;br /&gt;
 #cp /media/internal/LunaSysMgr /usr/bin/LunaSysMgr&lt;br /&gt;
&lt;br /&gt;
start luna back&lt;br /&gt;
&lt;br /&gt;
 #initctl start LunaSysMgr&lt;br /&gt;
&lt;br /&gt;
remount / back as read only&lt;br /&gt;
&lt;br /&gt;
 #mount -o r,o remount /&lt;br /&gt;
&lt;br /&gt;
And enjoy your new keyboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== V. Offsets ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! 3.0.0 emul!!3.0.0 device!!3.0.2 device!!keyboard/letter&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EE840||0x003BEE80||0x003CACB0||QWERTY Main layout&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EEC00||0x003BF240||0x003CB070||QWERTY Default bottom row&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EECC0||0x003BF300||0x003CB130||QWERTY URL bottom row&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EED80||0x003BF3C0||0x003CB1F0||QWERTY Email bottom row&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x003EEE40||0x003BF480||0x003CB2B0||QWERTZ Main layout&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF200||0x003BF840||0x003CB670||QWERTZ Default bottom row&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF2C0||0x003BF900||0x003CB730||QWERTZ URL bottom row&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF380||0x003BF9C0||0x003CB7F0||QWERTZ Email bottom row&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF440||0x003BFA80||0x003CB8B0||AZERTY Main layout&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF800||0x003BFE40||0x003CBC70||AZERTY Default bottom row&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF8C0||0x003BFF00||0x003CBD30||AZERTY URL bottom row&lt;br /&gt;
|-&lt;br /&gt;
| 0x003EF980||0x003BFFC0||0x003CBDF0||AZERTY Email bottom row&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Extended character offsets are too numerous to list them all.&lt;br /&gt;
I will just name offsets for the first one and the order of sets. As each set is ended with 0x00000000, it will be quite easy to distinguish them.&lt;br /&gt;
&lt;br /&gt;
The order is the following:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! 3.0.0 emul!!3.0.0 device!!3.0.2 device!!letter to which character set is bind&lt;br /&gt;
|-&lt;br /&gt;
| 0x003C33DC||0x00388BB4||0x00393608||QWERTY 1&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 2&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 3&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 4&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 5&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 6&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 7&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 8&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 9&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY 0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| E&lt;br /&gt;
|-&lt;br /&gt;
||||||| R&lt;br /&gt;
|-&lt;br /&gt;
||||||| T&lt;br /&gt;
|-&lt;br /&gt;
||||||| Y&lt;br /&gt;
|-&lt;br /&gt;
||||||| U&lt;br /&gt;
|-&lt;br /&gt;
||||||| I&lt;br /&gt;
|-&lt;br /&gt;
||||||| O&lt;br /&gt;
|-&lt;br /&gt;
||||||| P&lt;br /&gt;
|-&lt;br /&gt;
||||||| A&lt;br /&gt;
|-&lt;br /&gt;
||||||| S&lt;br /&gt;
|-&lt;br /&gt;
||||||| D&lt;br /&gt;
|-&lt;br /&gt;
||||||| G&lt;br /&gt;
|-&lt;br /&gt;
||||||| L&lt;br /&gt;
|-&lt;br /&gt;
||||||| Z&lt;br /&gt;
|-&lt;br /&gt;
||||||| C&lt;br /&gt;
|-&lt;br /&gt;
||||||| N&lt;br /&gt;
|-&lt;br /&gt;
||||||| M&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY ,/&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY .?&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY '&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY -_&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| Hide keyboard(size of it)&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| URL key /&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTY .com&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 1&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 2&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 3&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 4&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 5&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 6&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 7&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 8&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 9&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ 0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ ,;&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ .:&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ #?&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ -'&lt;br /&gt;
|-&lt;br /&gt;
||||||| QWERTZ .com&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 1&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 2&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 3&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 4&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 5&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 6&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 7&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 8&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 9&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY 0&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY ,?&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY .;&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY :/&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY @_&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY !*&lt;br /&gt;
|-&lt;br /&gt;
||||||| AZERTY .com&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Touchpad_Bluetooth_Keyboard&amp;diff=19317</id>
		<title>Touchpad Bluetooth Keyboard</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Touchpad_Bluetooth_Keyboard&amp;diff=19317"/>
		<updated>2011-09-30T07:38:16Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== HP Touchpad Bluetooth Keyboard ==&lt;br /&gt;
=== Keycode/Scancode for Media/Specialty Keys ===&lt;br /&gt;
Hopefully this information will make it easier to implement support for the HP Touchpad Bluetooth Keyboard on other devices such as a Pre2 or Veer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Keycode&lt;br /&gt;
! Scancode (Decimal)&lt;br /&gt;
! Scancode (Hex)&lt;br /&gt;
|-&lt;br /&gt;
| Notifications&lt;br /&gt;
| 1&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Search&lt;br /&gt;
| 217&lt;br /&gt;
| 786977&lt;br /&gt;
| 0xC0221&lt;br /&gt;
|-&lt;br /&gt;
| Keyboard&lt;br /&gt;
| 204&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Brightness Down&lt;br /&gt;
| 224&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Brightness Up&lt;br /&gt;
| 225&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Rewind&lt;br /&gt;
| 168&lt;br /&gt;
| 786612&lt;br /&gt;
| 0xC00B4&lt;br /&gt;
|-&lt;br /&gt;
| Play/Pause&lt;br /&gt;
| 164&lt;br /&gt;
| 786637&lt;br /&gt;
| 0xC00CD&lt;br /&gt;
|-&lt;br /&gt;
| Forward&lt;br /&gt;
| 208&lt;br /&gt;
| 786611&lt;br /&gt;
| 0xC00B3&lt;br /&gt;
|-&lt;br /&gt;
| Mute&lt;br /&gt;
| 113&lt;br /&gt;
| 786658&lt;br /&gt;
| 0xC00E2&lt;br /&gt;
|-&lt;br /&gt;
| Volume Down&lt;br /&gt;
| 114&lt;br /&gt;
| 786666&lt;br /&gt;
| 0xC00EA&lt;br /&gt;
|-&lt;br /&gt;
| Volume Up&lt;br /&gt;
| 115&lt;br /&gt;
| 786665&lt;br /&gt;
| 0xC00E9&lt;br /&gt;
|-&lt;br /&gt;
| Power&lt;br /&gt;
| 142&lt;br /&gt;
| 65666&lt;br /&gt;
| 0x10082&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Using various tools under Ubuntu 11.04, I haven't been able to get info for Keyboard, Brightness Down, and Brightness Up. These keys may need a Touchpad device to get the information for, as the keys are known working there.&lt;br /&gt;
--[[User:SineOtter|SineOtter]] 07:34, 9 September 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
=== Keyboard layouts ===&lt;br /&gt;
&lt;br /&gt;
The keymaps are located in the /usr/share/qt4/keymaps directory. There are 3 of them: keymap-us.qmap, keymap-de.qmap, keymap-fr.qmap. The keymap is loaded after the keyboard was successfully paired with the touchpad. &lt;br /&gt;
&lt;br /&gt;
kmap2qmap is a tool to generate keymaps in qmap format (http://doc.qt.nokia.com/latest/qt-embedded-kmap2qmap.html). Original kmap2qmap source file was downloaded from http://svn.netlabs.org/repos/qt4/trunk/tools/kmap2qmap/main.cpp, then some changes from http://palm.cdnetworks.net/opensource/3.0.2/qt4-4.7.1-patches.gz were applied.&lt;br /&gt;
Download the patched kmap2qmap.cpp[http://users.openinkpot.org/~lunohod/kmap2qmap.cpp] and compile it:&lt;br /&gt;
&lt;br /&gt;
'''gcc -o kmap2qmap kmap2qmap.cpp -I/usr/include/qt4 -I/usr/include/qt4/QtCore -lQtCore'''&lt;br /&gt;
&lt;br /&gt;
Now grab the kmap[http://users.openinkpot.org/~lunohod/us.kmap] file, modify it if you want and generate the qmap file with:&lt;br /&gt;
&lt;br /&gt;
'''./kmap2qmap us.kmap keymap-us.qmap'''&lt;br /&gt;
&lt;br /&gt;
The us.kmap file was generated with ckbcomp (it's in the console-setup package in Debian) and then the touchpad related keys were added:&lt;br /&gt;
&lt;br /&gt;
'''ckbcomp -keycodes evdev -layout us -compact &amp;gt; us.kmap'''&lt;br /&gt;
&lt;br /&gt;
There is also a modified kmap file[http://users.openinkpot.org/~lunohod/us_modified.kmap] with CapsLock changed to Control key, added AltGr and germanic umlauts mapped to AltGr+[aous]. You can take this kmap as a reference or just diff it with the us.kmap to see what should be changed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is possible to create new layouts (with dvorak, colemak, cyrillic or whatever you want), but there is still no way to switch layouts on the fly.&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Touchpad_Touch-down&amp;diff=19315</id>
		<title>Touchpad Touch-down</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Touchpad_Touch-down&amp;diff=19315"/>
		<updated>2011-09-30T07:37:49Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Portal:Where_to_Get_Started |Where to get started]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Touchpad_Teardown&amp;diff=19313</id>
		<title>Touchpad Teardown</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Touchpad_Teardown&amp;diff=19313"/>
		<updated>2011-09-30T07:36:46Z</updated>

		<summary type="html">&lt;p&gt;101pre: Category:HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;html&amp;gt;&amp;lt;object classid=&amp;quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&amp;quot; width=&amp;quot;480&amp;quot; height=&amp;quot;296&amp;quot; id=&amp;quot;utv889877&amp;quot; name=&amp;quot;utv_n_881019&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;flashvars&amp;quot; value=&amp;quot;loc=%2F&amp;amp;amp;autoplay=false&amp;amp;amp;vid=17096227&amp;amp;amp;locale=en_US&amp;amp;amp;hasticket=false&amp;amp;amp;v3=1&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowfullscreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;src&amp;quot; value=&amp;quot;http://www.ustream.tv/flash/viewer.swf&amp;quot; /&amp;gt;&amp;lt;embed flashvars=&amp;quot;loc=%2F&amp;amp;amp;autoplay=false&amp;amp;amp;vid=17096227&amp;amp;amp;locale=en_US&amp;amp;amp;hasticket=false&amp;amp;amp;v3=1&amp;quot; width=&amp;quot;480&amp;quot; height=&amp;quot;296&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; allowscriptaccess=&amp;quot;always&amp;quot; id=&amp;quot;utv889877&amp;quot; name=&amp;quot;utv_n_881019&amp;quot; src=&amp;quot;http://www.ustream.tv/flash/viewer.swf&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; /&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://www.ustream.tv/recorded/17096227 http://www.ustream.tv/recorded/17096227]&lt;br /&gt;
* [http://www.ifixit.com/Device/HP_TouchPad HP TouchPad Repair Manual], 15 Step-by-step Guides, iFixit&lt;br /&gt;
&lt;br /&gt;
[[Category:HP Touchpad]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Category:HP_Touchpad&amp;diff=19311</id>
		<title>Category:HP Touchpad</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Category:HP_Touchpad&amp;diff=19311"/>
		<updated>2011-09-30T07:35:50Z</updated>

		<summary type="html">&lt;p&gt;101pre: HP Touchpad&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HP Touchpad&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Android_under_webOS_on_Touchpad&amp;diff=19309</id>
		<title>Android under webOS on Touchpad</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Android_under_webOS_on_Touchpad&amp;diff=19309"/>
		<updated>2011-09-30T07:32:47Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project goal ==&lt;br /&gt;
&lt;br /&gt;
To implement Android (probably CyanogenMod 7) on the TouchPad as a card using a &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; execution environment. Perhaps eventually putting each Android app as a card.&lt;br /&gt;
: This will allow the use of Android apps (hopefully, including market) while not having to leave webOS or reflash the TouchPad.&lt;br /&gt;
: However, it will probably not have 3D support, so people whining for &amp;quot;romz&amp;quot; will probably not be fully satisfied. ;)&lt;br /&gt;
&lt;br /&gt;
== Required pieces ==&lt;br /&gt;
&lt;br /&gt;
* The kernel may need to have Android bits compiled in. This could be added to the standard UberKernel without impacting regular operation.&lt;br /&gt;
* The Android graphics and devices need to be rerouted to use SDL and other PDK-supported APIs.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
*[http://bitbucket.spencerelliott.ca/palmdroid/wiki/Home Palmdroid project!] The end goal for this project it to be able to run Android applications within webOS using the Dalvik virtual machine.&lt;br /&gt;
***[http://forum.xda-developers.com/showthread.php?p=17558046#post17558046 (ANDROID) Official Palmdroid Development Thread]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Touchpad_Teardown&amp;diff=19307</id>
		<title>Touchpad Teardown</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Touchpad_Teardown&amp;diff=19307"/>
		<updated>2011-09-30T07:29:49Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;html&amp;gt;&amp;lt;object classid=&amp;quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&amp;quot; width=&amp;quot;480&amp;quot; height=&amp;quot;296&amp;quot; id=&amp;quot;utv889877&amp;quot; name=&amp;quot;utv_n_881019&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;flashvars&amp;quot; value=&amp;quot;loc=%2F&amp;amp;amp;autoplay=false&amp;amp;amp;vid=17096227&amp;amp;amp;locale=en_US&amp;amp;amp;hasticket=false&amp;amp;amp;v3=1&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowfullscreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;src&amp;quot; value=&amp;quot;http://www.ustream.tv/flash/viewer.swf&amp;quot; /&amp;gt;&amp;lt;embed flashvars=&amp;quot;loc=%2F&amp;amp;amp;autoplay=false&amp;amp;amp;vid=17096227&amp;amp;amp;locale=en_US&amp;amp;amp;hasticket=false&amp;amp;amp;v3=1&amp;quot; width=&amp;quot;480&amp;quot; height=&amp;quot;296&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; allowscriptaccess=&amp;quot;always&amp;quot; id=&amp;quot;utv889877&amp;quot; name=&amp;quot;utv_n_881019&amp;quot; src=&amp;quot;http://www.ustream.tv/flash/viewer.swf&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; /&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [http://www.ustream.tv/recorded/17096227 http://www.ustream.tv/recorded/17096227]&lt;br /&gt;
* [http://www.ifixit.com/Device/HP_TouchPad HP TouchPad Repair Manual], 15 Step-by-step Guides, iFixit&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Touchpad_Touch-down&amp;diff=19305</id>
		<title>Touchpad Touch-down</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Touchpad_Touch-down&amp;diff=19305"/>
		<updated>2011-09-30T07:28:36Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Portal:Where_to_Get_Started |Where to get started]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Python&amp;diff=19301</id>
		<title>Python</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Python&amp;diff=19301"/>
		<updated>2011-09-30T07:23:34Z</updated>

		<summary type="html">&lt;p&gt;101pre: python etc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Python on the webOS==&lt;br /&gt;
Various options:&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/python-for-webos/ python-for-webos], Python for HP-Palm webOS devices.  A Python VM/Interpreter in order to allow Python code to run inside a Palm Pre / Pixi&lt;br /&gt;
&lt;br /&gt;
* [http://sourceforge.net/projects/webos-python/ Unofficial Python on webOS], and related packages for Palm webOS. Built using the WebOS Internals PDK. (Pygame &amp;amp; Python 2.5)&lt;br /&gt;
** [http://thp.io/2011/webos/ webOS hacks], Python on webOS and the python-webos module (thp.io)&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/thp/python-webos Python module &amp;quot;webos&amp;quot; wrapping the PDL functionality.] from [https://developer.palm.com/content/api/reference/pdk/plug-in-api-summary.html hp]&lt;br /&gt;
&lt;br /&gt;
==Tools in Python==&lt;br /&gt;
&lt;br /&gt;
*[https://github.com/grundprinzip/PyPalm PyPalm] a tool that should help to work with the Palm webOS SDK from the command line.&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=DebianChroot&amp;diff=19271</id>
		<title>DebianChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=DebianChroot&amp;diff=19271"/>
		<updated>2011-09-29T07:10:34Z</updated>

		<summary type="html">&lt;p&gt;101pre: /* How to remove the ext3fs partition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Debian 6.0.2 Chroot has been compiled to work with armv6 and armv7 processors, unlike the Ubuntu Chroot that only works with armv7.  This means that you can now have a functional linux chroot on your pixi as well.&lt;br /&gt;
&lt;br /&gt;
You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instruction how to create partition is available here [[Chrooting]]). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
* Using Preware, install Xecutah and Debian 6.0.2 Chroot.&lt;br /&gt;
&lt;br /&gt;
* Hit the relevant buttons on Xecutah to run the XServer and the Debian 6.0.2 Chroot. &lt;br /&gt;
&lt;br /&gt;
* Run XServer first, which will open an Xserver window, then return to Xecutah and tap Debian 6.0.2 Chroot. When you return to the Xserver card, you should see a command prompt.&lt;br /&gt;
&lt;br /&gt;
* Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Debian.  Then run in the Debian chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=debian.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 debian.img 1048576&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/debian.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/debian.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Debian 6.0.2 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
*[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition |Application:MetaDoctor - How to remove the ext3fs partition ]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=DebianChroot&amp;diff=19269</id>
		<title>DebianChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=DebianChroot&amp;diff=19269"/>
		<updated>2011-09-29T07:09:52Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Debian 6.0.2 Chroot has been compiled to work with armv6 and armv7 processors, unlike the Ubuntu Chroot that only works with armv7.  This means that you can now have a functional linux chroot on your pixi as well.&lt;br /&gt;
&lt;br /&gt;
You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instruction how to create partition is available here [[Chrooting]]). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
* Using Preware, install Xecutah and Debian 6.0.2 Chroot.&lt;br /&gt;
&lt;br /&gt;
* Hit the relevant buttons on Xecutah to run the XServer and the Debian 6.0.2 Chroot. &lt;br /&gt;
&lt;br /&gt;
* Run XServer first, which will open an Xserver window, then return to Xecutah and tap Debian 6.0.2 Chroot. When you return to the Xserver card, you should see a command prompt.&lt;br /&gt;
&lt;br /&gt;
* Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Debian.  Then run in the Debian chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=debian.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 debian.img 1048576&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/debian.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/debian.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Debian 6.0.2 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19267</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19267"/>
		<updated>2011-09-29T07:07:43Z</updated>

		<summary type="html">&lt;p&gt;101pre: one step less renumber the rest&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
* Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
* Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
* Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
* Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**[[Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor Step 1: |Application:MetaDoctor - Setting up Meta-Doctor Step 1:]]&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. '''BUT BE AWARE THAT THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU.''' Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**[[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot |Application:MetaDoctor - How to get the optional ext3fs partition mounted at device boot]]&lt;br /&gt;
&lt;br /&gt;
===Step 3: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 4: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**[http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html Easy Autoconfiguration for Ubuntu]&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
*[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition |Application:MetaDoctor - How to remove the ext3fs partition ]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19265</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19265"/>
		<updated>2011-09-29T06:58:04Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
* Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
* Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
* Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
* Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**[[Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor Step 1: |Application:MetaDoctor - Setting up Meta-Doctor Step 1:]]&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. '''BUT BE AWARE THAT THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU.''' Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**[[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot |Application:MetaDoctor - How to get the optional ext3fs partition mounted at device boot]]&lt;br /&gt;
&lt;br /&gt;
===Step 3: [No longer required]===&lt;br /&gt;
&lt;br /&gt;
===Step 4: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 5: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**[http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html Easy Autoconfiguration for Ubuntu]&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
*[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition |Application:MetaDoctor - How to remove the ext3fs partition ]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=User:101pre&amp;diff=19263</id>
		<title>User:101pre</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=User:101pre&amp;diff=19263"/>
		<updated>2011-09-29T06:57:05Z</updated>

		<summary type="html">&lt;p&gt;101pre: UbuntuChroot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [http://www.webos-internals.org/wiki/UbuntuChroot UbuntuChroot]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19261</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19261"/>
		<updated>2011-09-29T06:55:53Z</updated>

		<summary type="html">&lt;p&gt;101pre: /* Step 1: Creating a WebOS Doctor */ Application:MetaDoctor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**[[Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor Step 1: |Application:MetaDoctor - Setting up Meta-Doctor Step 1:]]&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. '''BUT BE AWARE THAT THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU.''' Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**[[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot |Application:MetaDoctor - How to get the optional ext3fs partition mounted at device boot]]&lt;br /&gt;
&lt;br /&gt;
===Step 3: [No longer required]===&lt;br /&gt;
&lt;br /&gt;
===Step 4: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 5: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**[http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html Easy Autoconfiguration for Ubuntu]&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
*[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition |Application:MetaDoctor - How to remove the ext3fs partition ]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19259</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19259"/>
		<updated>2011-09-29T06:52:23Z</updated>

		<summary type="html">&lt;p&gt;101pre: /* Step 5: What's Next? */ Easy Autoconfiguration for Ubuntu&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**http://www.webos-internals.org/wiki/Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. BUT BE AWARE THST THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU. Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**[[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot |Application:MetaDoctor - How to get the optional ext3fs partition mounted at device boot]]&lt;br /&gt;
&lt;br /&gt;
===Step 3: [No longer required]===&lt;br /&gt;
&lt;br /&gt;
===Step 4: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 5: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**[http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html Easy Autoconfiguration for Ubuntu]&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
*[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition |Application:MetaDoctor - How to remove the ext3fs partition ]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19257</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19257"/>
		<updated>2011-09-29T06:51:22Z</updated>

		<summary type="html">&lt;p&gt;101pre: /* How to remove the ext3fs partition */ Application:MetaDoctor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**http://www.webos-internals.org/wiki/Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. BUT BE AWARE THST THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU. Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**[[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot |Application:MetaDoctor - How to get the optional ext3fs partition mounted at device boot]]&lt;br /&gt;
&lt;br /&gt;
===Step 3: [No longer required]===&lt;br /&gt;
&lt;br /&gt;
===Step 4: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 5: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
*[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition |Application:MetaDoctor - How to remove the ext3fs partition ]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19255</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19255"/>
		<updated>2011-09-29T06:50:22Z</updated>

		<summary type="html">&lt;p&gt;101pre: /* Step 2: Mounting the ext3fs partition */ Application:MetaDoctor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**http://www.webos-internals.org/wiki/Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. BUT BE AWARE THST THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU. Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**[[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot |Application:MetaDoctor - How to get the optional ext3fs partition mounted at device boot]]&lt;br /&gt;
&lt;br /&gt;
===Step 3: [No longer required]===&lt;br /&gt;
&lt;br /&gt;
===Step 4: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 5: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:UbuntuChroot&amp;diff=19253</id>
		<title>Talk:UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:UbuntuChroot&amp;diff=19253"/>
		<updated>2011-09-29T06:47:57Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The process of extracting the rootfs archive can be done without copying the file to the device:&lt;br /&gt;
&lt;br /&gt;
 novacom -s run &amp;quot;file:///bin/tar zxvf - -C /media/ext3fs/ubuntu&amp;quot; &amp;lt; armel-rootfs-201107071349.tgz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==The easiest/safest way to wipe your install if using a file image==&lt;br /&gt;
*[http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu-7.html#post3143847]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19247</id>
		<title>UbuntuChroot</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=UbuntuChroot&amp;diff=19247"/>
		<updated>2011-09-29T06:43:49Z</updated>

		<summary type="html">&lt;p&gt;101pre: Donations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You need a large-enough ext3fs partition created with Meta-Doctor mounted at /media/ext3fs (instructions for how to create a partition are available below). Note that the latest optware bootstrap package will also use this if it exists.  '''If you have not already done so you should setup the ext3fs partition to mount at bootup.'''  (Failure to do so will cause you to run out of disk space)  Instructions can be found on the [[Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot|Meta Doctor]] page.&lt;br /&gt;
&lt;br /&gt;
Make sure you have the WebOS Internals Testing Feeds enabled.&lt;br /&gt;
&lt;br /&gt;
Using Preware, install Xecutah and Ubuntu 11.04 Chroot.&lt;br /&gt;
&lt;br /&gt;
Hit the relevant buttons on Xecutah to run the XServer and the Ubuntu 11.04 Chroot. &lt;br /&gt;
&lt;br /&gt;
Run XServer first, which will open an Xserver window, then return to Xecutah and tap Ubuntu 11.04 Chroot. When you return to the Xserver card, you should see a Ubuntu command prompt.&lt;br /&gt;
&lt;br /&gt;
Use &amp;quot;apt-get install&amp;quot; to install whatever apps you like from Ubuntu.  Then run in the Ubuntu chroot and render on the XServer.&lt;br /&gt;
&lt;br /&gt;
Please support the project with a [[WebOS_Internals:Site_support|Donation]], and install the Preware Homebrew Documentation app from the official app catalog to learn how to install Preware on your device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;'''NOTE ABOUT DISK IMAGES'''&amp;lt;/center&amp;gt;&lt;br /&gt;
It is possible to use a disk image instead of creating a partition. However, this comes with a few caveats, such as slower speed, disk size restriction (mounting a disk image in cryptofs may limit you to &amp;lt; 2GB) or breaking USB connectivity (on /media/internal). Do this at your own risk. '''Partitioning with Meta Doctor is the faster and slightly stabler method.'''&lt;br /&gt;
&lt;br /&gt;
If you do not want to re-doctor your phone, this is how to do it with an image file:&lt;br /&gt;
First, open a terminal (XServer &amp;gt;XTerm - everything is done on device).&lt;br /&gt;
&lt;br /&gt;
1048576 (KB) means 1 GB, you can replace that (used in two commands). NOTE: You can not create an image file in /media/cryptofs larger than 2GB.&lt;br /&gt;
&lt;br /&gt;
 cd /media/cryptofs&lt;br /&gt;
 dd if=/dev/zero of=ubuntu.img bs=1024 count=1048576&lt;br /&gt;
 mkfs.ext3 -F -b 1024 ubuntu.img 1048576&lt;br /&gt;
&lt;br /&gt;
 rootfs_open -t&lt;br /&gt;
 mkdir /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
Next, you must mount the new image file. &lt;br /&gt;
&lt;br /&gt;
 mount -o loop /media/cryptofs/ubuntu.img /media/ext3fs&lt;br /&gt;
&lt;br /&gt;
To make this mount at boot, you need to add an entry to the fstab:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;/media/cryptofs/ubuntu.img /media/ext3fs ext3 loop 0 0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mount -a&lt;br /&gt;
&lt;br /&gt;
Now you can install Ubuntu 11.04 Chroot from Preware and it will populate the image file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Intro: What you need to know===&lt;br /&gt;
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card. However, you can install a GUI windows manager such as LXDE which will let you use it as you would a normal computer. &lt;br /&gt;
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.&lt;br /&gt;
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.&lt;br /&gt;
&lt;br /&gt;
* '''Warnings: WebOS Internals takes no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.'''&lt;br /&gt;
**'''You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so!'''&lt;br /&gt;
&lt;br /&gt;
===Step 1: Creating a WebOS Doctor===&lt;br /&gt;
* We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.&lt;br /&gt;
* Use the WebOS Internals Guide to installing and running the Meta Doctor (the link below)&lt;br /&gt;
**http://www.webos-internals.org/wiki/Application:MetaDoctor#Step_1:_Setting_up_Meta-Doctor&lt;br /&gt;
* Make sure you uncomment the correct setting in the Makefile to actually create the ext3fs partition. Which will be a little ways down in the file were it says &amp;quot;# EXT3FS_PARTITION_SIZE = 2GB&amp;quot;. Delete that # before it to make it readable to the program and if you desire to you may change the 2GB to the size you wish to have for Ubuntu. BUT BE AWARE THST THIS TAKES AWAY THE MEMORY FROM THE USB PARTITION AND ADDS IT TO UBUNTU. Now save the file still with no file extension. &lt;br /&gt;
*If you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.&lt;br /&gt;
* Once the Meta Doctor is done, run the WebOS Doctor it created under the 'builds' folder. And setup your device.&lt;br /&gt;
&lt;br /&gt;
===Alternative Step 1: Re-partitioning by hand===&lt;br /&gt;
If you do not want to run the doctor, but do want to do the right thing and give your Ubuntu a partition of its own, here's, roughly, how: [note: [[User:Habbie|Habbie]] 08:10, 17 September 2011 (UTC) writing this from memory. somebody should try it and update the details.]:&lt;br /&gt;
[[User:Midnite|Midnite]] 26 September 2011 confirmed, below works correctly.&lt;br /&gt;
&lt;br /&gt;
# connect with novaterm&lt;br /&gt;
# get rid of cryptofs process &amp;lt;code&amp;gt;pkill -SIGUSR1 cryptofs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;umount /media/internal&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;resizefat /dev/mapper/store-media 4G&amp;lt;/code&amp;gt; - I picked 4G to leave about 9G for my Ubuntu. Decide for yourself. This operation should not delete your data.&lt;br /&gt;
# &amp;lt;code&amp;gt;lvresize -L 4G /dev/mapper/store-media&amp;lt;/code&amp;gt;&lt;br /&gt;
# now, remount /media/internal and /media/cryptofs. I decided to just reboot but you could do the remount/reboot later. rwhitby advises &amp;lt;code&amp;gt;pkill -SIGUSR2 cryptofs&amp;lt;/code&amp;gt; here.&lt;br /&gt;
# &amp;lt;code&amp;gt; lvcreate -l 100%FREE -n ext3fs store &amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkfs.ext3 /dev/mapper/store-ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,rw /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;echo &amp;quot;/dev/mapper/store-ext3fs /media/ext3fs auto noatime 	0	0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir /media/ext3fs&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -o remount,ro /&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;mount -a&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skip the next step (Step 2: Mounting the ext3fs partition) - we have already done this above in step 10.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Mounting the ext3fs partition===&lt;br /&gt;
*Follow the intructions of the Chrooting wiki page.&lt;br /&gt;
**http://www.webos-internals.org/wiki/Application:MetaDoctor#How_to_get_the_optional_ext3fs_partition_mounted_at_device_boot&lt;br /&gt;
&lt;br /&gt;
===Step 3: Adding Testing Feeds===&lt;br /&gt;
*Follow the instructions on the Testing Feeds wiki page. Please understand the risks noted.&lt;br /&gt;
**http://www.webos-internals.org/wiki/Testing_Feeds&lt;br /&gt;
&lt;br /&gt;
===Step 4: Installing UbuntuChroot, Xecutah, and XServer===&lt;br /&gt;
* Open up Preware and tap List Of Everything.&lt;br /&gt;
* Search for and install the following: UbuntuChroot, Xecutah, and XServer&lt;br /&gt;
* Now opened Xecutah and tap XServer and a new card will come up.&lt;br /&gt;
* Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.&lt;br /&gt;
* Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:&lt;br /&gt;
&lt;br /&gt;
===Step 5: What's Next?===&lt;br /&gt;
* Now to have some fun after all that work you put in!&lt;br /&gt;
* Take a look at the auto configuration script that will install and setup most of the what is in the next bullet for you in just a few steps.&lt;br /&gt;
**http://forums.precentral.net/webos-development/295909-easy-autoconfiguration-ubuntu.html&lt;br /&gt;
* Type the below and it will update the program lists.&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Now type the following in the box to install what ever you wish! &lt;br /&gt;
&amp;lt;pre&amp;gt;/***type the below for LibreOffice&lt;br /&gt;
apt-get install LibreOffice&lt;br /&gt;
&lt;br /&gt;
/***type the below for the Chromium Browser&lt;br /&gt;
apt-get install chromium-browser&lt;br /&gt;
&lt;br /&gt;
/***type the below for GIMP&lt;br /&gt;
apt-get install gimp&lt;br /&gt;
&lt;br /&gt;
/***type the below for Eclipse&lt;br /&gt;
apt-get install eclipse&lt;br /&gt;
&lt;br /&gt;
/***type the below for LXDE&lt;br /&gt;
apt-get install lxde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How to remove the ext3fs partition ==&lt;br /&gt;
&lt;br /&gt;
[[Application:MetaDoctor#How_to_remove_the_ext3fs_partition]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Main_Page&amp;diff=18811</id>
		<title>Talk:Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Main_Page&amp;diff=18811"/>
		<updated>2011-09-17T13:00:47Z</updated>

		<summary type="html">&lt;p&gt;101pre: /* Article organization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for discussion of the Main Page. For discussion of general policies, see [[WebOS Internals talk:Policies and guidelines]]&lt;br /&gt;
&lt;br /&gt;
== Beta Main Page ==&lt;br /&gt;
&lt;br /&gt;
This isn't in use right now, but when It comes the time to swap out the main page again.&lt;br /&gt;
&lt;br /&gt;
[[Main_Page_beta]]&lt;br /&gt;
[[Template:Page-main-beta]]&lt;br /&gt;
&lt;br /&gt;
== Article title capitalization ==&lt;br /&gt;
&lt;br /&gt;
Are we sure we want to use title case for article titles? [http://en.wikipedia.org/wiki/Wikipedia:Mos#Article_titles Wikipedia uses sentence case], and i think it looks much better.&lt;br /&gt;
—[[User:X1011|X1011]] 06:35, 20 July 2009 (UTC)&amp;lt;br&amp;gt;&lt;br /&gt;
Also, same question for section headings —[[user:X1011|X1011]] 12:45, 20 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I think it usually works out good since a lot of pages are displayed as: &amp;lt;nowiki&amp;gt;[[Page Name]], also with the headers of course don't uppercase &amp;quot;a&amp;quot;, &amp;quot;and&amp;quot;, etc.&amp;lt;/nowiki&amp;gt; --[[User:Templarian|Templarian]] 13:21, 20 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
'''from #webos-internals:'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Rick_: X1011, the pages-to-be-moved page on the new wiki uses the PAGE NAME as a link to create the page on the new wiki rather than the old page link from the old wiki.&lt;br /&gt;
Rick_: In general _most_ of them are fine.&lt;br /&gt;
Rick_: We prefer &amp;quot;Page About Smashing the Pre&amp;quot;  to &amp;quot;Page about smashing the Pre&amp;quot;  because it _is_ the title of  the page, and so _should_ be in title case.&lt;br /&gt;
Rick_: or that's the consensus of the team to date.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Registration error warning ==&lt;br /&gt;
&lt;br /&gt;
Instead of having the warning about getting an error on confirming your registration on the main page, could an admin put it on the [http://www.webos-internals.org/index.php?title=Special:Userlogin&amp;amp;type=signup create account page]? —[[user:X1011|X1011]] 01:58, 23 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
The Special:* namespace pages are not editable. -- Rod&lt;br /&gt;
&lt;br /&gt;
Maybe not inside the wiki editing system, but surely it's editable at some level. I think we should put user experience before &amp;quot;that's too hard to do&amp;quot;. —[[user:X1011|X1011]] 23:55, 23 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Agreed - I'll look into it.  -- Rod&lt;br /&gt;
&lt;br /&gt;
==Front page mispelling and Description Addition==&lt;br /&gt;
&lt;br /&gt;
There's a mispelling on the top of the front page (I don't have rights to edit this page)&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Thank you for heling us convert all the pages from the old wiki!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
should be:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Thank you for hel'''p'''ing us convert all the pages from the old wiki!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, can you add something referencing &amp;quot;Kernels&amp;quot; in the development tools' description?&lt;br /&gt;
&lt;br /&gt;
-[[user:hopspitfire|hopspitfire]] 05:33, 23 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Added kernels to the list  --[[User:Templarian|Templarian]] 19:23, 27 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Protection ==&lt;br /&gt;
&lt;br /&gt;
Why is Main Page protected? It shouldn't be protected unless it is vandalised; see [[wikipedia:WP:NO-PREEMPT]]. As seen in the above section, regular people have useful contributions. —[[user:X1011|X1011]] 21:52, 24 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
I disagree.   We're getting 20K page views a day.  Let's keep the main page clean and functonal. [[User:Rboatright|rboatright]] 02:57, 28 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the main page has 14,428 total views to date. we shouldn't assume our users will make it dirty and unfunctional before we even give them a chance. Wikia has [[wikia:c:help:help:main page#What if I don't want visitors to edit my main page?|a good writeup]] on why the main page should not be protected.&lt;br /&gt;
&lt;br /&gt;
also, in the future, when you protect a page, please include a note explaining why you are doing so.&lt;br /&gt;
&lt;br /&gt;
—[[user:X1011|X1011]] 08:07, 28 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The main page is currently editable, was this intentional? [[User:Hopspitfire|hopspitfire]] 07:03, 1 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Yea, rick only set it to be protected till aug 1st while updates were going on. The idea was so that users wouldn't mess with it as the site was being setup / structured. --[[User:Templarian|Templarian]] 22:42, 2 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: The idea was that there was a gazillion links on the FRONT page of the old wiki.  we wanted the front page of the new wiki to lead to DEPARTMENTS instead of having a zillion links on it.   -- that's worked out now, and seems institutionally embedded so why not let the protection expire?  [[User:Rboatright|rboatright]] 22:51, 2 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
As many of seen the front page is no longer protected. The edit tab has been hidden, but editing can be easily done by &amp;quot;?title=Main_Page&amp;amp;action=edit&amp;quot;. Hopefully this solved any disagreements people may have with the editing/protection of the main page. --[[User:Templarian|Templarian]] 14:24, 5 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
That can be simplified even more just by typing &amp;quot;?action=edit&amp;quot;. -[[User:Hopspitfire|hopspitfire]] 21:20, 5 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Research/Reference Portal ==&lt;br /&gt;
&lt;br /&gt;
We need to add the Research/Reference portal to the front page. I recommend re-organizing the front page.&lt;br /&gt;
&lt;br /&gt;
I'd start with putting &amp;quot;Getting Started&amp;quot; on the top-middle by itself, then follow the diagram below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
-------------Getting Started-------------&lt;br /&gt;
Linux Apps---Source Patches---Dev Tools&lt;br /&gt;
Research-------webOS Apps-----Hardware&lt;br /&gt;
Recovery--------SDK Docs------Wiki Help&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We also need an icon for &amp;quot;Research&amp;quot;, maybe put a lab suit over Tux with a doctor's mask. What do you think?&lt;br /&gt;
&lt;br /&gt;
I also agree with the post above regarding the unprotection of the front page (at least to autoconfirmed users). -hopspitfire&lt;br /&gt;
&lt;br /&gt;
yes, we need to add a box for the research portal. [[User:Rboatright|rboatright]] 02:57, 28 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
As of today all of this has been done (including Tux in a lab coat). --[[User:Templarian|Templarian]] 15:11, 5 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== featured article ==&lt;br /&gt;
I think we need a &amp;quot;featured article&amp;quot; on the main page.  Right now, that wuld be &lt;br /&gt;
terminal.    [[User:Rboatright|rboatright]] 02:57, 28 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
the featured articles look great. --[[User:Templarian|Templarian]] 13:15, 30 July 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Article organization ==&lt;br /&gt;
&lt;br /&gt;
I noticed that there are a lot of manually maintained lists on this wiki.  I'm not sure why the Category system is not being used, since it provides a better way to manage lists.  A manually maintained list provides more information such as a summary, but a category is much easier to maintain and the users can browse a category page.  Pages such as the [[Portal:webOS_Applications_All]] might be better as a category page.  Actually, it looks like [[Special:Categories]] are rarely used.  The category system could also compliment the current system as well.&lt;br /&gt;
: Any problem if I start adding lots of pages into appropriate categories?&lt;br /&gt;
&lt;br /&gt;
Also, an [http://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style_%28infoboxes%29 infobox] on certain article types such as applications would help with origination.  A script such as the one used on the [http://www.mediawiki.org/wiki/Extension_Matrix Extension Matrix] might eventually be plausible in the future once infoboxes are more commonly used.&lt;br /&gt;
: Can I create them?&lt;br /&gt;
How zealous about organization is it ok to be?&lt;br /&gt;
:[[User:Servel333|Servel333]] 18:59, 8 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
i'm all for both ideas. i tried organizing this wiki at one point but i didn't have time to teach everyone how to properly use a wiki and was also meeting resistance. i never even bothered with the application pages because there were plans to make a proper repo site ([[Preware Design#Site]]). see also [[Talk:Portal:Patches to webOS#naming]] for my suggestions on organizing the patches. —[[user:X1011|X1011]] 22:20, 8 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When I have some free time I'll add pages to categories and see what issues come up.  An infobox would even help with linking to an external repository, since most of the URL could be hidden by the infobox and if certain parts of the URL change, every single application page doesn't have to be updated for the links to work.  Thanks.  Hopefully, I can be of some help around here.&lt;br /&gt;
:[[User:Servel333|Servel333]] 23:10, 8 December 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
==How about mentioning Devices==&lt;br /&gt;
&lt;br /&gt;
Be inclusive to cover/include the touchpad.&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Komodo_New_Project&amp;diff=18651</id>
		<title>Komodo New Project</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Komodo_New_Project&amp;diff=18651"/>
		<updated>2011-09-17T01:17:37Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creating a new project is pretty straight forward in Komodo and the whole process is automated.&lt;br /&gt;
&lt;br /&gt;
'''Step 1.''' Click the Drop down on the far left of the webOS Tab ([[Image:Komodo_Page_White_Arrowdown.png]]).&lt;br /&gt;
&lt;br /&gt;
'''Step 2.''' Select New Project ([[Image:Komodo_Folder_Pre_Add.png]]).&lt;br /&gt;
&lt;br /&gt;
'''Step 3.''' Select a Empty folder in which to place the project (Ex. &amp;quot;documents/projects/com.domain.myapp/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
'''Step 4.''' Fill in the various data asked for. The defaults are probably what you want for everything below the &amp;quot;main&amp;quot; textbox.&lt;br /&gt;
&lt;br /&gt;
[[Image:Komodo_New_Project.png|frame|none|New Project Screen Expanded (you will probably have a scroll bar)]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Buy_levitra_100mg_cheap_-_purchase_levitra_20mg_online_-_levitra_and_valium_taking_together&amp;diff=18649</id>
		<title>Buy levitra 100mg cheap - purchase levitra 20mg online - levitra and valium taking together</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Buy_levitra_100mg_cheap_-_purchase_levitra_20mg_online_-_levitra_and_valium_taking_together&amp;diff=18649"/>
		<updated>2011-09-17T01:15:16Z</updated>

		<summary type="html">&lt;p&gt;101pre: delete this page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;delete this page&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Govnah-FR&amp;diff=18647</id>
		<title>Application:Govnah-FR</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Govnah-FR&amp;diff=18647"/>
		<updated>2011-09-17T01:12:27Z</updated>

		<summary type="html">&lt;p&gt;101pre: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Application]]&lt;br /&gt;
[[Category:French]]&lt;br /&gt;
&lt;br /&gt;
: [[Image:France.png]] [[Application:Govnah-FR]] '''Attention : cette page est la traduction en français de la page anglaise du wiki : http://www.webos-internals.org/index.php?title=Application:Govnah &lt;br /&gt;
: [[Image:Australia.png]] [[Image:USA.png]] '''Note : this page/article is the french translation of the english wiki page : [[Application:Govnah]]&lt;br /&gt;
&lt;br /&gt;
Veuillez vous référer à la page anglaise pour avoir les informations les plus à jour'''&lt;br /&gt;
&lt;br /&gt;
{{application&lt;br /&gt;
|name=Govnah&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: 0.6.8 &amp;lt;br /&amp;gt;(10 septembre 2010)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=Govnah-main-FR.png&lt;br /&gt;
|description=}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Résumé =&lt;br /&gt;
&lt;br /&gt;
[[image:Icon_WebOSInternals_Govnah.png|frameless|right]]&lt;br /&gt;
Les noyaux avancés de Linux pour webOS fournissent des mécanismes pour contrôler les différents paramètres de fonctionnement de l'appareil tels que la vitesse d'horloge. Ces noyaux Linux exposent un ou plusieurs &amp;quot;governors&amp;quot; qui permettent de contrôler ces paramètres. Un exemple d'un tel noyau Linux est [[Application:UberKernel|UberKernel]]. Cette application est disponible via [[Application:Preware-FR]].&lt;br /&gt;
&lt;br /&gt;
=== But ===&lt;br /&gt;
&lt;br /&gt;
L'application ''Govnah'' fait deux choses:&lt;br /&gt;
:* Elle fournit un graphique en temps réel de la vitesse du processeur, de la température du processeur, de l'utilisation de la mémoire et de la charge du système&lt;br /&gt;
:* Elle fournit aussi un mécanisme qui permet de régler les paramètres des &amp;quot;governors&amp;quot; exposés par le noyau Linux et de faire la configuration d'autres options du noyau Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Exemples dans le monde réel ===&lt;br /&gt;
&lt;br /&gt;
Le noyau Uber-Kernel expose un 'governor' appelé ''à la demande (on-demand)''. Le &amp;quot;governor&amp;quot; à la demande permet d'augmenter et de réduire la vitesse d'horloge en fonction du pourcentage d'utilisation du processeur. &lt;br /&gt;
&lt;br /&gt;
Le &amp;quot;governor&amp;quot; ''à la demande'' expose les paramètres suivants qui peuvent être paramétrés par Govnah:&lt;br /&gt;
:* scaling_max_freq - Réglage de la fréquence de votre processeur au maximum de ce qui est possible.&lt;br /&gt;
:* scaling_min_freq - Meme chose que scaling_max_freq mais dans le sens opposé avec le paramétrage d'une valeur minimum.&lt;br /&gt;
:* sampling_rate - Paramètre l'intervalle de temps après lequel vous voulez que le noyau Linux vérifie l'utilisation du processeur (en microsecondes) En général, cela est fixé à des valeurs de 10000 ou plus.&lt;br /&gt;
:* up_threshold -  Ce paramètre permet de définir l'augmentation moyenne du pourcentage d'utilisation du processeur entre les mesures réalisées par le noyau Linux afin de décider d'augmenter la fréquence du CPU.&lt;br /&gt;
:* ignore_nice_load - Si le paramètre est mis à '0' (par défaut), tous les processus sont pris en compte pour la valeur d' 'utilisation du processeur'. Lorsqu'il est réglé à '1', les processus qui sont exécutés avec une valeur de type 'nice' (bon) ne comptent pas (et donc peuvent être ignorée) dans le calcul de l'utilisation globale. &lt;br /&gt;
:* powersave_bias - Ce paramètre modifie le comportement du &amp;quot;governor&amp;quot; à la demande (ondemand) pour sauvegarder le plus de puissance possible en réduisant la fréquence cible suivant un pourcentage déterminé. La pente ou pas est en dixièmes de pour cent (0 à 1000). Une valeur de 100 se traduira par une augmentation modeste de 10% de la vitesse du processeur pour une utilisation donnée alors qu'une valeur de 0 n'entraîne aucune augmentation.&lt;br /&gt;
&lt;br /&gt;
Chaque &amp;quot;Governor&amp;quot; dans le noyau Linux indique à ''Govnah''quels sont les paramètres dans le noyau Linux qu'il est possible de paramétrer et peut dire aussi quelles sont les limites de ces paramètres.&lt;br /&gt;
&lt;br /&gt;
=== Governors actuels===&lt;br /&gt;
&lt;br /&gt;
Les governors actuels qui sont disponibles dans le noyau Linux Uber-Kernel et qui sont supportés par Govnah sont : &lt;br /&gt;
&lt;br /&gt;
:* On-demand (à la demande) - décrit ci-dessus, augmente la vitesse d'horloge, en réponse à l'augmentation de la charge du processeur.&lt;br /&gt;
:* Conservative (conservateur) - le contraire de On-demand (à la demande), Conservative (conservateur) diminue la vitesse de l'horloge du processeur en réponse à une diminution de la charge du processeur. &lt;br /&gt;
:* Userspace - paramètre la vitesse du processeur à une vitesse définie qui a été choisi par LunaSysMgr&lt;br /&gt;
:* powersave - paramètre la vitesse du processeur à la valeur minimale de la fréquence&lt;br /&gt;
:* performance - paramètre la vitesse du processeur à la valeur maximale de la fréquence&lt;br /&gt;
:* screenstate - fait fonctionner le processeur à une vitesse plus élevée lorsque l'écran est allumé et à 500MHz lorsque l'écran est éteint &lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
Le guide suivant suppose que vous utilisez un Palm Pre/Pre+ qui a noyau Linux d'origine de webOS 1.4.1.1 et pas de patches d'overclocking.&lt;br /&gt;
&lt;br /&gt;
#Sur l'écran d'accueil de Preware, tapez &amp;quot;Gov&amp;quot; et appuyez sur Entrée.&lt;br /&gt;
#Sélectionnez &amp;quot;Govnah&amp;quot; et &amp;quot;Installer&amp;quot;&lt;br /&gt;
#Si vous n'avez pas encore installé un &amp;quot;Noyau (Kernel)&amp;quot;, sur l'écran d'accueil Preware, tapez &amp;quot;uber&amp;quot; et appuyez sur Entrée.&lt;br /&gt;
#Sélectionnez &amp;quot;[[Application:UberKernel|UberKernel (Palm Pre/Pre+)]]&amp;quot; et &amp;quot;Installet&amp;quot;&lt;br /&gt;
#Redémarrez votre téléphone lorsque celà vous est demandé&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
= Usage rapide =&lt;br /&gt;
&lt;br /&gt;
=== Par où commencer ===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapProfile-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Pour commencer à accéder à la puissance du contrôle de Govnah sur le noyau Linux, appuyez sur le texte &amp;quot;Profil&amp;quot; sur la ligne en haut de l'écran principal.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Profils ===&lt;br /&gt;
&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahTapAdvanced-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Voici la liste des profils stockés dans Govnah. Les profils sont un moyen simple pour stocker différents paramètres que vous souhaitez appliquer au moment du démarrage (boot). Vous avez la possibilité de stocker plusieurs profils différents pour tester les meilleurs réglages pour '''votre ''' utilisation. Appuyez sur le texte &amp;quot;Paramètres avancés&amp;quot; en haut de l'écran pour accéder aux paramètres individuels qui sont stockés dans le profil.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Paramètres avancées ===&lt;br /&gt;
&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahAdvSettings2-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Ceci est la liste des éléments configurables. Ils sont expliqués plus en détail ci-dessous. Vous êtes ''fortement''encouragés à lire sur ce que sont et font ces paramètres. Tous ne sont bénéfiques pour vous ou votre batterie. La plupart des valeurs par défaut sont un juste milieu entre les deux. Le principal changement est de &amp;quot;Fréquence processeur&amp;quot;. Tapez maintenant.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fréquence processeur ===&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCPUFreq-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|La première fois que vous démarrez votre Pré/Pixi après l'installation et Govnah et de UberKernel, il fonctionnera à 600MHz. C'est là que vous pouvez le pousser jusqu'à 800 MHz. Sélectionnez &amp;quot;800Mhz&amp;quot; dans la section &amp;quot;Freq Définie pour Définir vitesse (Set Speed)&amp;quot; et appuyez sur le bouton &amp;quot;Appliquer les paramètres&amp;quot; en bas de la page. Votre téléphone fonctionnera immédiatement à 800Mhz. Dans la zone de gestes, le geste avec un glissement vers la gauche permet de revenir sur l'écran &amp;quot;Paramètres avancés&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Mémoire d'échange (compcache)===&lt;br /&gt;
&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahCompSwap-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|La mémoire d'échange (swap) compressé (compcache) est simplement une quantité de RAM (mémoire vive) qui est réservée à la compression des données chargées dans la mémoire vive (RAM) lorsque la quantité de mémoire vive (RAM) nécessaire dépasse l'espace disponible en mémoire. Dans un espace d'adressage mémoire précis (In a nut shell), celà permet d'offrir plus d'espace mémoire pour les données des applications doivent être chargée dans la mémoire vive (RAM). Ce compromis réduit légèrement les performances de la mémoire vive (RAM) pour ces données qui d'abord compressées et ensuite décompressées par rapport à une mémoire non compressée. Mais ce compromis permet un accès plus rapide aux données que si elles étaient stockées dans un espace de mémoire d'échange (swap) sur le disque de stockage interne (de mémoire). Pour utiliser cette fonctionnalité, vous devez d'abord définir la quantité d'espace mémoire qui sera réservée et ensuite permettre à compcache de basculer sur celle-ci. Puis cliquez ensuite sur le bouton &amp;quot;Appliquer paramètres&amp;quot; pour rendre ces paramètres actifs. Si vous désirez changer la quantité d'espace mémoire réservé une fois qu'il aura été rendu actif, vous devez désactiver compcache et cliquez ensuite sur le bouton &amp;quot;Appliquer paramètres&amp;quot;. Puis changez ensuite la quantité d'espace mémoire réservée, réactivez compcache et cliquez ensuite sur le bouton &amp;quot;Appliquer paramètres&amp;quot; pour rendre de nouveau ce réglage actif.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enregistrer votre profil ===&lt;br /&gt;
&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahSaveProfile-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Après avoir quitté l'étape précédente, vous avez fini par revenir à l'écran &amp;quot;Paramètres avancés&amp;quot; où le bouton &amp;quot;Enregistrer nouveau profil&amp;quot; est en bas de la page. C'est là que vous pouvez configurer votre Pre/Pixi pour le faire démarrer (boot) avec une vitesse plus rapide. Définissez le nom d'un profil personnalisé que vous souhaitez ici et appuyez sur le bouton &amp;quot;Enregistrer nouveau profil&amp;quot;. Dans la zone de gestes, le geste avec un glissement vers la gauche permet de revenir sur l'écran &amp;quot;Profils&amp;quot;.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gestion du profil ===&lt;br /&gt;
&lt;br /&gt;
{| Width=&amp;quot;61%&amp;quot; VAlign=&amp;quot;top&amp;quot;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[image:GovnahProfilesList-FR.png|160px|frameless|left|text-top]]&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|Comme vous pouvez le voir clairement, vous pouvez enregistrer plusieurs profils différents pour tester différents réglages afin de trouver celui qui vous convient le mieux et celui qui convient le mieux à vos habitudes d'utilisation afin de trouver le &amp;quot;juste milieu&amp;quot; entre la vitesse et les économies d'énergie sur la batterie. Vous seul pouvez trouver cela. Certaines [http://forums.precentral.net/webos-internals/244701-govnah.html personnes peuvent vous aider en suggérant] ce qui fonctionne pour eux, mais aucun des appareils n'est '''exactement'' le même.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Governors en profondeur =&lt;br /&gt;
&lt;br /&gt;
Liste détaillée de l'ensemble des Governors du noyau Linux avec une description et une explication du paramétrage de chacun d'entre eux.&lt;br /&gt;
Voir [http://www.webos-internals.org/index.php?title=Application:Govnah#Governors_In-Depth Governors In-Depth]&lt;br /&gt;
&lt;br /&gt;
= Note pour les développeurs =&lt;br /&gt;
&lt;br /&gt;
Voir [http://www.webos-internals.org/index.php?title=Application:Govnah#Developer_Notes Developer Notes]&lt;br /&gt;
&lt;br /&gt;
= Liens externes =&lt;br /&gt;
&lt;br /&gt;
* http://www.pantz.org/software/cpufreq/usingcpufreqonlinux.html&lt;br /&gt;
* http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=/liaai/cpufreq/TheOndemandGovernor.htm&lt;br /&gt;
* http://fasterdata.es.net/TCP-tuning/linux.html&lt;br /&gt;
* http://www.pdfgeni.com/book/Performance-analysis-of-loss-based-high-speed-TCP-congestion-control-algorithms-pdf.html - collection of documents on implementation of different IPv4 congestion control methods.&lt;br /&gt;
* http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt - Kernel documentation for the standard Linux CPU frequency governors&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Category:Application&amp;diff=18645</id>
		<title>Category:Application</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Category:Application&amp;diff=18645"/>
		<updated>2011-09-17T01:08:04Z</updated>

		<summary type="html">&lt;p&gt;101pre: Applications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Applications&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=User:101pre&amp;diff=18591</id>
		<title>User:101pre</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=User:101pre&amp;diff=18591"/>
		<updated>2011-09-16T01:53:02Z</updated>

		<summary type="html">&lt;p&gt;101pre: hate red links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;101pre&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Talk:Lighttpd&amp;diff=18589</id>
		<title>Talk:Lighttpd</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Talk:Lighttpd&amp;diff=18589"/>
		<updated>2011-09-16T01:51:07Z</updated>

		<summary type="html">&lt;p&gt;101pre: Autostart ssh and lighty demons&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Autostart ssh and lighty demons==&lt;br /&gt;
*[http://webos-dafyddg.tumblr.com/ Autostart ssh and lighty demons], scroll down the page&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Lighty&amp;diff=18585</id>
		<title>Lighty</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Lighty&amp;diff=18585"/>
		<updated>2011-09-16T01:48:50Z</updated>

		<summary type="html">&lt;p&gt;101pre: redirect to Lighttpd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lighttpd]]&lt;/div&gt;</summary>
		<author><name>101pre</name></author>
	</entry>
</feed>