<?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=Sacherjj</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=Sacherjj"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Sacherjj"/>
	<updated>2026-05-01T20:55:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10453</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10453"/>
		<updated>2010-07-10T01:23:04Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: /* Verify sh shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&lt;br /&gt;
If setting up in a Virtual Box instance, it is recommended that you first complete the openSSH config as described in the VirtualBox tips for Windows users to the right.  This is helpful even with a Linux host, as SSH into the PDK Virtual Machine will allow copy and paste of the commands listed below and reduce errors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
====Verify sh shell====&lt;br /&gt;
On Ubuntu /bin/sh is a symbolic link to dash.  This will cause errors with the make stage command below, as some of the scripts assume bash.  Run the following command to see what shell sh is linked to.&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
If the result is a link to dash:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
You will want to correct it with the following:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  Rerun the command to verify:&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
You should now see:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
Go back through the Verify sh shell section above to correct.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10452</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10452"/>
		<updated>2010-07-10T01:21:17Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: /* Installation on Ubuntu for WebOS PDK cross compiling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&lt;br /&gt;
If setting up in a Virtual Box instance, it is recommended that you first complete the openSSH config as described in the VirtualBox tips for Windows users to the right.  This is helpful even with a Linux host, as SSH into the PDK Virtual Machine will allow copy and paste of the commands listed below and reduce errors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
====Verify sh shell====&lt;br /&gt;
On Ubuntu /bin/sh is a symbolic link to dash.  This will cause errors with the make stage command below, as some of the scripts assume bash.&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
If the result is a link to dash:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
You will want to correct it with the following:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  Rerun this command to verify:&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
You should now see:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
Go back through the Verify sh shell section above to correct.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10451</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10451"/>
		<updated>2010-07-10T01:20:24Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: /* Installation on Ubuntu for WebOS PDK cross compiling */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&lt;br /&gt;
If setting up in a Virtual Box instance, it is recommended that you first complete the openSSH config as described in the Ubuntu VM notes for Windows users to the right.  This is helpful even with a Linux host, as SSH into the PDK Virtual Machine will allow copy and paste of the commands listed below and reduce errors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
====Verify sh shell====&lt;br /&gt;
On Ubuntu /bin/sh is a symbolic link to dash.  This will cause errors with the make stage command below, as some of the scripts assume bash.&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
If the result is a link to dash:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
You will want to correct it with the following:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  Rerun this command to verify:&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
You should now see:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
Go back through the Verify sh shell section above to correct.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10450</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10450"/>
		<updated>2010-07-10T01:16:10Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: Added Verify sh shell section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
====Verify sh shell====&lt;br /&gt;
On Ubuntu /bin/sh is a symbolic link to dash.  This will cause errors with the make stage command below, as some of the scripts assume bash.&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
If the result is a link to dash:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
You will want to correct it with the following:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  Rerun this command to verify:&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
You should now see:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
Go back through the Verify sh shell section above to correct.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10445</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10445"/>
		<updated>2010-07-08T02:34:45Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: /* /bin/sh errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On Ubuntu 9.10 Server, this can be corrected by running: sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  This should allow &amp;quot;make stage&amp;quot; to not get the &amp;quot;bad fd number&amp;quot; error.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Precorder&amp;diff=7585</id>
		<title>Application:Precorder</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Precorder&amp;diff=7585"/>
		<updated>2009-12-01T19:32:17Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: Updated First Screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=Precorder&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: Alpha 0.3.0 &amp;lt;br /&amp;gt;(26 Nov 2009)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=Precorder_2009-01-12_141733.png&lt;br /&gt;
|description=&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
Precorder has been developed to bridge the gap between the current revision of WebOS and a future release that will enable video recording.  It is capable of recording in multiple combinations of audio and video and includes support for using the built-in LED for lumination while recording in dark areas.  Video recorded with Precorder is viewable through Palms built in video application.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Precorder is ALPHA SOFTWARE developed primarily by ZSoc of WebOS Internals with assistance from a number of other developers (as listed in the Maintainers field in the package metadata).&lt;br /&gt;
&lt;br /&gt;
It does not have a viewfinder, cause we technically do not know how to do that (yet?).&lt;br /&gt;
&lt;br /&gt;
== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
Even though Precorder in alpha state is not available for download in Preware (it will be when it goes into beta), once you install Precorder it appears in the Installed Packages section and you can see the package changelogs there.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
&lt;br /&gt;
Please see the official PreCentral thread first post at http://forums.precentral.net/2059462-post1.html for the donation link.  Since this is a wiki that anyone can edit, we do not put the donation link here.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Note that you cannot install the packages using any other method than the methods below.  Specifically, fileCoaster is not able to install these packages.&lt;br /&gt;
&lt;br /&gt;
=== Preware ===&lt;br /&gt;
&lt;br /&gt;
Precorder will be added to Preware once it reaches beta status.  Until then, please use the Precorder bootstrap script.&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap Script ===&lt;br /&gt;
&lt;br /&gt;
The easiest (and guaranteed to always be up to date) method of installing the latest packages via the precorder bootstrap script.&lt;br /&gt;
&lt;br /&gt;
Just run the following two commands on your Pre.  You can get a command line either via the Terminal application in Preware, or by an SSH connection, or by using the Linux commandline window in WebOS Quick Install.  The precorder bootstrap can also be re-run at any time to safely update Precorder to the latest alpha testing version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
rm -f precorder-bootstrap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://bit.ly/precorder-bootstrap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sh precorder-bootstrap&lt;br /&gt;
&lt;br /&gt;
=== WebOS Quick Install ===&lt;br /&gt;
&lt;br /&gt;
If you can't use the precorder bootstrap script for some reason, you can also use the following links to download the individual packages and install them with WebOS Quick Install.  Note that these links will quickly get out of date, so please use the precorder bootstrap to always get the latest alpha testing version.&lt;br /&gt;
&lt;br /&gt;
Note that to be able to use WebOS Quick Install to install Precorder, you must first have installed Preware on your device.  See http://install.preware.org for instructions on how to do that.  When Precorder reaches beta status, you will be able to install, update and remove the packages directly in Preware.&lt;br /&gt;
&lt;br /&gt;
You can install the GstService ([http://ipkg.preware.org/feeds/webos-internals/testing/armv7/org.webosinternals.gstservice_0.3.0_armv7.ipk Pre] or [http://ipkg.preware.org/feeds/webos-internals/testing/armv6/org.webosinternals.gstservice_0.3.0_armv6.ipk Pixi]) and [http://ipkg.preware.org/feeds/webos-internals/testing/all/org.webosinternals.precorder_0.3.0_all.ipk Precorder] ipkg files with [http://www.webos-internals.org/wiki/Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method WebOS Quick Install]. (Note that these links may be out of date if we forget to update them every time we release a new version)&lt;br /&gt;
&lt;br /&gt;
# Save the gstservice and and Precorder ipk's to your local computer.&lt;br /&gt;
# Install [[Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method|WebOS Quick Install]]&lt;br /&gt;
# Drag the gstservice IPK into the center of the WebOS Quick install window.&lt;br /&gt;
# Click the Install button.&lt;br /&gt;
# Drag the Precorder application ipk into the center of the WebOS Quick Install window.&lt;br /&gt;
# Click the install button.&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
The GStreamer Service package is MIT Open Source licensed.  The Precorder application is GPLv2 Open Source licensed.&lt;br /&gt;
&lt;br /&gt;
== Operating notes ==&lt;br /&gt;
&lt;br /&gt;
When precorder is first launched you will see the main screen.  Only one button is currently functional.  Tapping the 'Record Now' button will begin recording video to the /media/internal location on the pre making these videos available to be copied via USB.  They will be located in the root of the USB drive when connected to your computer.&lt;br /&gt;
=== Viewfinder ===&lt;br /&gt;
Note that you are not able to see the video as it is recording. There is no viewfinder.  It is currently technically infeasible to create a viewfinder (but maybe someone will work out how to do it). (For a description of why it is technically infeasible, and to make suggestions, ask questions, please see [http://www.webos-internals.org/wiki/Application_talk:Precorder#Viewfinder_discussion this section in the discussion page].) &lt;br /&gt;
=== Controls === &lt;br /&gt;
When you tap the 'Record Now' button the screen will change to notify you that Precorder is currently capturing audio and video.  There is a 'Stop recording' button located on the screen.  Tapping this button stops the audio/video capture and returns you to the main view.&lt;br /&gt;
=== Customization ===&lt;br /&gt;
There are several features of Precorder that can be customized.  All of these settings are available via the preferences option within the Precorder menu.  The table below lists all possible preferences.  Options in bold represent defaults.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Table&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;
{{{!}} border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
{{!}}Option&lt;br /&gt;
{{!}}Description&lt;br /&gt;
{{!}}Possible Selections&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Audio Format&lt;br /&gt;
{{!}}Select what format you would like the audio stream to be saved in.&lt;br /&gt;
{{!}}'''AAC''', AMRNB, MP3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Video Format&lt;br /&gt;
{{!}}Select what format you would like the video stream to be saved in.&lt;br /&gt;
{{!}}Mpeg-4, H.263, '''H.264/AVC'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Container&lt;br /&gt;
{{!}}Select what multimedia container the audio/video streams will be in.&lt;br /&gt;
{{!}}'''mp4''', 3gp&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Media Source&lt;br /&gt;
{{!}}What would you like Precorder to capture?&lt;br /&gt;
{{!}}Audio only, Video only, '''Both'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Flash&lt;br /&gt;
{{!}}Would you like to use the built in LED for illumination?&lt;br /&gt;
{{!}}'''Off''', Low, Medium, High&lt;br /&gt;
{{!}}}&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recent enhancements ===&lt;br /&gt;
&lt;br /&gt;
'''0.3.0'''&lt;br /&gt;
*LED brightness now selectable&lt;br /&gt;
*Launch button added to launch video player&lt;br /&gt;
*Videos now are saved in /media/internal/video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''0.2.3'''&lt;br /&gt;
*fixed css bug (correctly pushing the record button to the bottom of the screen)&lt;br /&gt;
*added icon for launcher&lt;br /&gt;
&lt;br /&gt;
=== Known bugs ===&lt;br /&gt;
&lt;br /&gt;
Precorder is currently in Alpha stages and as such is in a constant state of flux with new features being added and old functionality being modified.  Please use this software at your own risk.  Due to the alpha nature of the software, please check the discussion page for a more accurate list of bugs and/or feature requests.&lt;br /&gt;
&lt;br /&gt;
*First run on any phone will cause a blank output.&lt;br /&gt;
**Simply start recording, wait a moment, and stop recording, wait a moment. After that, it should be fine.&lt;br /&gt;
&lt;br /&gt;
*Getting the video light to work may cause 2 starts. Should be a 1-time-only process.&lt;br /&gt;
*2 minute limitation of recording. Once the video hits 2 minutes, the video data is lost and outputs a blank file.&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Source at git.webos-internals.org&lt;br /&gt;
&lt;br /&gt;
Packages in the webos-internals testing feed&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Precorder 2009-01-12 141733.png‎|alt=Precorder Main View|This is the initial view upon launching Precorder]]&lt;br /&gt;
[[Image:Precorder 2009-01-12 141738.png|alt=Precorder Recording View|This is the display during audio/video capture]]&lt;br /&gt;
[[Image:Precorder_2009-01-12_141805.png|alt=Precorder Preferences View|This is the preferences selection screen]]&lt;br /&gt;
[[Image:Precorder_2009-01-12_141742.png|alt=Precorder Finished Recording View|Button at top now allow opening the recorded file directly]]&lt;br /&gt;
[[Image:Launcher_2009-24-11_164206.png|alt=Palm OEM video app|All videos are viewable on the device via the Palm OEM video application]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Precorder&amp;diff=7584</id>
		<title>Application:Precorder</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Precorder&amp;diff=7584"/>
		<updated>2009-12-01T19:31:28Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: Added Post Recording Screen Grab&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=Precorder&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: Alpha 0.3.0 &amp;lt;br /&amp;gt;(26 Nov 2009)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=Precorder_2009-24-11_164136.png&lt;br /&gt;
|description=&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
Precorder has been developed to bridge the gap between the current revision of WebOS and a future release that will enable video recording.  It is capable of recording in multiple combinations of audio and video and includes support for using the built-in LED for lumination while recording in dark areas.  Video recorded with Precorder is viewable through Palms built in video application.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Precorder is ALPHA SOFTWARE developed primarily by ZSoc of WebOS Internals with assistance from a number of other developers (as listed in the Maintainers field in the package metadata).&lt;br /&gt;
&lt;br /&gt;
It does not have a viewfinder, cause we technically do not know how to do that (yet?).&lt;br /&gt;
&lt;br /&gt;
== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
Even though Precorder in alpha state is not available for download in Preware (it will be when it goes into beta), once you install Precorder it appears in the Installed Packages section and you can see the package changelogs there.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
&lt;br /&gt;
Please see the official PreCentral thread first post at http://forums.precentral.net/2059462-post1.html for the donation link.  Since this is a wiki that anyone can edit, we do not put the donation link here.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Note that you cannot install the packages using any other method than the methods below.  Specifically, fileCoaster is not able to install these packages.&lt;br /&gt;
&lt;br /&gt;
=== Preware ===&lt;br /&gt;
&lt;br /&gt;
Precorder will be added to Preware once it reaches beta status.  Until then, please use the Precorder bootstrap script.&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap Script ===&lt;br /&gt;
&lt;br /&gt;
The easiest (and guaranteed to always be up to date) method of installing the latest packages via the precorder bootstrap script.&lt;br /&gt;
&lt;br /&gt;
Just run the following two commands on your Pre.  You can get a command line either via the Terminal application in Preware, or by an SSH connection, or by using the Linux commandline window in WebOS Quick Install.  The precorder bootstrap can also be re-run at any time to safely update Precorder to the latest alpha testing version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
rm -f precorder-bootstrap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://bit.ly/precorder-bootstrap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sh precorder-bootstrap&lt;br /&gt;
&lt;br /&gt;
=== WebOS Quick Install ===&lt;br /&gt;
&lt;br /&gt;
If you can't use the precorder bootstrap script for some reason, you can also use the following links to download the individual packages and install them with WebOS Quick Install.  Note that these links will quickly get out of date, so please use the precorder bootstrap to always get the latest alpha testing version.&lt;br /&gt;
&lt;br /&gt;
Note that to be able to use WebOS Quick Install to install Precorder, you must first have installed Preware on your device.  See http://install.preware.org for instructions on how to do that.  When Precorder reaches beta status, you will be able to install, update and remove the packages directly in Preware.&lt;br /&gt;
&lt;br /&gt;
You can install the GstService ([http://ipkg.preware.org/feeds/webos-internals/testing/armv7/org.webosinternals.gstservice_0.3.0_armv7.ipk Pre] or [http://ipkg.preware.org/feeds/webos-internals/testing/armv6/org.webosinternals.gstservice_0.3.0_armv6.ipk Pixi]) and [http://ipkg.preware.org/feeds/webos-internals/testing/all/org.webosinternals.precorder_0.3.0_all.ipk Precorder] ipkg files with [http://www.webos-internals.org/wiki/Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method WebOS Quick Install]. (Note that these links may be out of date if we forget to update them every time we release a new version)&lt;br /&gt;
&lt;br /&gt;
# Save the gstservice and and Precorder ipk's to your local computer.&lt;br /&gt;
# Install [[Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method|WebOS Quick Install]]&lt;br /&gt;
# Drag the gstservice IPK into the center of the WebOS Quick install window.&lt;br /&gt;
# Click the Install button.&lt;br /&gt;
# Drag the Precorder application ipk into the center of the WebOS Quick Install window.&lt;br /&gt;
# Click the install button.&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
The GStreamer Service package is MIT Open Source licensed.  The Precorder application is GPLv2 Open Source licensed.&lt;br /&gt;
&lt;br /&gt;
== Operating notes ==&lt;br /&gt;
&lt;br /&gt;
When precorder is first launched you will see the main screen.  Only one button is currently functional.  Tapping the 'Record Now' button will begin recording video to the /media/internal location on the pre making these videos available to be copied via USB.  They will be located in the root of the USB drive when connected to your computer.&lt;br /&gt;
=== Viewfinder ===&lt;br /&gt;
Note that you are not able to see the video as it is recording. There is no viewfinder.  It is currently technically infeasible to create a viewfinder (but maybe someone will work out how to do it). (For a description of why it is technically infeasible, and to make suggestions, ask questions, please see [http://www.webos-internals.org/wiki/Application_talk:Precorder#Viewfinder_discussion this section in the discussion page].) &lt;br /&gt;
=== Controls === &lt;br /&gt;
When you tap the 'Record Now' button the screen will change to notify you that Precorder is currently capturing audio and video.  There is a 'Stop recording' button located on the screen.  Tapping this button stops the audio/video capture and returns you to the main view.&lt;br /&gt;
=== Customization ===&lt;br /&gt;
There are several features of Precorder that can be customized.  All of these settings are available via the preferences option within the Precorder menu.  The table below lists all possible preferences.  Options in bold represent defaults.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Table&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;
{{{!}} border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
{{!}}Option&lt;br /&gt;
{{!}}Description&lt;br /&gt;
{{!}}Possible Selections&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Audio Format&lt;br /&gt;
{{!}}Select what format you would like the audio stream to be saved in.&lt;br /&gt;
{{!}}'''AAC''', AMRNB, MP3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Video Format&lt;br /&gt;
{{!}}Select what format you would like the video stream to be saved in.&lt;br /&gt;
{{!}}Mpeg-4, H.263, '''H.264/AVC'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Container&lt;br /&gt;
{{!}}Select what multimedia container the audio/video streams will be in.&lt;br /&gt;
{{!}}'''mp4''', 3gp&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Media Source&lt;br /&gt;
{{!}}What would you like Precorder to capture?&lt;br /&gt;
{{!}}Audio only, Video only, '''Both'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Flash&lt;br /&gt;
{{!}}Would you like to use the built in LED for illumination?&lt;br /&gt;
{{!}}'''Off''', Low, Medium, High&lt;br /&gt;
{{!}}}&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recent enhancements ===&lt;br /&gt;
&lt;br /&gt;
'''0.3.0'''&lt;br /&gt;
*LED brightness now selectable&lt;br /&gt;
*Launch button added to launch video player&lt;br /&gt;
*Videos now are saved in /media/internal/video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''0.2.3'''&lt;br /&gt;
*fixed css bug (correctly pushing the record button to the bottom of the screen)&lt;br /&gt;
*added icon for launcher&lt;br /&gt;
&lt;br /&gt;
=== Known bugs ===&lt;br /&gt;
&lt;br /&gt;
Precorder is currently in Alpha stages and as such is in a constant state of flux with new features being added and old functionality being modified.  Please use this software at your own risk.  Due to the alpha nature of the software, please check the discussion page for a more accurate list of bugs and/or feature requests.&lt;br /&gt;
&lt;br /&gt;
*First run on any phone will cause a blank output.&lt;br /&gt;
**Simply start recording, wait a moment, and stop recording, wait a moment. After that, it should be fine.&lt;br /&gt;
&lt;br /&gt;
*Getting the video light to work may cause 2 starts. Should be a 1-time-only process.&lt;br /&gt;
*2 minute limitation of recording. Once the video hits 2 minutes, the video data is lost and outputs a blank file.&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Source at git.webos-internals.org&lt;br /&gt;
&lt;br /&gt;
Packages in the webos-internals testing feed&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Precorder 2009-01-12 141733.png‎|alt=Precorder Main View|This is the initial view upon launching Precorder]]&lt;br /&gt;
[[Image:Precorder 2009-01-12 141738.png|alt=Precorder Recording View|This is the display during audio/video capture]]&lt;br /&gt;
[[Image:Precorder_2009-01-12_141805.png|alt=Precorder Preferences View|This is the preferences selection screen]]&lt;br /&gt;
[[Image:Precorder_2009-01-12_141742.png|alt=Precorder Finished Recording View|Button at top now allow opening the recorded file directly]]&lt;br /&gt;
[[Image:Launcher_2009-24-11_164206.png|alt=Palm OEM video app|All videos are viewable on the device via the Palm OEM video application]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141742.png&amp;diff=7583</id>
		<title>File:Precorder 2009-01-12 141742.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141742.png&amp;diff=7583"/>
		<updated>2009-12-01T19:30:00Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Precorder&amp;diff=7582</id>
		<title>Application:Precorder</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Precorder&amp;diff=7582"/>
		<updated>2009-12-01T19:27:41Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: Updated Screengrabs to Newest Version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{application&lt;br /&gt;
|name=Precorder&lt;br /&gt;
|type=webOS&lt;br /&gt;
|version=Version: Alpha 0.3.0 &amp;lt;br /&amp;gt;(26 Nov 2009)&lt;br /&gt;
|tag=Utilities&lt;br /&gt;
|screenshot=Precorder_2009-24-11_164136.png&lt;br /&gt;
|description=&lt;br /&gt;
&lt;br /&gt;
== Summary == &lt;br /&gt;
&lt;br /&gt;
Precorder has been developed to bridge the gap between the current revision of WebOS and a future release that will enable video recording.  It is capable of recording in multiple combinations of audio and video and includes support for using the built-in LED for lumination while recording in dark areas.  Video recorded with Precorder is viewable through Palms built in video application.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
Precorder is ALPHA SOFTWARE developed primarily by ZSoc of WebOS Internals with assistance from a number of other developers (as listed in the Maintainers field in the package metadata).&lt;br /&gt;
&lt;br /&gt;
It does not have a viewfinder, cause we technically do not know how to do that (yet?).&lt;br /&gt;
&lt;br /&gt;
== Recent Changes ==&lt;br /&gt;
&lt;br /&gt;
Even though Precorder in alpha state is not available for download in Preware (it will be when it goes into beta), once you install Precorder it appears in the Installed Packages section and you can see the package changelogs there.&lt;br /&gt;
&lt;br /&gt;
== Donations ==&lt;br /&gt;
&lt;br /&gt;
Please see the official PreCentral thread first post at http://forums.precentral.net/2059462-post1.html for the donation link.  Since this is a wiki that anyone can edit, we do not put the donation link here.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
Note that you cannot install the packages using any other method than the methods below.  Specifically, fileCoaster is not able to install these packages.&lt;br /&gt;
&lt;br /&gt;
=== Preware ===&lt;br /&gt;
&lt;br /&gt;
Precorder will be added to Preware once it reaches beta status.  Until then, please use the Precorder bootstrap script.&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap Script ===&lt;br /&gt;
&lt;br /&gt;
The easiest (and guaranteed to always be up to date) method of installing the latest packages via the precorder bootstrap script.&lt;br /&gt;
&lt;br /&gt;
Just run the following two commands on your Pre.  You can get a command line either via the Terminal application in Preware, or by an SSH connection, or by using the Linux commandline window in WebOS Quick Install.  The precorder bootstrap can also be re-run at any time to safely update Precorder to the latest alpha testing version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
rm -f precorder-bootstrap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://bit.ly/precorder-bootstrap&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sh precorder-bootstrap&lt;br /&gt;
&lt;br /&gt;
=== WebOS Quick Install ===&lt;br /&gt;
&lt;br /&gt;
If you can't use the precorder bootstrap script for some reason, you can also use the following links to download the individual packages and install them with WebOS Quick Install.  Note that these links will quickly get out of date, so please use the precorder bootstrap to always get the latest alpha testing version.&lt;br /&gt;
&lt;br /&gt;
Note that to be able to use WebOS Quick Install to install Precorder, you must first have installed Preware on your device.  See http://install.preware.org for instructions on how to do that.  When Precorder reaches beta status, you will be able to install, update and remove the packages directly in Preware.&lt;br /&gt;
&lt;br /&gt;
You can install the GstService ([http://ipkg.preware.org/feeds/webos-internals/testing/armv7/org.webosinternals.gstservice_0.3.0_armv7.ipk Pre] or [http://ipkg.preware.org/feeds/webos-internals/testing/armv6/org.webosinternals.gstservice_0.3.0_armv6.ipk Pixi]) and [http://ipkg.preware.org/feeds/webos-internals/testing/all/org.webosinternals.precorder_0.3.0_all.ipk Precorder] ipkg files with [http://www.webos-internals.org/wiki/Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method WebOS Quick Install]. (Note that these links may be out of date if we forget to update them every time we release a new version)&lt;br /&gt;
&lt;br /&gt;
# Save the gstservice and and Precorder ipk's to your local computer.&lt;br /&gt;
# Install [[Tutorials_webOS_Installing_An_Ipk#WebOS_Quick_Install_Method|WebOS Quick Install]]&lt;br /&gt;
# Drag the gstservice IPK into the center of the WebOS Quick install window.&lt;br /&gt;
# Click the Install button.&lt;br /&gt;
# Drag the Precorder application ipk into the center of the WebOS Quick Install window.&lt;br /&gt;
# Click the install button.&lt;br /&gt;
&lt;br /&gt;
== License ==&lt;br /&gt;
&lt;br /&gt;
The GStreamer Service package is MIT Open Source licensed.  The Precorder application is GPLv2 Open Source licensed.&lt;br /&gt;
&lt;br /&gt;
== Operating notes ==&lt;br /&gt;
&lt;br /&gt;
When precorder is first launched you will see the main screen.  Only one button is currently functional.  Tapping the 'Record Now' button will begin recording video to the /media/internal location on the pre making these videos available to be copied via USB.  They will be located in the root of the USB drive when connected to your computer.&lt;br /&gt;
=== Viewfinder ===&lt;br /&gt;
Note that you are not able to see the video as it is recording. There is no viewfinder.  It is currently technically infeasible to create a viewfinder (but maybe someone will work out how to do it). (For a description of why it is technically infeasible, and to make suggestions, ask questions, please see [http://www.webos-internals.org/wiki/Application_talk:Precorder#Viewfinder_discussion this section in the discussion page].) &lt;br /&gt;
=== Controls === &lt;br /&gt;
When you tap the 'Record Now' button the screen will change to notify you that Precorder is currently capturing audio and video.  There is a 'Stop recording' button located on the screen.  Tapping this button stops the audio/video capture and returns you to the main view.&lt;br /&gt;
=== Customization ===&lt;br /&gt;
There are several features of Precorder that can be customized.  All of these settings are available via the preferences option within the Precorder menu.  The table below lists all possible preferences.  Options in bold represent defaults.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;Table&amp;gt;&amp;lt;TR&amp;gt;&amp;lt;TD&amp;gt;&lt;br /&gt;
{{{!}} border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
{{!}}Option&lt;br /&gt;
{{!}}Description&lt;br /&gt;
{{!}}Possible Selections&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Audio Format&lt;br /&gt;
{{!}}Select what format you would like the audio stream to be saved in.&lt;br /&gt;
{{!}}'''AAC''', AMRNB, MP3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Video Format&lt;br /&gt;
{{!}}Select what format you would like the video stream to be saved in.&lt;br /&gt;
{{!}}Mpeg-4, H.263, '''H.264/AVC'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Container&lt;br /&gt;
{{!}}Select what multimedia container the audio/video streams will be in.&lt;br /&gt;
{{!}}'''mp4''', 3gp&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Media Source&lt;br /&gt;
{{!}}What would you like Precorder to capture?&lt;br /&gt;
{{!}}Audio only, Video only, '''Both'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Flash&lt;br /&gt;
{{!}}Would you like to use the built in LED for illumination?&lt;br /&gt;
{{!}}'''Off''', Low, Medium, High&lt;br /&gt;
{{!}}}&lt;br /&gt;
&amp;lt;/TD&amp;gt;&amp;lt;/TR&amp;gt;&amp;lt;/Table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recent enhancements ===&lt;br /&gt;
&lt;br /&gt;
'''0.3.0'''&lt;br /&gt;
*LED brightness now selectable&lt;br /&gt;
*Launch button added to launch video player&lt;br /&gt;
*Videos now are saved in /media/internal/video&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''0.2.3'''&lt;br /&gt;
*fixed css bug (correctly pushing the record button to the bottom of the screen)&lt;br /&gt;
*added icon for launcher&lt;br /&gt;
&lt;br /&gt;
=== Known bugs ===&lt;br /&gt;
&lt;br /&gt;
Precorder is currently in Alpha stages and as such is in a constant state of flux with new features being added and old functionality being modified.  Please use this software at your own risk.  Due to the alpha nature of the software, please check the discussion page for a more accurate list of bugs and/or feature requests.&lt;br /&gt;
&lt;br /&gt;
*First run on any phone will cause a blank output.&lt;br /&gt;
**Simply start recording, wait a moment, and stop recording, wait a moment. After that, it should be fine.&lt;br /&gt;
&lt;br /&gt;
*Getting the video light to work may cause 2 starts. Should be a 1-time-only process.&lt;br /&gt;
*2 minute limitation of recording. Once the video hits 2 minutes, the video data is lost and outputs a blank file.&lt;br /&gt;
&lt;br /&gt;
== Source Code ==&lt;br /&gt;
&lt;br /&gt;
Source at git.webos-internals.org&lt;br /&gt;
&lt;br /&gt;
Packages in the webos-internals testing feed&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Precorder 2009-01-12 141733.png‎|alt=Precorder Main View|This is the initial view upon launching Precorder]]&lt;br /&gt;
[[Image:Precorder 2009-01-12 141738.png|alt=Precorder Recording View|This is the display during audio/video capture]]&lt;br /&gt;
[[Image:Precorder_2009-01-12_141805.png|alt=Precorder Preferences View|This is the preferences selection screen]]&lt;br /&gt;
[[Image:Launcher_2009-24-11_164206.png|alt=Palm OEM video app|All videos are viewable on the device via the Palm OEM video application]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141805.png&amp;diff=7581</id>
		<title>File:Precorder 2009-01-12 141805.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141805.png&amp;diff=7581"/>
		<updated>2009-12-01T19:27:03Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141738.png&amp;diff=7580</id>
		<title>File:Precorder 2009-01-12 141738.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141738.png&amp;diff=7580"/>
		<updated>2009-12-01T19:25:56Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141733.png&amp;diff=7579</id>
		<title>File:Precorder 2009-01-12 141733.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-01-12_141733.png&amp;diff=7579"/>
		<updated>2009-12-01T19:23:02Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-24-11_164140.png&amp;diff=7578</id>
		<title>File:Precorder 2009-24-11 164140.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=File:Precorder_2009-24-11_164140.png&amp;diff=7578"/>
		<updated>2009-12-01T19:21:07Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: uploaded a new version of &amp;quot;Image:Precorder 2009-24-11 164140.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Patch_webOS_Roam_Control&amp;diff=2141</id>
		<title>Patch webOS Roam Control</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Patch_webOS_Roam_Control&amp;diff=2141"/>
		<updated>2009-07-24T18:40:14Z</updated>

		<summary type="html">&lt;p&gt;Sacherjj: /* Procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Roam-control.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
= Roam Control=&lt;br /&gt;
&lt;br /&gt;
=== Creating a &amp;quot;Roam Only&amp;quot; mode===&lt;br /&gt;
&lt;br /&gt;
By default, the Pre has no &amp;quot;Roam Only&amp;quot; mode. For fringe Sprint service areas, this can be very annoying, as the phone will tend to prefer a weak Sprint signal versus a strong Verizon/Other CDMA signal. We can enable this mode fairly easily.&lt;br /&gt;
&lt;br /&gt;
=== Procedure===&lt;br /&gt;
&lt;br /&gt;
SSH in to rooted Pre&lt;br /&gt;
Mount filesystem as r/w, navigate to phoneprefs folder and create a backup of current preflist-assistant.js&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
cd /usr/palm/applications/com.palm.app.phoneprefs/app/controllers&lt;br /&gt;
cp preflist-assistant.js preflist-assistant.js.bak&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit preflist-assistant.js&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
vi preflist-assistant.js&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
line 208 (WebOS 1.1 line 227), find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{label : $L(&amp;quot;Automatic&amp;quot;),value: &amp;quot;any&amp;quot;}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* and replace with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
{label : $L(&amp;quot;Automatic&amp;quot;),value: &amp;quot;any&amp;quot;},&lt;br /&gt;
{label : &amp;quot;Roam Only&amp;quot;,value: &amp;quot;roamonly&amp;quot;}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
line 994-1003 (WebOS 1.1 lines 1229-1233) find:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
		if(payload.extended.mode == 'any') {&lt;br /&gt;
			this.voiceRoamingModel.currentVoiceRoaming = &amp;quot;any&amp;quot;;&lt;br /&gt;
			$('dataroamingrow').show();&lt;br /&gt;
			$('voiceRoamingRow').removeClassName('last');&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* and add below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
		else if(payload.extended.mode == 'roamonly') {&lt;br /&gt;
			this.voiceRoamingModel.currentVoiceRoaming = &amp;quot;roamonly&amp;quot;;&lt;br /&gt;
			$('dataroamingrow').show();&lt;br /&gt;
			$('voiceRoamingRow').removeClassName('last');&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mount the filesystem as r/o, reboot the phone and, from the dialer, go to Preferences and test out your new mode!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Credit===&lt;br /&gt;
w5mw&lt;/div&gt;</summary>
		<author><name>Sacherjj</name></author>
	</entry>
</feed>