http://wiki.webos-internals.org/api.php?action=feedcontributions&user=Elpollodiablo1&feedformat=atomWebOS Internals - User contributions [en]2024-03-29T15:01:24ZUser contributionsMediaWiki 1.35.1http://wiki.webos-internals.org/index.php?title=Application:X&diff=17311Application:X2011-07-15T23:04:00Z<p>Elpollodiablo1: </p>
<hr />
<div>=X Window System Server=<br />
<br />
[http://forums.precentral.net/webos-internals/240926-x-server-pre.html Precentral Thread]<br />
<br />
==Screenshots==<br />
<br />
[[Image:X11-lxde.png]] [[Image:X11-xchat.png]]<br />
<br />
[[Image:X11-Ice.png]] [[Image:X11-menu.png]]<br />
<br />
==Video==<br />
<br />
[http://www.youtube.com/watch?v=2JsulCV4nEQ OpenOffice on the Pre]<br />
<br />
==Keyboard Support==<br />
<br />
Extra keys:<br />
<br />
{|border=1<br />
! Key<br />
! What you press<br />
|-<br />
|Control<br />
|Gesture Area<br />
|-<br />
|"\" (backslash)<br />
|sym+q<br />
|-<br />
|HOME Key<br />
|sym+e<br />
|-<br />
|UP Key <br />
|sym+r<br />
|-<br />
|"["<br />
|sym+y<br />
|-<br />
|"]"<br />
|sym+u<br />
|-<br />
|"<"<br />
|sym+i<br />
|-<br />
|">"<br />
|sym+o<br />
|-<br />
|"&#124;" Pipe<br />
|sym+p <br />
|-<br />
|"~"<br />
|sym+s<br />
|-<br />
|LEFT Key <br />
|sym+d<br />
|-<br />
|RIGHT Key <br />
|sym+g<br />
|-<br />
|"`" (backtick)<br />
|sym+l ("L")<br />
|-<br />
|"&#124;" Pipe<br />
|shift+. <br />
|-<br />
|Escape<br />
|shift+space<br />
|-<br />
|Tab<br />
|Control-i<br />
|}<br />
<br />
==Screenshots==<br />
<br />
==Known Issues/TODO==<br />
* tab symbol<br />
* arrow keys<br />
* xrdb (Xdefaults, etc, support)<br />
* xinitrc support<br />
* (maybe?) rotation support<br />
* "sticky" modiifiers</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Application:X&diff=17309Application:X2011-07-15T22:30:25Z<p>Elpollodiablo1: </p>
<hr />
<div>=X Window System Server=<br />
<br />
[http://forums.precentral.net/webos-internals/240926-x-server-pre.html Precentral Thread]<br />
<br />
==Screenshots==<br />
<br />
[[Image:X11-lxde.png]] [[Image:X11-xchat.png]]<br />
<br />
[[Image:X11-Ice.png]] [[Image:X11-menu.png]]<br />
<br />
==Video==<br />
<br />
[http://www.youtube.com/watch?v=2JsulCV4nEQ OpenOffice on the Pre]<br />
<br />
==Keyboard Support==<br />
<br />
Extra keys:<br />
<br />
{|border=1<br />
! Key<br />
! What you press<br />
|-<br />
|Control<br />
|Gesture Area<br />
|-<br />
|"\" (backslash)<br />
|sym+q<br />
|-<br />
|HOME Key<br />
|sym+e<br />
|-<br />
|UP Key <br />
|sym+r<br />
|-<br />
|"["<br />
|sym+y<br />
|-<br />
|"]"<br />
|sym+u<br />
|-<br />
|"<"<br />
|sym+i<br />
|-<br />
|">"<br />
|sym+o<br />
|-<br />
|"&#124;" Pipe<br />
|sym+p <br />
|-<br />
|"~"<br />
|sym+s<br />
|-<br />
|LEFT Key <br />
|sym+d<br />
|-<br />
|RIGHT Key <br />
|sym+g<br />
|-<br />
|"`" (backtick)<br />
|sym+l ("L")<br />
|-<br />
|"&#124;" Pipe<br />
|shift+. <br />
|-<br />
|">"<br />
|sym+. <br />
|-<br />
|"<"<br />
|shift+sym+.<br />
|-<br />
|Escape<br />
|shift+space<br />
|-<br />
|Tab<br />
|Control-i<br />
|}<br />
<br />
==Screenshots==<br />
<br />
==Known Issues/TODO==<br />
* tab symbol<br />
* arrow keys<br />
* xrdb (Xdefaults, etc, support)<br />
* xinitrc support<br />
* (maybe?) rotation support<br />
* "sticky" modiifiers</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&diff=17303WebOS Internals PDK2011-07-15T13:48:45Z<p>Elpollodiablo1: </p>
<hr />
<div>[[Category: SDL]]<br />
Palm's binary sdk the "Plugin Developer Kit" became available to all developers in March 2010.<br />
<br />
When the widk was developed, the Palm PDK didn't exist, and until Dec 2010, it was not possible to run the PDK in Linux. If you would like to run the official Palm PDK, see [[PDK on Linux]] for directions.<br />
<br />
In addition to the PDK, webOS Internals has released a full "WIDK" (webOS Internals Development Kit) for you using Scratchbox2. <br />
<br />
Less than 10% of developers in the webOS developer community use Linux variants. Among those 10% there are dozens of different linux distributions that people use. Palm, therefore has chosen to support only Mac and Windows platforms for their PDK. Palm recommends that Linux based developers use the webOS-internals WIDK instead. <br />
<br />
We ''strongly'' urge the open-source homebrew community to standardize on this WIDK. It uses the same underlying technologies, and is entirely open. <br />
<br />
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.<br />
<br />
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. <br />
<br />
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 11.04 32 bit. See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva. If you want to run the WIDK on other distributions and are willing to support that yourself and not ask webOS Internals any questions about it then please enjoy and if you succeed come back here and make a new article on how you did it. Otherwise, use the recommended OS.<br />
<br />
The webOS Internals team ''strongly suggest'' apt-get install into the Ubuntu environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 11.04 server with very little effort on any operating system. <br />
<br />
Developers wanting to work in an open environment 'without' SB2 can consider using the [http://www.webos-internals.org/wiki/Gentoo_NDK PuffTheMagic NDK].<br />
<br />
==SB2 Homepage==<br />
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk<br />
<br />
==License==<br />
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.<br />
<br />
== Installation on Ubuntu for webOS PDK cross compiling ==<br />
<br />
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.<br />
<br />
<br />
<div style="float:right; clear:right; width:30%">{{Ubuntu_VM_notes_for_Windows_users}}</div><br />
===Toolchain===<br />
<br />
===Prerequisites===<br />
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.<br />
<br />
{| border="1"<br />
|+ <br />
|'''git''' || sudo apt-get install git-core<br />
|-<br />
|'''gcc''' || sudo apt-get install build-essential<br />
|-<br />
|'''curl''' || sudo apt-get install curl<br />
|-<br />
|'''unzip'''|| sudo apt-get install unzip<br />
|-<br />
|'''7zip'''|| sudo apt-get install p7zip-full<br />
|-<br />
|'''autoconf'''|| sudo apt-get install autoconf<br />
|-<br />
|'''subversion'''|| sudo apt-get install subversion<br />
|-<br />
|'''libtool'''|| sudo apt-get install libtool<br />
|-<br />
|'''wget'''|| sudo apt-get install wget<br />
|-<br />
|'''pkg-config'''|| sudo apt-get install pkg-config<br />
|-<br />
|'''gettext'''|| sudo apt-get install gettext<br />
|-<br />
|'''fakeroot'''|| sudo apt-get install fakeroot<br />
|-<br />
|'''javac *'''|| sudo apt-get install sun-java6-jdk<br />
|-<br />
|'''ant'''|| sudo apt-get install ant<br />
|-<br />
|'''cmake'''|| sudo apt-get install cmake<br />
|-<br />
|'''xsltproc'''|| sudo apt-get install xsltproc<br />
|-<br />
|'''intltool'''|| sudo apt-get install intltool<br />
|-<br />
|'''mkimage'''|| sudo apt-get install uboot-mkimage<br />
|-<br />
|'''lsdiff'''|| sudo apt-get install patchutils<br />
|-<br />
|'''flex'''|| sudo apt-get install flex<br />
|-<br />
|'''bison'''|| sudo apt-get install bison<br />
|-<br />
|'''libssl-dev'''|| sudo apt-get install libssl-dev<br />
|-<br />
|'''zlib1g-dev'''|| sudo apt-get install zlib1g-dev<br />
|-<br />
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev<br />
|-<br />
|'''xar *'''|| sudo apt-get install xar<br />
|-<br />
|'''help2man'''|| sudo apt-get install help2man<br />
|-<br />
|'''texinfo'''|| sudo apt-get install texinfo<br />
|-<br />
|'''automake 1.10'''|| sudo apt-get install automake1.10<br />
|-<br />
|'''autopoint'''|| sudo apt-get install autopoint<br />
|-<br />
|'''xutils-dev'''|| sudo apt-get install xutils-dev<br />
|}<br />
<br />
* it has been reported that sun-java6-jdk isn't necessary<br />
* On Ubuntu 11.04 xar might not install using <code>sudo apt-get install xar</code> See Note 2 Below<br />
<br />
If you're uncertain at all, and you're using Ubuntu 11.04, just cut and paste the following. If they are already installed, they'll be skipped. xar is not included in the code below.<br />
<br />
sudo apt-get install git-core build-essential curl unzip p7zip-full autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev zlib1g-dev libbz2-dev help2man texinfo automake1.10 autopoint xutils-dev cmake<br />
<br />
'''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.<br />
<br />
'''Note 2:''' If you're using Ubuntu 11.04 and <code>xar</code> cannot be installed with <code>sudo apt-get install xar</code>, then you have to download two <code>.deb</code>-files manually and install them (in the order they are listed):<br />
# [http://packages.ubuntu.com/hardy/libxar1 libxar1]<br />
# [http://packages.ubuntu.com/hardy/xar xar]<br />
After that execute the above command again.<br />
<br />
Use these 2 command line :<BR><br />
Update repositories :<br />
sudo aptitude update<br />
And next, update the packages :<br />
sudo aptitude safe-upgrade<br />
<br />
If you're on a 64-bit system, you will also need to install the ia32-libs package.<br />
<br />
'''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. <br />
<br />
====Start setup====<br />
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. <br />
<br />
sudo mkdir -p /srv/preware<br />
cd /srv/preware<br />
sudo chmod 777 .<br />
git clone git://git.webos-internals.org/preware/cross-compile.git<br />
cd cross-compile<br />
make toolchain<br />
<br />
If errors occur, browse the [http://git.webos-internals.org/?p=preware/cross-compile.git;a=shortlog repository online] and checkout earlier commits until you get something that gets through "make toolchain" and the later "make stage" commands like so:<br />
<br />
git checkout <commit-ish><br />
<br />
<br />
====Verify sh shell====<br />
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.<br />
<br />
ls -l /bin/sh<br />
<br />
If the result is a link to dash:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -> dash<br />
<br />
You will want to correct it with the following:<br />
<br />
sudo dpkg-reconfigure dash<br />
<br />
You will be asked if you want to "Install dash as /bin/sh?". Select "<No>" and bash will be used. Rerun the command to verify:<br />
<br />
ls -l /bin/sh<br />
<br />
You should now see:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -> bash<br />
<br />
====Setup Scratchbox====<br />
Now, use apt-get to setup scratchbox...<br />
<br />
sudo apt-get install scratchbox2 qemu-kvm-extras (in Debian install qemu-user and qemu-system instead of qemu-kvm-extras)<br />
<br />
...and set it up for compiling for webOS. <br />
<br />
cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv6 arm-none-linux-gnueabi-gcc<br />
cd /srv/preware/cross-compile<br />
<br />
Then:<br />
<br />
make setup<br />
<br />
Once this setup is complete, compiling sdl apps for webOS is very simple.<br />
<br />
==Verified installed clean list==<br />
<br />
If you have successfully built the WIDK from scratch, with NO problems, feel free to add your information to this list. This will help us assess what distributions and versions it is fully compatible with.<br />
<br />
{| border="1" class="wikitable"<br />
|-<br />
|'''IRC name'''<br />
|'''Linux Distribution'''<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Comments'''<br />
|-<br />
|Scoutcamper<br />
|Ubuntu<br />
|9.04,9.10,10.04,10.10<br />
|10-18-10<br />
|Works Great!<br />
|-<br />
|elpollodiablo1<br />
|Ubuntu<br />
|11.04<br />
|7-13-11<br />
|Works With updated Wiki Info<br />
|}<br />
<br />
It just doesn't work tried for over a week, with fresh Ubuntu 10.4 inside and outside of virtual box, fails on libtool for common/fuse/. Tried -j4 option with make stage, tried make staging-armv7. Also installed automake-1.9 after seeing complaints about that. -- please sign your comments<br />
<br />
==Errors during make stage ==<br />
<br />
===automake1.10===<br />
<br />
If you see the error below, you need the latest automake (1.10)<br />
<br />
/usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in AM_CONDITIONAL<br />
configure.in:88: installing `./config.guess'<br />
configure.in:88: installing `./config.sub'<br />
Makefile.am: installing `./INSTALL'<br />
autoreconf2.50: automake failed with exit status: 1<br />
<br />
Install automake1.10 and it should work (according to [http://old.nabble.com/AC_PROG_OBJC-and-automake-1.9-td22434760.html this page])<br />
<br />
====Fix mmap errors====<br />
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. (Do each command separately with cut and paste).<br />
<br />
sudo apt-get install qemu-arm-static<br />
sudo apt-get remove qemu-arm-static<br />
<br />
It appears that this package has been renamed qemu-kvm-extras-static in Ubuntu 11.04.<br />
<br />
: <span style="font-size:150%">OR</span> As a workaround, if this package is not available, <br />
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.<br />
<br />
echo "vm.mmap_min_addr = 4096" > /etc/sysctl.d/mmap_min_addr.conf<br />
/etc/init.d/procps restart<br />
<br />
(note that the value should not be "0". 4096 is chosen to avoid null pointer attacks.)<br />
<br />
<br />
===Libtool===<br />
<br />
make[5]: Entering directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT libdotconf_la-dotconf.lo -MD -MP -MF .deps/libdotconf_la-dotconf.Tpo -c -o libdotconf_la-dotconf.lo `test -f 'dotconf.c' || echo './'`dotconf.c<br />
libtool: Version mismatch error. This is libtool 2.2.6b, but the<br />
libtool: definition of this LT_INIT comes from libtool 2.2.6.<br />
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b<br />
libtool: and run autoconf again.<br />
make[5]: *** [libdotconf_la-dotconf.lo] Error 63<br />
make[5]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
make[4]: *** [install-recursive] Error 1<br />
make[4]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6'<br />
make[3]: *** [build/armv6.built] Error 2<br />
make[3]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf'<br />
make[2]: *** [build_common/libdotconf] Error 2<br />
make[2]: Leaving directory `/srv/preware/cross-compile'<br />
make[1]: *** [staging-armv6] Error 2<br />
make[1]: Leaving directory `/srv/preware/cross-compile'<br />
make: *** [stage] Error 2<br />
<br />
Confirmed by 3 people. Fix this by either (your choice)<br />
*upgrading to Ubuntu 10.04 or newer (the WIDK now relies on a slightly newer version of libtool that's not in 9.10 or earlier)<br />
*updating libtool to 2.2.6b-2 (backported to 9.10, see available downloads on http://linuxappfinder.com/package/libtool#ubuntu_karmicpartner)<br />
<br />
<br />
If you're getting an error where sb2-init gives you the following output:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
Running /usr/bin/sb2-build-libtool failed<br />
You can run this manually later, otherwise your<br />
sb2 environment is correctly setup and ready to use<br />
<br />
You need to upgrade qemu. Alternatively, if your sb2-init output fails with a different output, like this:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
sb2-init completed successfully, have fun!<br />
<br />
Then you need to upgrade scratchbox, too (install 2.0 instead of 1.99).<br />
<br />
=== ecore ===<br />
*TRUE and FALSE are not defined:<br />
Manually add the definition:<br />
<br />
#ifndef TRUE<br />
# define TRUE 1<br />
#endif<br />
<br />
#ifndef FALSE<br />
# define FALSE 0<br />
#endif<br />
<br />
*<code>$po_makefile_in</code> could not be found:<br />
**Open the file <code>/srv/preware/cross-compile/packages/dev-e/ecore/build/src/configure.ac</code> and search for the line with: <code>$po_makefile_in</code> (in my case line 1437) and replace it with <code>po/Makefile.in</code><br />
<br />
=== /bin/sh errors ===<br />
If you are getting a "bad fd number" or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)<br />
<br />
Go back through the Verify sh shell section above to correct.<br />
<br />
=== further download errors ===<br />
<br />
rwhitby's suggestion:<br />
<br />
If you don't need that package which is failing for you, just move it to the nonworking directory and try again.<br />
<br />
14 July 2011=Using Rod's approach: So far I had to move fuse, unionfs-fuse, dev-gl, voip and x (pango and pixman failed). Using Ubuntu 11.04.<br />
<br />
=== X--tag=CC: command not found ===<br />
<br />
While running '''make stage''' on Ubuntu 10.10, I got the following error during compilation of sdl-gfx:<br />
<br />
/bin/sh ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SDL_gfx\" -DVERSION=\"2.0.20\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DX_DISPLAY_MISSING=1 -DBUILD_DLL -I. -g -O2 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT SDL_gfxPrimitives.lo -MD -MP -MF .deps/SDL_gfxPrimitives.Tpo -c -o SDL_gfxPrimitives.lo SDL_gfxPrimitives.c<br />
./libtool: line 847: X--tag=CC: command not found<br />
./libtool: line 880: libtool: ignoring unknown tag : command not found<br />
./libtool: line 847: X--mode=compile: command not found<br />
./libtool: line 1014: *** Warning: inferring the mode of operation is deprecated.: command not found<br />
./libtool: line 1015: *** Future versions of Libtool will require --mode=MODE be specified.: command not found<br />
./libtool: line 1158: Xgcc: command not found<br />
./libtool: line 1158: X-DPACKAGE_NAME="": command not found<br />
./libtool: line 1158: X-DPACKAGE_TARNAME="": command not found<br />
<br />
In order to fix this problem, I had to run this command to set <code>$echo</code> (which gets used in line 847 of the libtool script):<br />
<br />
export echo=echo<br />
<br />
and re-run <code>make stage</code> in the same shell session.<br />
<br />
=== missing macro AM_PATH_SDL in making libsdl-gfx ===<br />
In Ubuntu Server 11.04 amd64 I had to install the package libsdl1.2-dev to get past this. I also needed the X--tag=CC fix above.<br />
Also for Ubuntu 11.04 i386 install the package libsdl1.2-dev.<br />
<br />
==Sample build of [[Application:Doom]]==<br />
<br />
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.<br />
<br />
==In Process Enhancements==<br />
[[Extracting the PDK on Linux]]</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=How_To_Build_Xecutah&diff=17277How To Build Xecutah2011-07-14T01:02:04Z<p>Elpollodiablo1: </p>
<hr />
<div>=How to build Xecutah=<br />
<br />
In general, if these instructions are too high-level for you, then you're not ready to be part of the development effort and should wait until we publish this stuff in the Preware testing feeds.<br />
<br />
This page will not have step-by-step instructions or command lines that you can cut and paste. If you need that, you're not ready.<br />
<br />
== Pre-requisites ==<br />
<br />
You must be running Ubuntu 11.04 on an x86 32-bit machine. 64-bit may work. Don't ask about Windows or OSX.<br />
<br />
You need to install all the pre-requisites for the WIDK.<br />
<br />
You need to install the Official Linux SDK .<br />
<br />
== Source code locations ==<br />
<br />
Git clone preware/build.git at /srv/preware/build/<br />
<br />
Git clone preware/cross-compile.git at /srv/preware/cross-compile/<br />
<br />
Note that we're currently using the master branch in cross-compile. The x_restructure branch has been merged back into master.<br />
<br />
Git clone applications/xecutah.git at /srv/applications/xecutah<br />
<br />
== Toolchains ==<br />
<br />
make toolchain in build<br />
<br />
make setup in cross-compile (you only need toolchain, rootfs and staging-armv7 to pass. staging-armv6 and staging-i686 may fail)<br />
<br />
== XServer and X Term ==<br />
<br />
make stage package in cross-compile/packages/x/xserver-package<br />
<br />
make stage package in cross-compile/packages/x/xterm-package<br />
<br />
make stage in cross-compile/packages/x/synergy<br />
<br />
== Xecutah ==<br />
<br />
make device package in /srv/applications/xecutah</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=How_To_Build_Xecutah&diff=17267How To Build Xecutah2011-07-14T00:13:20Z<p>Elpollodiablo1: </p>
<hr />
<div>=How to build Xecutah=<br />
<br />
In general, if these instructions are too high-level for you, then you're not ready to be part of the development effort and should wait until we publish this stuff in the Preware testing feeds.<br />
<br />
This page will not have step-by-step instructions or command lines that you can cut and paste. If you need that, you're not ready.<br />
<br />
== Pre-requisites ==<br />
<br />
You must be running Ubuntu 11.04 on an x86 32-bit machine. 64-bit may work. Don't ask about Windows or OSX.<br />
<br />
You need to install all the pre-requisites for the WIDK.<br />
<br />
You need to install the Official Linux SDK .<br />
<br />
== Source code locations ==<br />
<br />
Git clone preware/build.git at /srv/preware/build/<br />
<br />
Git clone preware/cross-compile.git at /srv/preware/cross-compile/<br />
<br />
Note that we're currently using the master branch in cross-compile. The x_restructure branch has been merged back into master.<br />
<br />
Git clone applications/xecutah.git at /srv/applications/xecutah<br />
<br />
== Toolchains ==<br />
<br />
make toolchain in build<br />
<br />
make setup in cross-compile (you only need toolchain, rootfs and staging-armv7 to pass. staging-armv6 and staging-i686 may fail)<br />
<br />
== XServer and X Term ==<br />
<br />
make stage package in cross-compile/packages/x/xserver-package<br />
<br />
make stage package in cross-compile/packages/x/xterm-package<br />
<br />
make stage in cross-compile/packages/x/synergy<br />
<br />
== Xecutah ==<br />
<br />
make device package in xecutah</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&diff=17265WebOS Internals PDK2011-07-14T00:10:24Z<p>Elpollodiablo1: </p>
<hr />
<div>[[Category: SDL]]<br />
Palm's binary sdk the "Plugin Developer Kit" became available to all developers in March 2010.<br />
<br />
When the widk was developed, the Palm PDK didn't exist, and until Dec 2010, it was not possible to run the PDK in Linux. If you would like to run the official Palm PDK, see [[PDK on Linux]] for directions.<br />
<br />
In addition to the PDK, webOS Internals has released a full "WIDK" (webOS Internals Development Kit) for you using Scratchbox2. <br />
<br />
Less than 10% of developers in the webOS developer community use Linux variants. Among those 10% there are dozens of different linux distributions that people use. Palm, therefore has chosen to support only Mac and Windows platforms for their PDK. Palm recommends that Linux based developers use the webOS-internals WIDK instead. <br />
<br />
We ''strongly'' urge the open-source homebrew community to standardize on this WIDK. It uses the same underlying technologies, and is entirely open. <br />
<br />
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.<br />
<br />
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. <br />
<br />
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 11.04 32 bit. See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva. If you want to run the WIDK on other distributions and are willing to support that yourself and not ask webOS Internals any questions about it then please enjoy and if you succeed come back here and make a new article on how you did it. Otherwise, use the recommended OS.<br />
<br />
The webOS Internals team ''strongly suggest'' apt-get install into the Ubuntu environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 11.04 server with very little effort on any operating system. <br />
<br />
Developers wanting to work in an open environment 'without' SB2 can consider using the [http://www.webos-internals.org/wiki/Gentoo_NDK PuffTheMagic NDK].<br />
<br />
==SB2 Homepage==<br />
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk<br />
<br />
==License==<br />
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.<br />
<br />
== Installation on Ubuntu for webOS PDK cross compiling ==<br />
<br />
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.<br />
<br />
<br />
<div style="float:right; clear:right; width:30%">{{Ubuntu_VM_notes_for_Windows_users}}</div><br />
===Toolchain===<br />
<br />
===Prerequisites===<br />
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.<br />
<br />
{| border="1"<br />
|+ <br />
|'''git''' || sudo apt-get install git-core<br />
|-<br />
|'''gcc''' || sudo apt-get install build-essential<br />
|-<br />
|'''curl''' || sudo apt-get install curl<br />
|-<br />
|'''unzip'''|| sudo apt-get install unzip<br />
|-<br />
|'''7zip'''|| sudo apt-get install p7zip-full<br />
|-<br />
|'''autoconf'''|| sudo apt-get install autoconf<br />
|-<br />
|'''subversion'''|| sudo apt-get install subversion<br />
|-<br />
|'''libtool'''|| sudo apt-get install libtool<br />
|-<br />
|'''wget'''|| sudo apt-get install wget<br />
|-<br />
|'''pkg-config'''|| sudo apt-get install pkg-config<br />
|-<br />
|'''gettext'''|| sudo apt-get install gettext<br />
|-<br />
|'''fakeroot'''|| sudo apt-get install fakeroot<br />
|-<br />
|'''javac *'''|| sudo apt-get install sun-java6-jdk<br />
|-<br />
|'''ant'''|| sudo apt-get install ant<br />
|-<br />
|'''xsltproc'''|| sudo apt-get install xsltproc<br />
|-<br />
|'''intltool'''|| sudo apt-get install intltool<br />
|-<br />
|'''mkimage'''|| sudo apt-get install uboot-mkimage<br />
|-<br />
|'''lsdiff'''|| sudo apt-get install patchutils<br />
|-<br />
|'''flex'''|| sudo apt-get install flex<br />
|-<br />
|'''bison'''|| sudo apt-get install bison<br />
|-<br />
|'''libssl-dev'''|| sudo apt-get install libssl-dev<br />
|-<br />
|'''zlib1g-dev'''|| sudo apt-get install zlib1g-dev<br />
|-<br />
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev<br />
|-<br />
|'''xar *'''|| sudo apt-get install xar<br />
|-<br />
|'''help2man'''|| sudo apt-get install help2man<br />
|-<br />
|'''texinfo'''|| sudo apt-get install texinfo<br />
|-<br />
|'''automake 1.10'''|| sudo apt-get install automake1.10<br />
|-<br />
|'''autopoint'''|| sudo apt-get install autopoint<br />
|-<br />
|'''xutils-dev'''|| sudo apt-get install xutils-dev<br />
|}<br />
<br />
* it has been reported that sun-java6-jdk isn't necessary<br />
* On Ubuntu 11.04 xar might not install using <code>sudo apt-get install xar</code> See Note 2 Below<br />
<br />
If you're uncertain at all, and you're using Ubuntu 11.04, just cut and paste the following. If they are already installed, they'll be skipped. xar is not included in the code below.<br />
<br />
sudo apt-get install git-core build-essential curl unzip p7zip-full autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev zlib1g-dev libbz2-dev help2man texinfo automake1.10 autopoint xutils-dev <br />
<br />
'''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.<br />
<br />
'''Note 2:''' If you're using Ubuntu 11.04 and <code>xar</code> cannot be installed with <code>sudo apt-get install xar</code>, then you have to download two <code>.deb</code>-files manually and install them (in the order they are listed):<br />
# [http://packages.ubuntu.com/hardy/libxar1 libxar1]<br />
# [http://packages.ubuntu.com/hardy/xar xar]<br />
After that execute the above command again.<br />
<br />
Use these 2 command line :<BR><br />
Update repositories :<br />
sudo aptitude update<br />
And next, update the packages :<br />
sudo aptitude safe-upgrade<br />
<br />
If you're on a 64-bit system, you will also need to install the ia32-libs package.<br />
<br />
'''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. <br />
<br />
====Start setup====<br />
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. <br />
<br />
sudo mkdir -p /srv/preware<br />
cd /srv/preware<br />
sudo chmod 777 .<br />
git clone git://git.webos-internals.org/preware/cross-compile.git<br />
cd cross-compile<br />
make toolchain<br />
<br />
If errors occur, browse the [http://git.webos-internals.org/?p=preware/cross-compile.git;a=shortlog repository online] and checkout earlier commits until you get something that gets through "make toolchain" and the later "make stage" commands like so:<br />
<br />
git checkout <commit-ish><br />
<br />
<br />
====Verify sh shell====<br />
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.<br />
<br />
ls -l /bin/sh<br />
<br />
If the result is a link to dash:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -> dash<br />
<br />
You will want to correct it with the following:<br />
<br />
sudo dpkg-reconfigure dash<br />
<br />
You will be asked if you want to "Install dash as /bin/sh?". Select "<No>" and bash will be used. Rerun the command to verify:<br />
<br />
ls -l /bin/sh<br />
<br />
You should now see:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -> bash<br />
<br />
====Setup Scratchbox====<br />
Now, use apt-get to setup scratchbox...<br />
<br />
sudo apt-get install scratchbox2 qemu-kvm-extras (in Debian install qemu-user and qemu-system instead of qemu-kvm-extras)<br />
<br />
...and set it up for compiling for webOS. <br />
<br />
cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc<br />
cd /srv/preware/cross-compile<br />
<br />
Then:<br />
<br />
make setup<br />
<br />
Once this setup is complete, compiling sdl apps for webOS is very simple.<br />
<br />
==Verified installed clean list==<br />
<br />
If you have successfully built the WIDK from scratch, with NO problems, feel free to add your information to this list. This will help us assess what distributions and versions it is fully compatible with.<br />
<br />
{| border="1" class="wikitable"<br />
|-<br />
|'''IRC name'''<br />
|'''Linux Distribution'''<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Comments'''<br />
|-<br />
|Scoutcamper<br />
|Ubuntu<br />
|9.04,9.10,10.04,10.10<br />
|10-18-10<br />
|Works Great!<br />
|-<br />
|elpollodiablo1<br />
|Ubuntu<br />
|11.04<br />
|7-13-11<br />
|Works With updated Wiki Info<br />
|}<br />
<br />
It just doesn't work tried for over a week, with fresh Ubuntu 10.4 inside and outside of virtual box, fails on libtool for common/fuse/. Tried -j4 option with make stage, tried make staging-armv7. Also installed automake-1.9 after seeing complaints about that. -- please sign your comments<br />
<br />
==Errors during make stage ==<br />
<br />
===automake1.10===<br />
<br />
If you see the error below, you need the latest automake (1.10)<br />
<br />
/usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in AM_CONDITIONAL<br />
configure.in:88: installing `./config.guess'<br />
configure.in:88: installing `./config.sub'<br />
Makefile.am: installing `./INSTALL'<br />
autoreconf2.50: automake failed with exit status: 1<br />
<br />
Install automake1.10 and it should work (according to [http://old.nabble.com/AC_PROG_OBJC-and-automake-1.9-td22434760.html this page])<br />
<br />
====Fix mmap errors====<br />
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. (Do each command separately with cut and paste).<br />
<br />
sudo apt-get install qemu-arm-static<br />
sudo apt-get remove qemu-arm-static<br />
<br />
It appears that this package has been renamed qemu-kvm-extras-static in Ubuntu 11.04.<br />
<br />
: <span style="font-size:150%">OR</span> As a workaround, if this package is not available, <br />
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.<br />
<br />
echo "vm.mmap_min_addr = 4096" > /etc/sysctl.d/mmap_min_addr.conf<br />
/etc/init.d/procps restart<br />
<br />
(note that the value should not be "0". 4096 is chosen to avoid null pointer attacks.)<br />
<br />
<br />
===Libtool===<br />
<br />
make[5]: Entering directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT libdotconf_la-dotconf.lo -MD -MP -MF .deps/libdotconf_la-dotconf.Tpo -c -o libdotconf_la-dotconf.lo `test -f 'dotconf.c' || echo './'`dotconf.c<br />
libtool: Version mismatch error. This is libtool 2.2.6b, but the<br />
libtool: definition of this LT_INIT comes from libtool 2.2.6.<br />
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b<br />
libtool: and run autoconf again.<br />
make[5]: *** [libdotconf_la-dotconf.lo] Error 63<br />
make[5]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
make[4]: *** [install-recursive] Error 1<br />
make[4]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6'<br />
make[3]: *** [build/armv6.built] Error 2<br />
make[3]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf'<br />
make[2]: *** [build_common/libdotconf] Error 2<br />
make[2]: Leaving directory `/srv/preware/cross-compile'<br />
make[1]: *** [staging-armv6] Error 2<br />
make[1]: Leaving directory `/srv/preware/cross-compile'<br />
make: *** [stage] Error 2<br />
<br />
Confirmed by 3 people. Fix this by either (your choice)<br />
*upgrading to Ubuntu 10.04 or newer (the WIDK now relies on a slightly newer version of libtool that's not in 9.10 or earlier)<br />
*updating libtool to 2.2.6b-2 (backported to 9.10, see available downloads on http://linuxappfinder.com/package/libtool#ubuntu_karmicpartner)<br />
<br />
<br />
If you're getting an error where sb2-init gives you the following output:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
Running /usr/bin/sb2-build-libtool failed<br />
You can run this manually later, otherwise your<br />
sb2 environment is correctly setup and ready to use<br />
<br />
You need to upgrade qemu. Alternatively, if your sb2-init output fails with a different output, like this:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
sb2-init completed successfully, have fun!<br />
<br />
Then you need to upgrade scratchbox, too (install 2.0 instead of 1.99).<br />
<br />
=== ecore ===<br />
*TRUE and FALSE are not defined:<br />
Manually add the definition:<br />
<br />
#ifndef TRUE<br />
# define TRUE 1<br />
#endif<br />
<br />
#ifndef FALSE<br />
# define FALSE 0<br />
#endif<br />
<br />
*<code>$po_makefile_in</code> could not be found:<br />
**Open the file <code>/srv/preware/cross-compile/packages/dev-e/ecore/build/src/configure.ac</code> and search for the line with: <code>$po_makefile_in</code> (in my case line 1437) and replace it with <code>po/Makefile.in</code><br />
<br />
=== /bin/sh errors ===<br />
If you are getting a "bad fd number" or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)<br />
<br />
Go back through the Verify sh shell section above to correct.<br />
<br />
=== further download errors ===<br />
<br />
rwhitby's suggestion:<br />
<br />
If you don't need that package which is failing for you, just move it to the nonworking directory and try again.<br />
<br />
=== X--tag=CC: command not found ===<br />
<br />
While running '''make stage''' on Ubuntu 10.10, I got the following error during compilation of sdl-gfx:<br />
<br />
/bin/sh ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SDL_gfx\" -DVERSION=\"2.0.20\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DX_DISPLAY_MISSING=1 -DBUILD_DLL -I. -g -O2 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT SDL_gfxPrimitives.lo -MD -MP -MF .deps/SDL_gfxPrimitives.Tpo -c -o SDL_gfxPrimitives.lo SDL_gfxPrimitives.c<br />
./libtool: line 847: X--tag=CC: command not found<br />
./libtool: line 880: libtool: ignoring unknown tag : command not found<br />
./libtool: line 847: X--mode=compile: command not found<br />
./libtool: line 1014: *** Warning: inferring the mode of operation is deprecated.: command not found<br />
./libtool: line 1015: *** Future versions of Libtool will require --mode=MODE be specified.: command not found<br />
./libtool: line 1158: Xgcc: command not found<br />
./libtool: line 1158: X-DPACKAGE_NAME="": command not found<br />
./libtool: line 1158: X-DPACKAGE_TARNAME="": command not found<br />
<br />
In order to fix this problem, I had to run this command to set <code>$echo</code> (which gets used in line 847 of the libtool script):<br />
<br />
export echo=echo<br />
<br />
and re-run <code>make stage</code> in the same shell session.<br />
<br />
=== missing macro AM_PATH_SDL in making libsdl-gfx ===<br />
In Ubuntu Server 11.04 amd64 I had to install the package libsdl1.2-dev to get past this. I also needed the X--tag=CC fix above.<br />
<br />
==Sample build of [[Application:Doom]]==<br />
<br />
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.<br />
<br />
==In Process Enhancements==<br />
[[Extracting the PDK on Linux]]</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=How_To_Build_Xecutah&diff=17251How To Build Xecutah2011-07-13T14:37:53Z<p>Elpollodiablo1: /* Source code locations */</p>
<hr />
<div>=How to build Xecutah=<br />
<br />
In general, if these instructions are too high-level for you, then you're not ready to be part of the development effort and should wait until we publish this stuff in the Preware testing feeds.<br />
<br />
This page will not have step-by-step instructions or command lines that you can cut and paste. If you need that, you're not ready.<br />
<br />
== Pre-requisites ==<br />
<br />
You must be running Ubuntu 11.04 on an x86 32-bit machine. 64-bit may work. Don't ask about Windows or OSX.<br />
<br />
You need to install all the pre-requisites for the WIDK.<br />
<br />
== Source code locations ==<br />
<br />
Git clone preware/build.git at /srv/preware/build/<br />
<br />
Git clone preware/cross-compile.git at /srv/preware/cross-compile/<br />
<br />
Note that we're currently using the master branch in cross-compile. The x_restructure branch has been merged back into master.<br />
<br />
Git clone applications/xecutah.git at /srv/applications/xecutah<br />
<br />
== Toolchains ==<br />
<br />
make toolchain in build<br />
<br />
make setup in cross-compile (you only need toolchain, rootfs and staging-armv7 to pass. staging-armv6 and staging-i686 may fail)<br />
<br />
== XServer and X Term ==<br />
<br />
make stage package in cross-compile/packages/x/xserver-package<br />
<br />
make stage package in cross-compile/packages/x/xterm-package<br />
<br />
make stage in cross-compile/packages/x/synergy<br />
<br />
== Xecutah ==<br />
<br />
make device package in xecutah</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=How_To_Build_Xecutah&diff=17249How To Build Xecutah2011-07-13T14:03:57Z<p>Elpollodiablo1: </p>
<hr />
<div>=How to build Xecutah=<br />
<br />
In general, if these instructions are too high-level for you, then you're not ready to be part of the development effort and should wait until we publish this stuff in the Preware testing feeds.<br />
<br />
This page will not have step-by-step instructions or command lines that you can cut and paste. If you need that, you're not ready.<br />
<br />
== Pre-requisites ==<br />
<br />
You must be running Ubuntu 11.04 on an x86 32-bit machine. 64-bit may work. Don't ask about Windows or OSX.<br />
<br />
You need to install all the pre-requisites for the WIDK.<br />
<br />
== Source code locations ==<br />
<br />
Git clone preware/build.git at /srv/preware/build/<br />
<br />
Git clone preware/cross-compile.git at /srv/preware/cross-compile/<br />
<br />
Note that we're currently using the master branch in cross-compile. The x_restructure branch has been merged back into master.<br />
<br />
Git clone applications/xecutah.git at /srv/applications/xecutah <br />
<br />
<code><br />
mkdir /srv/applications<br><br />
cd /srv/applications<br><br />
git clone git://git.webos-internals.org/applications/xecutah.git<br />
</code><br />
== Toolchains ==<br />
<br />
make toolchain in build<br />
<br />
make setup in cross-compile (you only need toolchain, rootfs and staging-armv7 to pass. staging-armv6 and staging-i686 may fail)<br />
<br />
== XServer and X Term ==<br />
<br />
make stage package in cross-compile/packages/x/xserver-package<br />
<br />
make stage package in cross-compile/packages/x/xterm-package<br />
<br />
make stage in cross-compile/packages/x/synergy<br />
<br />
== Xecutah ==<br />
<br />
make device package in xecutah</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&diff=17247WebOS Internals PDK2011-07-13T13:43:11Z<p>Elpollodiablo1: </p>
<hr />
<div>[[Category: SDL]]<br />
Palm's binary sdk the "Plugin Developer Kit" became available to all developers in March 2010.<br />
<br />
When the widk was developed, the Palm PDK didn't exist, and until Dec 2010, it was not possible to run the PDK in Linux. If you would like to run the official Palm PDK, see [[PDK on Linux]] for directions.<br />
<br />
In addition to the PDK, webOS Internals has released a full "WIDK" (webOS Internals Development Kit) for you using Scratchbox2. <br />
<br />
Less than 10% of developers in the webOS developer community use Linux variants. Among those 10% there are dozens of different linux distributions that people use. Palm, therefore has chosen to support only Mac and Windows platforms for their PDK. Palm recommends that Linux based developers use the webOS-internals WIDK instead. <br />
<br />
We ''strongly'' urge the open-source homebrew community to standardize on this WIDK. It uses the same underlying technologies, and is entirely open. <br />
<br />
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.<br />
<br />
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. <br />
<br />
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 11.04 32 bit. See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva. If you want to run the WIDK on other distributions and are willing to support that yourself and not ask webOS Internals any questions about it then please enjoy and if you succeed come back here and make a new article on how you did it. Otherwise, use the recommended OS.<br />
<br />
The webOS Internals team ''strongly suggest'' apt-get install into the Ubuntu environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 11.04 server with very little effort on any operating system. <br />
<br />
Developers wanting to work in an open environment 'without' SB2 can consider using the [http://www.webos-internals.org/wiki/Gentoo_NDK PuffTheMagic NDK].<br />
<br />
==SB2 Homepage==<br />
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk<br />
<br />
==License==<br />
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.<br />
<br />
== Installation on Ubuntu for webOS PDK cross compiling ==<br />
<br />
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.<br />
<br />
<br />
== Update ==<br />
There is an automated installer avaliable [http://forums.precentral.net/webos-internals/266139-webos-internals-automated-installers.html#post2718551 here]<br />
<br />
<div style="float:right; clear:right; width:30%">{{Ubuntu_VM_notes_for_Windows_users}}</div><br />
===Toolchain===<br />
<br />
===Prerequisites===<br />
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.<br />
<br />
{| border="1"<br />
|+ <br />
|'''git''' || sudo apt-get install git-core<br />
|-<br />
|'''gcc''' || sudo apt-get install build-essential<br />
|-<br />
|'''curl''' || sudo apt-get install curl<br />
|-<br />
|'''unzip'''|| sudo apt-get install unzip<br />
|-<br />
|'''7zip'''|| sudo apt-get install p7zip-full<br />
|-<br />
|'''autoconf'''|| sudo apt-get install autoconf<br />
|-<br />
|'''subversion'''|| sudo apt-get install subversion<br />
|-<br />
|'''libtool'''|| sudo apt-get install libtool<br />
|-<br />
|'''wget'''|| sudo apt-get install wget<br />
|-<br />
|'''pkg-config'''|| sudo apt-get install pkg-config<br />
|-<br />
|'''gettext'''|| sudo apt-get install gettext<br />
|-<br />
|'''fakeroot'''|| sudo apt-get install fakeroot<br />
|-<br />
|'''javac *'''|| sudo apt-get install sun-java6-jdk<br />
|-<br />
|'''ant'''|| sudo apt-get install ant<br />
|-<br />
|'''xsltproc'''|| sudo apt-get install xsltproc<br />
|-<br />
|'''intltool'''|| sudo apt-get install intltool<br />
|-<br />
|'''mkimage'''|| sudo apt-get install uboot-mkimage<br />
|-<br />
|'''lsdiff'''|| sudo apt-get install patchutils<br />
|-<br />
|'''flex'''|| sudo apt-get install flex<br />
|-<br />
|'''bison'''|| sudo apt-get install bison<br />
|-<br />
|'''libssl-dev'''|| sudo apt-get install libssl-dev<br />
|-<br />
|'''zlib1g-dev'''|| sudo apt-get install zlib1g-dev<br />
|-<br />
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev<br />
|-<br />
|'''xar *'''|| sudo apt-get install xar<br />
|-<br />
|'''help2man'''|| sudo apt-get install help2man<br />
|-<br />
|'''texinfo'''|| sudo apt-get install texinfo<br />
|-<br />
|'''automake 1.10'''|| sudo apt-get install automake1.10<br />
|-<br />
|'''autopoint'''|| sudo apt-get install autopoint<br />
|-<br />
|'''xutils-dev'''|| sudo apt-get install xutils-dev<br />
|}<br />
<br />
* it has been reported that sun-java6-jdk isn't necessary<br />
* On Ubuntu 11.04 xar might not install using <code>sudo apt-get install xar</code> See Note 2 Below<br />
<br />
If you're uncertain at all, and you're using Ubuntu 11.04, just cut and paste the following. If they are already installed, they'll be skipped. xar is not included in the code below.<br />
<br />
sudo apt-get install git-core build-essential curl unzip p7zip-full autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev zlib1g-dev libbz2-dev help2man texinfo automake1.10 autopoint xutils-dev <br />
<br />
'''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.<br />
<br />
'''Note 2:''' If you're using Ubuntu 11.04 and <code>xar</code> cannot be installed with <code>sudo apt-get install xar</code>, then you have to download two <code>.deb</code>-files manually and install them (in the order they are listed):<br />
# [http://packages.ubuntu.com/hardy/libxar1 libxar1]<br />
# [http://packages.ubuntu.com/hardy/xar xar]<br />
After that execute the above command again.<br />
<br />
Use these 2 command line :<BR><br />
Update repositories :<br />
sudo aptitude update<br />
And next, update the packages :<br />
sudo aptitude safe-upgrade<br />
<br />
If you're on a 64-bit system, you will also need to install the ia32-libs package.<br />
<br />
'''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. <br />
<br />
====Start setup====<br />
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. <br />
<br />
sudo mkdir -p /srv/preware<br />
cd /srv/preware<br />
sudo chmod 777 .<br />
git clone git://git.webos-internals.org/preware/cross-compile.git<br />
cd cross-compile<br />
make toolchain<br />
<br />
If errors occur, browse the [http://git.webos-internals.org/?p=preware/cross-compile.git;a=shortlog repository online] and checkout earlier commits until you get something that gets through "make toolchain" and the later "make stage" commands like so:<br />
<br />
git checkout <commit-ish><br />
<br />
<br />
====Verify sh shell====<br />
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.<br />
<br />
ls -l /bin/sh<br />
<br />
If the result is a link to dash:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -> dash<br />
<br />
You will want to correct it with the following:<br />
<br />
sudo dpkg-reconfigure dash<br />
<br />
You will be asked if you want to "Install dash as /bin/sh?". Select "<No>" and bash will be used. Rerun the command to verify:<br />
<br />
ls -l /bin/sh<br />
<br />
You should now see:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -> bash<br />
<br />
====Setup Scratchbox====<br />
Now, use apt-get to setup scratchbox...<br />
<br />
sudo apt-get install scratchbox2 qemu-kvm-extras (in Debian install qemu-user and qemu-system instead of qemu-kvm-extras)<br />
<br />
...and set it up for compiling for webOS. <br />
<br />
cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc<br />
cd /srv/preware/cross-compile<br />
<br />
Then:<br />
<br />
make setup<br />
<br />
Once this setup is complete, compiling sdl apps for webOS is very simple.<br />
<br />
==Verified installed clean list==<br />
<br />
If you have successfully built the WIDK from scratch, with NO problems, feel free to add your information to this list. This will help us assess what distributions and versions it is fully compatible with.<br />
<br />
{| border="1" class="wikitable"<br />
|-<br />
|'''IRC name'''<br />
|'''Linux Distribution'''<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Comments'''<br />
|-<br />
|Scoutcamper<br />
|Ubuntu<br />
|9.04,9.10,10.04,10.10<br />
|10-18-10<br />
|Works Great!<br />
|-<br />
|elpollodiablo1<br />
|Ubuntu<br />
|11.04<br />
|7-13-11<br />
|Works With updated Wiki Info<br />
|}<br />
<br />
It just doesn't work tried for over a week, with fresh Ubuntu 10.4 inside and outside of virtual box, fails on libtool for common/fuse/. Tried -j4 option with make stage, tried make staging-armv7. Also installed automake-1.9 after seeing complaints about that. -- please sign your comments<br />
<br />
==Errors during make stage ==<br />
<br />
===automake1.10===<br />
<br />
If you see the error below, you need the latest automake (1.10)<br />
<br />
/usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in AM_CONDITIONAL<br />
configure.in:88: installing `./config.guess'<br />
configure.in:88: installing `./config.sub'<br />
Makefile.am: installing `./INSTALL'<br />
autoreconf2.50: automake failed with exit status: 1<br />
<br />
Install automake1.10 and it should work (according to [http://old.nabble.com/AC_PROG_OBJC-and-automake-1.9-td22434760.html this page])<br />
<br />
====Fix mmap errors====<br />
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. (Do each command separately with cut and paste).<br />
<br />
sudo apt-get install qemu-arm-static<br />
sudo apt-get remove qemu-arm-static<br />
<br />
It appears that this package has been renamed qemu-kvm-extras-static in Ubuntu 11.04.<br />
<br />
: <span style="font-size:150%">OR</span> As a workaround, if this package is not available, <br />
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.<br />
<br />
echo "vm.mmap_min_addr = 4096" > /etc/sysctl.d/mmap_min_addr.conf<br />
/etc/init.d/procps restart<br />
<br />
(note that the value should not be "0". 4096 is chosen to avoid null pointer attacks.)<br />
<br />
<br />
===Libtool===<br />
<br />
make[5]: Entering directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT libdotconf_la-dotconf.lo -MD -MP -MF .deps/libdotconf_la-dotconf.Tpo -c -o libdotconf_la-dotconf.lo `test -f 'dotconf.c' || echo './'`dotconf.c<br />
libtool: Version mismatch error. This is libtool 2.2.6b, but the<br />
libtool: definition of this LT_INIT comes from libtool 2.2.6.<br />
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b<br />
libtool: and run autoconf again.<br />
make[5]: *** [libdotconf_la-dotconf.lo] Error 63<br />
make[5]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
make[4]: *** [install-recursive] Error 1<br />
make[4]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6'<br />
make[3]: *** [build/armv6.built] Error 2<br />
make[3]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf'<br />
make[2]: *** [build_common/libdotconf] Error 2<br />
make[2]: Leaving directory `/srv/preware/cross-compile'<br />
make[1]: *** [staging-armv6] Error 2<br />
make[1]: Leaving directory `/srv/preware/cross-compile'<br />
make: *** [stage] Error 2<br />
<br />
Confirmed by 3 people. Fix this by either (your choice)<br />
*upgrading to Ubuntu 10.04 or newer (the WIDK now relies on a slightly newer version of libtool that's not in 9.10 or earlier)<br />
*updating libtool to 2.2.6b-2 (backported to 9.10, see available downloads on http://linuxappfinder.com/package/libtool#ubuntu_karmicpartner)<br />
<br />
<br />
If you're getting an error where sb2-init gives you the following output:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
Running /usr/bin/sb2-build-libtool failed<br />
You can run this manually later, otherwise your<br />
sb2 environment is correctly setup and ready to use<br />
<br />
You need to upgrade qemu. Alternatively, if your sb2-init output fails with a different output, like this:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
sb2-init completed successfully, have fun!<br />
<br />
Then you need to upgrade scratchbox, too (install 2.0 instead of 1.99).<br />
<br />
=== ecore ===<br />
*TRUE and FALSE are not defined:<br />
Manually add the definition:<br />
<br />
#ifndef TRUE<br />
# define TRUE 1<br />
#endif<br />
<br />
#ifndef FALSE<br />
# define FALSE 0<br />
#endif<br />
<br />
*<code>$po_makefile_in</code> could not be found:<br />
**Open the file <code>/srv/preware/cross-compile/packages/dev-e/ecore/build/src/configure.ac</code> and search for the line with: <code>$po_makefile_in</code> (in my case line 1437) and replace it with <code>po/Makefile.in</code><br />
<br />
=== /bin/sh errors ===<br />
If you are getting a "bad fd number" or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)<br />
<br />
Go back through the Verify sh shell section above to correct.<br />
<br />
=== further download errors ===<br />
<br />
rwhitby's suggestion:<br />
<br />
If you don't need that package which is failing for you, just move it to the nonworking directory and try again.<br />
<br />
=== X--tag=CC: command not found ===<br />
<br />
While running '''make stage''' on Ubuntu 10.10, I got the following error during compilation of sdl-gfx:<br />
<br />
/bin/sh ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SDL_gfx\" -DVERSION=\"2.0.20\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DX_DISPLAY_MISSING=1 -DBUILD_DLL -I. -g -O2 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT SDL_gfxPrimitives.lo -MD -MP -MF .deps/SDL_gfxPrimitives.Tpo -c -o SDL_gfxPrimitives.lo SDL_gfxPrimitives.c<br />
./libtool: line 847: X--tag=CC: command not found<br />
./libtool: line 880: libtool: ignoring unknown tag : command not found<br />
./libtool: line 847: X--mode=compile: command not found<br />
./libtool: line 1014: *** Warning: inferring the mode of operation is deprecated.: command not found<br />
./libtool: line 1015: *** Future versions of Libtool will require --mode=MODE be specified.: command not found<br />
./libtool: line 1158: Xgcc: command not found<br />
./libtool: line 1158: X-DPACKAGE_NAME="": command not found<br />
./libtool: line 1158: X-DPACKAGE_TARNAME="": command not found<br />
<br />
In order to fix this problem, I had to run this command to set <code>$echo</code> (which gets used in line 847 of the libtool script):<br />
<br />
export echo=echo<br />
<br />
and re-run <code>make stage</code> in the same shell session.<br />
<br />
=== missing macro AM_PATH_SDL in making libsdl-gfx ===<br />
In Ubuntu Server 11.04 amd64 I had to install the package libsdl1.2-dev to get past this. I also needed the X--tag=CC fix above.<br />
<br />
==Sample build of [[Application:Doom]]==<br />
<br />
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.<br />
<br />
==In Process Enhancements==<br />
[[Extracting the PDK on Linux]]</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&diff=17245WebOS Internals PDK2011-07-13T03:28:09Z<p>Elpollodiablo1: </p>
<hr />
<div>[[Category: SDL]]<br />
Palm's binary sdk the "Plugin Developer Kit" became available to all developers in March 2010.<br />
<br />
When the widk was developed, the Palm PDK didn't exist, and until Dec 2010, it was not possible to run the PDK in Linux. If you would like to run the official Palm PDK, see [[PDK on Linux]] for directions.<br />
<br />
In addition to the PDK, webOS Internals has released a full "WIDK" (webOS Internals Development Kit) for you using Scratchbox2. <br />
<br />
Less than 10% of developers in the webOS developer community use Linux variants. Among those 10% there are dozens of different linux distributions that people use. Palm, therefore has chosen to support only Mac and Windows platforms for their PDK. Palm recommends that Linux based developers use the webOS-internals WIDK instead. <br />
<br />
We ''strongly'' urge the open-source homebrew community to standardize on this WIDK. It uses the same underlying technologies, and is entirely open. <br />
<br />
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.<br />
<br />
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. <br />
<br />
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 11.04 32 bit. See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva. If you want to run the WIDK on other distributions and are willing to support that yourself and not ask webOS Internals any questions about it then please enjoy and if you succeed come back here and make a new article on how you did it. Otherwise, use the recommended OS.<br />
<br />
The webOS Internals team ''strongly suggest'' apt-get install into the Ubuntu environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 11.04 server with very little effort on any operating system. <br />
<br />
Developers wanting to work in an open environment 'without' SB2 can consider using the [http://www.webos-internals.org/wiki/Gentoo_NDK PuffTheMagic NDK].<br />
<br />
==SB2 Homepage==<br />
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk<br />
<br />
==License==<br />
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.<br />
<br />
== Installation on Ubuntu for webOS PDK cross compiling ==<br />
<br />
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.<br />
<br />
<br />
== Update ==<br />
There is an automated installer avaliable [http://forums.precentral.net/webos-internals/266139-webos-internals-automated-installers.html#post2718551 here]<br />
<br />
<div style="float:right; clear:right; width:30%">{{Ubuntu_VM_notes_for_Windows_users}}</div><br />
===Toolchain===<br />
<br />
===Prerequisites===<br />
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.<br />
<br />
{| border="1"<br />
|+ <br />
|'''git''' || sudo apt-get install git-core<br />
|-<br />
|'''gcc''' || sudo apt-get install build-essential<br />
|-<br />
|'''curl''' || sudo apt-get install curl<br />
|-<br />
|'''unzip'''|| sudo apt-get install unzip<br />
|-<br />
|'''7zip'''|| sudo apt-get install p7zip-full<br />
|-<br />
|'''autoconf'''|| sudo apt-get install autoconf<br />
|-<br />
|'''subversion'''|| sudo apt-get install subversion<br />
|-<br />
|'''libtool'''|| sudo apt-get install libtool<br />
|-<br />
|'''wget'''|| sudo apt-get install wget<br />
|-<br />
|'''pkg-config'''|| sudo apt-get install pkg-config<br />
|-<br />
|'''gettext'''|| sudo apt-get install gettext<br />
|-<br />
|'''fakeroot'''|| sudo apt-get install fakeroot<br />
|-<br />
|'''javac *'''|| sudo apt-get install sun-java6-jdk<br />
|-<br />
|'''ant'''|| sudo apt-get install ant<br />
|-<br />
|'''xsltproc'''|| sudo apt-get install xsltproc<br />
|-<br />
|'''intltool'''|| sudo apt-get install intltool<br />
|-<br />
|'''mkimage'''|| sudo apt-get install uboot-mkimage<br />
|-<br />
|'''lsdiff'''|| sudo apt-get install patchutils<br />
|-<br />
|'''flex'''|| sudo apt-get install flex<br />
|-<br />
|'''bison'''|| sudo apt-get install bison<br />
|-<br />
|'''libssl-dev'''|| sudo apt-get install libssl-dev<br />
|-<br />
|'''zlib1g-dev'''|| sudo apt-get install zlib1g-dev<br />
|-<br />
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev<br />
|-<br />
|'''xar *'''|| sudo apt-get install xar<br />
|-<br />
|'''help2man'''|| sudo apt-get install help2man<br />
|-<br />
|'''texinfo'''|| sudo apt-get install texinfo<br />
|-<br />
|'''automake 1.10'''|| sudo apt-get install automake1.10<br />
|-<br />
|'''autopoint'''|| sudo apt-get install autopoint<br />
|-<br />
|'''xutils-dev'''|| sudo apt-get install xutils-dev<br />
|}<br />
<br />
* it has been reported that sun-java6-jdk isn't necessary<br />
* On Ubuntu 11.04 xar might not install using <code>sudo apt-get install xar</code> See Note 2 Below<br />
<br />
If you're uncertain at all, and you're using Ubuntu 11.04, just cut and paste the following. If they are already installed, they'll be skipped. xar is not included in the code below.<br />
<br />
sudo apt-get install git-core build-essential curl unzip p7zip-full autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev zlib1g-dev libbz2-dev help2man texinfo automake1.10 autopoint xutils-dev <br />
<br />
'''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.<br />
<br />
'''Note 2:''' If you're using Ubuntu 11.04 and <code>xar</code> cannot be installed with <code>sudo apt-get install xar</code>, then you have to download two <code>.deb</code>-files manually and install them (in the order they are listed):<br />
# [http://packages.ubuntu.com/hardy/libxar1 libxar1]<br />
# [http://packages.ubuntu.com/hardy/xar xar]<br />
After that execute the above command again.<br />
<br />
Use these 2 command line :<BR><br />
Update repositories :<br />
sudo aptitude update<br />
And next, update the packages :<br />
sudo aptitude safe-upgrade<br />
<br />
If you're on a 64-bit system, you will also need to install the ia32-libs package.<br />
<br />
'''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. <br />
<br />
====Start setup====<br />
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. <br />
<br />
sudo mkdir -p /srv/preware<br />
cd /srv/preware<br />
sudo chmod 777 .<br />
git clone git://git.webos-internals.org/preware/cross-compile.git<br />
cd cross-compile<br />
make toolchain<br />
<br />
If errors occur, browse the [http://git.webos-internals.org/?p=preware/cross-compile.git;a=shortlog repository online] and checkout earlier commits until you get something that gets through "make toolchain" and the later "make stage" commands like so:<br />
<br />
git checkout <commit-ish><br />
<br />
====Fix mmap errors====<br />
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. (Do each command separately with cut and paste).<br />
<br />
sudo apt-get install qemu-arm-static<br />
sudo apt-get remove qemu-arm-static<br />
<br />
It appears that this package has been renamed qemu-kvm-extras-static in Ubuntu 11.04.<br />
<br />
: <span style="font-size:150%">OR</span> As a workaround, if this package is not available, <br />
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.<br />
<br />
echo "vm.mmap_min_addr = 4096" > /etc/sysctl.d/mmap_min_addr.conf<br />
/etc/init.d/procps restart<br />
<br />
(note that the value should not be "0". 4096 is chosen to avoid null pointer attacks.)<br />
<br />
====Verify sh shell====<br />
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.<br />
<br />
ls -l /bin/sh<br />
<br />
If the result is a link to dash:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -> dash<br />
<br />
You will want to correct it with the following:<br />
<br />
sudo dpkg-reconfigure dash<br />
<br />
You will be asked if you want to "Install dash as /bin/sh?". Select "<No>" and bash will be used. Rerun the command to verify:<br />
<br />
ls -l /bin/sh<br />
<br />
You should now see:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -> bash<br />
<br />
====Setup Scratchbox====<br />
Now, use apt-get to setup scratchbox...<br />
<br />
sudo apt-get install scratchbox2 qemu-kvm-extras (in Debian install qemu-user and qemu-system instead of qemu-kvm-extras)<br />
<br />
...and set it up for compiling for webOS. <br />
<br />
cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc<br />
cd /srv/preware/cross-compile<br />
<br />
Then:<br />
<br />
make stage<br />
<br />
Once this setup is complete, compiling sdl apps for webOS is very simple.<br />
<br />
==Verified installed clean list==<br />
<br />
If you have successfully built the WIDK from scratch, with NO problems, feel free to add your information to this list. This will help us assess what distributions and versions it is fully compatible with.<br />
<br />
{| border="1" class="wikitable"<br />
|-<br />
|'''IRC name'''<br />
|'''Linux Distribution'''<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Comments'''<br />
|-<br />
|Scoutcamper<br />
|Ubuntu<br />
|9.04,9.10,10.04,10.10<br />
|10-18-10<br />
|Works Great!<br />
|}<br />
<br />
It just doesn't work tried for over a week, with fresh Ubuntu 10.4 inside and outside of virtual box, fails on libtool for common/fuse/. Tried -j4 option with make stage, tried make staging-armv7. Also installed automake-1.9 after seeing complaints about that. -- please sign your comments<br />
<br />
==Errors during make stage ==<br />
<br />
===automake1.10===<br />
<br />
If you see the error below, you need the latest automake (1.10)<br />
<br />
/usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in AM_CONDITIONAL<br />
configure.in:88: installing `./config.guess'<br />
configure.in:88: installing `./config.sub'<br />
Makefile.am: installing `./INSTALL'<br />
autoreconf2.50: automake failed with exit status: 1<br />
<br />
Install automake1.10 and it should work (according to [http://old.nabble.com/AC_PROG_OBJC-and-automake-1.9-td22434760.html this page])<br />
<br />
===Libtool===<br />
<br />
make[5]: Entering directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT libdotconf_la-dotconf.lo -MD -MP -MF .deps/libdotconf_la-dotconf.Tpo -c -o libdotconf_la-dotconf.lo `test -f 'dotconf.c' || echo './'`dotconf.c<br />
libtool: Version mismatch error. This is libtool 2.2.6b, but the<br />
libtool: definition of this LT_INIT comes from libtool 2.2.6.<br />
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b<br />
libtool: and run autoconf again.<br />
make[5]: *** [libdotconf_la-dotconf.lo] Error 63<br />
make[5]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
make[4]: *** [install-recursive] Error 1<br />
make[4]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6'<br />
make[3]: *** [build/armv6.built] Error 2<br />
make[3]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf'<br />
make[2]: *** [build_common/libdotconf] Error 2<br />
make[2]: Leaving directory `/srv/preware/cross-compile'<br />
make[1]: *** [staging-armv6] Error 2<br />
make[1]: Leaving directory `/srv/preware/cross-compile'<br />
make: *** [stage] Error 2<br />
<br />
Confirmed by 3 people. Fix this by either (your choice)<br />
*upgrading to Ubuntu 10.04 or newer (the WIDK now relies on a slightly newer version of libtool that's not in 9.10 or earlier)<br />
*updating libtool to 2.2.6b-2 (backported to 9.10, see available downloads on http://linuxappfinder.com/package/libtool#ubuntu_karmicpartner)<br />
<br />
<br />
If you're getting an error where sb2-init gives you the following output:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
Running /usr/bin/sb2-build-libtool failed<br />
You can run this manually later, otherwise your<br />
sb2 environment is correctly setup and ready to use<br />
<br />
You need to upgrade qemu. Alternatively, if your sb2-init output fails with a different output, like this:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
sb2-init completed successfully, have fun!<br />
<br />
Then you need to upgrade scratchbox, too (install 2.0 instead of 1.99).<br />
<br />
=== ecore ===<br />
*TRUE and FALSE are not defined:<br />
Manually add the definition:<br />
<br />
#ifndef TRUE<br />
# define TRUE 1<br />
#endif<br />
<br />
#ifndef FALSE<br />
# define FALSE 0<br />
#endif<br />
<br />
*<code>$po_makefile_in</code> could not be found:<br />
**Open the file <code>/srv/preware/cross-compile/packages/dev-e/ecore/build/src/configure.ac</code> and search for the line with: <code>$po_makefile_in</code> (in my case line 1437) and replace it with <code>po/Makefile.in</code><br />
<br />
=== /bin/sh errors ===<br />
If you are getting a "bad fd number" or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)<br />
<br />
Go back through the Verify sh shell section above to correct.<br />
<br />
=== further download errors ===<br />
<br />
rwhitby's suggestion:<br />
<br />
If you don't need that package which is failing for you, just move it to the nonworking directory and try again.<br />
<br />
=== X--tag=CC: command not found ===<br />
<br />
While running '''make stage''' on Ubuntu 10.10, I got the following error during compilation of sdl-gfx:<br />
<br />
/bin/sh ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SDL_gfx\" -DVERSION=\"2.0.20\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DX_DISPLAY_MISSING=1 -DBUILD_DLL -I. -g -O2 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT SDL_gfxPrimitives.lo -MD -MP -MF .deps/SDL_gfxPrimitives.Tpo -c -o SDL_gfxPrimitives.lo SDL_gfxPrimitives.c<br />
./libtool: line 847: X--tag=CC: command not found<br />
./libtool: line 880: libtool: ignoring unknown tag : command not found<br />
./libtool: line 847: X--mode=compile: command not found<br />
./libtool: line 1014: *** Warning: inferring the mode of operation is deprecated.: command not found<br />
./libtool: line 1015: *** Future versions of Libtool will require --mode=MODE be specified.: command not found<br />
./libtool: line 1158: Xgcc: command not found<br />
./libtool: line 1158: X-DPACKAGE_NAME="": command not found<br />
./libtool: line 1158: X-DPACKAGE_TARNAME="": command not found<br />
<br />
In order to fix this problem, I had to run this command to set <code>$echo</code> (which gets used in line 847 of the libtool script):<br />
<br />
export echo=echo<br />
<br />
and re-run <code>make stage</code> in the same shell session.<br />
<br />
=== missing macro AM_PATH_SDL in making libsdl-gfx ===<br />
In Ubuntu Server 11.04 amd64 I had to install the package libsdl1.2-dev to get past this. I also needed the X--tag=CC fix above.<br />
<br />
==Sample build of [[Application:Doom]]==<br />
<br />
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.<br />
<br />
==In Process Enhancements==<br />
[[Extracting the PDK on Linux]]</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&diff=17243WebOS Internals PDK2011-07-13T02:15:38Z<p>Elpollodiablo1: </p>
<hr />
<div>[[Category: SDL]]<br />
Palm's binary sdk the "Plugin Developer Kit" became available to all developers in March 2010.<br />
<br />
When the widk was developed, the Palm PDK didn't exist, and until Dec 2010, it was not possible to run the PDK in Linux. If you would like to run the official Palm PDK, see [[PDK on Linux]] for directions.<br />
<br />
In addition to the PDK, webOS Internals has released a full "WIDK" (webOS Internals Development Kit) for you using Scratchbox2. <br />
<br />
Less than 10% of developers in the webOS developer community use Linux variants. Among those 10% there are dozens of different linux distributions that people use. Palm, therefore has chosen to support only Mac and Windows platforms for their PDK. Palm recommends that Linux based developers use the webOS-internals WIDK instead. <br />
<br />
We ''strongly'' urge the open-source homebrew community to standardize on this WIDK. It uses the same underlying technologies, and is entirely open. <br />
<br />
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.<br />
<br />
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. <br />
<br />
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 11.04 32 bit. See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva. If you want to run the WIDK on other distributions and are willing to support that yourself and not ask webOS Internals any questions about it then please enjoy and if you succeed come back here and make a new article on how you did it. Otherwise, use the recommended OS.<br />
<br />
The webOS Internals team ''strongly suggest'' apt-get install into the Ubuntu environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 11.04 server with very little effort on any operating system. <br />
<br />
Developers wanting to work in an open environment 'without' SB2 can consider using the [http://www.webos-internals.org/wiki/Gentoo_NDK PuffTheMagic NDK].<br />
<br />
==SB2 Homepage==<br />
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk<br />
<br />
==License==<br />
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.<br />
<br />
== Installation on Ubuntu for webOS PDK cross compiling ==<br />
<br />
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.<br />
<br />
<br />
== Update ==<br />
There is an automated installer avaliable [http://forums.precentral.net/webos-internals/266139-webos-internals-automated-installers.html#post2718551 here]<br />
<br />
<div style="float:right; clear:right; width:30%">{{Ubuntu_VM_notes_for_Windows_users}}</div><br />
===Toolchain===<br />
<br />
===Prerequisites===<br />
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.<br />
<br />
{| border="1"<br />
|+ <br />
|'''git''' || sudo apt-get install git-core<br />
|-<br />
|'''gcc''' || sudo apt-get install build-essential<br />
|-<br />
|'''curl''' || sudo apt-get install curl<br />
|-<br />
|'''unzip'''|| sudo apt-get install unzip<br />
|-<br />
|'''7zip'''|| sudo apt-get install p7zip-full<br />
|-<br />
|'''autoconf'''|| sudo apt-get install autoconf<br />
|-<br />
|'''subversion'''|| sudo apt-get install subversion<br />
|-<br />
|'''libtool'''|| sudo apt-get install libtool<br />
|-<br />
|'''wget'''|| sudo apt-get install wget<br />
|-<br />
|'''pkg-config'''|| sudo apt-get install pkg-config<br />
|-<br />
|'''gettext'''|| sudo apt-get install gettext<br />
|-<br />
|'''fakeroot'''|| sudo apt-get install fakeroot<br />
|-<br />
|'''javac'''|| sudo apt-get install sun-java6-jdk<br />
|-<br />
|'''ant'''|| sudo apt-get install ant<br />
|-<br />
|'''xsltproc'''|| sudo apt-get install xsltproc<br />
|-<br />
|'''intltool'''|| sudo apt-get install intltool<br />
|-<br />
|'''mkimage'''|| sudo apt-get install uboot-mkimage<br />
|-<br />
|'''lsdiff'''|| sudo apt-get install patchutils<br />
|-<br />
|'''flex'''|| sudo apt-get install flex<br />
|-<br />
|'''bison'''|| sudo apt-get install bison<br />
|-<br />
|'''libssl-dev'''|| sudo apt-get install libssl-dev<br />
|-<br />
|'''libz-dev'''|| sudo apt-get install libz-dev<br />
|-<br />
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev<br />
|-<br />
|'''xar'''|| sudo apt-get install xar<br />
|-<br />
|'''help2man'''|| sudo apt-get install help2man<br />
|-<br />
|'''texinfo'''|| sudo apt-get install texinfo<br />
|-<br />
|'''automake 1.10'''|| sudo apt-get install automake1.10<br />
|-<br />
|'''autopoint'''|| sudo apt-get install gettext<br />
|-<br />
|'''xorg-macros'''|| sudo apt-get install xorg-build-macros<br />
|}<br />
<br />
* it has been reported that sun-java6-jdk isn't necessary<br />
* xorg-build-macros has been replaced by xutils-dev on Ubuntu 10.10 and higher<br />
* libz-dev has been replaced by zlib1g-dev on Ubuntu 11.04<br />
<br />
If you're uncertain at all, and you're using Ubuntu 11.04, just cut and paste the following. If they are already installed, they'll be skipped.<br />
<br />
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 zlib1g-dev libbz2-dev help2man texinfo automake1.10 autopoint xutils-dev p7zip-full<br />
<br />
'''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.<br />
<br />
'''Note 2:''' If you're using Ubuntu and <code>xar</code> cannot be installed with <code>sudo apt-get install xar</code>, then you have to download two <code>.deb</code>-files manually and install them (in the order they are listed):<br />
# [http://packages.ubuntu.com/hardy/libxar1 libxar1]<br />
# [http://packages.ubuntu.com/hardy/xar xar]<br />
After that execute the above command again.<br />
<br />
Use these 2 command line :<BR><br />
Update repositories :<br />
sudo aptitude update<br />
And next, update the packages :<br />
sudo aptitude safe-upgrade<br />
<br />
If you're on a 64-bit system, you will also need to install the ia32-libs package.<br />
<br />
'''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. <br />
<br />
====Start setup====<br />
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. <br />
<br />
sudo mkdir -p /srv/preware<br />
cd /srv/preware<br />
sudo chmod 777 .<br />
git clone git://git.webos-internals.org/preware/cross-compile.git<br />
cd cross-compile<br />
make toolchain<br />
<br />
If errors occur, browse the [http://git.webos-internals.org/?p=preware/cross-compile.git;a=shortlog repository online] and checkout earlier commits until you get something that gets through "make toolchain" and the later "make stage" commands like so:<br />
<br />
git checkout <commit-ish><br />
<br />
====Fix mmap errors====<br />
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. (Do each command separately with cut and paste).<br />
<br />
sudo apt-get install qemu-arm-static<br />
sudo apt-get remove qemu-arm-static<br />
<br />
It appears that this package has been renamed qemu-kvm-extras-static in Ubuntu 11.04.<br />
<br />
: <span style="font-size:150%">OR</span> As a workaround, if this package is not available, <br />
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.<br />
<br />
echo "vm.mmap_min_addr = 4096" > /etc/sysctl.d/mmap_min_addr.conf<br />
/etc/init.d/procps restart<br />
<br />
(note that the value should not be "0". 4096 is chosen to avoid null pointer attacks.)<br />
<br />
====Verify sh shell====<br />
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.<br />
<br />
ls -l /bin/sh<br />
<br />
If the result is a link to dash:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -> dash<br />
<br />
You will want to correct it with the following:<br />
<br />
sudo dpkg-reconfigure dash<br />
<br />
You will be asked if you want to "Install dash as /bin/sh?". Select "<No>" and bash will be used. Rerun the command to verify:<br />
<br />
ls -l /bin/sh<br />
<br />
You should now see:<br />
<br />
lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -> bash<br />
<br />
====Setup Scratchbox====<br />
Now, use apt-get to setup scratchbox...<br />
<br />
sudo apt-get install scratchbox2 qemu-kvm-extras (in Debian install qemu-user and qemu-system instead of qemu-kvm-extras)<br />
<br />
...and set it up for compiling for webOS. <br />
<br />
cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc<br />
cd /srv/preware/cross-compile<br />
<br />
Then:<br />
<br />
make stage<br />
<br />
Once this setup is complete, compiling sdl apps for webOS is very simple.<br />
<br />
==Verified installed clean list==<br />
<br />
If you have successfully built the WIDK from scratch, with NO problems, feel free to add your information to this list. This will help us assess what distributions and versions it is fully compatible with.<br />
<br />
{| border="1" class="wikitable"<br />
|-<br />
|'''IRC name'''<br />
|'''Linux Distribution'''<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Comments'''<br />
|-<br />
|Scoutcamper<br />
|Ubuntu<br />
|9.04,9.10,10.04,10.10<br />
|10-18-10<br />
|Works Great!<br />
|}<br />
<br />
It just doesn't work tried for over a week, with fresh Ubuntu 10.4 inside and outside of virtual box, fails on libtool for common/fuse/. Tried -j4 option with make stage, tried make staging-armv7. Also installed automake-1.9 after seeing complaints about that. -- please sign your comments<br />
<br />
==Errors during make stage ==<br />
<br />
===automake1.10===<br />
<br />
If you see the error below, you need the latest automake (1.10)<br />
<br />
/usr/share/automake-1.9/am/depend2.am: am__fastdepOBJC does not appear in AM_CONDITIONAL<br />
configure.in:88: installing `./config.guess'<br />
configure.in:88: installing `./config.sub'<br />
Makefile.am: installing `./INSTALL'<br />
autoreconf2.50: automake failed with exit status: 1<br />
<br />
Install automake1.10 and it should work (according to [http://old.nabble.com/AC_PROG_OBJC-and-automake-1.9-td22434760.html this page])<br />
<br />
===Libtool===<br />
<br />
make[5]: Entering directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -O2 -MT libdotconf_la-dotconf.lo -MD -MP -MF .deps/libdotconf_la-dotconf.Tpo -c -o libdotconf_la-dotconf.lo `test -f 'dotconf.c' || echo './'`dotconf.c<br />
libtool: Version mismatch error. This is libtool 2.2.6b, but the<br />
libtool: definition of this LT_INIT comes from libtool 2.2.6.<br />
libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6b<br />
libtool: and run autoconf again.<br />
make[5]: *** [libdotconf_la-dotconf.lo] Error 63<br />
make[5]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6/src'<br />
make[4]: *** [install-recursive] Error 1<br />
make[4]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf/build/armv6'<br />
make[3]: *** [build/armv6.built] Error 2<br />
make[3]: Leaving directory `/srv/preware/cross-compile/packages/common/libdotconf'<br />
make[2]: *** [build_common/libdotconf] Error 2<br />
make[2]: Leaving directory `/srv/preware/cross-compile'<br />
make[1]: *** [staging-armv6] Error 2<br />
make[1]: Leaving directory `/srv/preware/cross-compile'<br />
make: *** [stage] Error 2<br />
<br />
Confirmed by 3 people. Fix this by either (your choice)<br />
*upgrading to Ubuntu 10.04 or newer (the WIDK now relies on a slightly newer version of libtool that's not in 9.10 or earlier)<br />
*updating libtool to 2.2.6b-2 (backported to 9.10, see available downloads on http://linuxappfinder.com/package/libtool#ubuntu_karmicpartner)<br />
<br />
<br />
If you're getting an error where sb2-init gives you the following output:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
Running /usr/bin/sb2-build-libtool failed<br />
You can run this manually later, otherwise your<br />
sb2 environment is correctly setup and ready to use<br />
<br />
You need to upgrade qemu. Alternatively, if your sb2-init output fails with a different output, like this:<br />
<br />
checking for gcc... gcc<br />
checking for C compiler default output file name... a.out<br />
checking whether the C compiler works... configure: error: cannot run C compiled programs.<br />
If you meant to cross compile, use `--host'.<br />
See `config.log' for more details.<br />
<br />
<br />
sb2-init completed successfully, have fun!<br />
<br />
Then you need to upgrade scratchbox, too (install 2.0 instead of 1.99).<br />
<br />
=== ecore ===<br />
*TRUE and FALSE are not defined:<br />
Manually add the definition:<br />
<br />
#ifndef TRUE<br />
# define TRUE 1<br />
#endif<br />
<br />
#ifndef FALSE<br />
# define FALSE 0<br />
#endif<br />
<br />
*<code>$po_makefile_in</code> could not be found:<br />
**Open the file <code>/srv/preware/cross-compile/packages/dev-e/ecore/build/src/configure.ac</code> and search for the line with: <code>$po_makefile_in</code> (in my case line 1437) and replace it with <code>po/Makefile.in</code><br />
<br />
=== /bin/sh errors ===<br />
If you are getting a "bad fd number" or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)<br />
<br />
Go back through the Verify sh shell section above to correct.<br />
<br />
=== further download errors ===<br />
<br />
rwhitby's suggestion:<br />
<br />
If you don't need that package which is failing for you, just move it to the nonworking directory and try again.<br />
<br />
=== X--tag=CC: command not found ===<br />
<br />
While running '''make stage''' on Ubuntu 10.10, I got the following error during compilation of sdl-gfx:<br />
<br />
/bin/sh ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SDL_gfx\" -DVERSION=\"2.0.20\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DX_DISPLAY_MISSING=1 -DBUILD_DLL -I. -g -O2 -I/usr/local/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT SDL_gfxPrimitives.lo -MD -MP -MF .deps/SDL_gfxPrimitives.Tpo -c -o SDL_gfxPrimitives.lo SDL_gfxPrimitives.c<br />
./libtool: line 847: X--tag=CC: command not found<br />
./libtool: line 880: libtool: ignoring unknown tag : command not found<br />
./libtool: line 847: X--mode=compile: command not found<br />
./libtool: line 1014: *** Warning: inferring the mode of operation is deprecated.: command not found<br />
./libtool: line 1015: *** Future versions of Libtool will require --mode=MODE be specified.: command not found<br />
./libtool: line 1158: Xgcc: command not found<br />
./libtool: line 1158: X-DPACKAGE_NAME="": command not found<br />
./libtool: line 1158: X-DPACKAGE_TARNAME="": command not found<br />
<br />
In order to fix this problem, I had to run this command to set <code>$echo</code> (which gets used in line 847 of the libtool script):<br />
<br />
export echo=echo<br />
<br />
and re-run <code>make stage</code> in the same shell session.<br />
<br />
=== missing macro AM_PATH_SDL in making libsdl-gfx ===<br />
In Ubuntu Server 11.04 amd64 I had to install the package libsdl1.2-dev to get past this. I also needed the X--tag=CC fix above.<br />
<br />
==Sample build of [[Application:Doom]]==<br />
<br />
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.<br />
<br />
==In Process Enhancements==<br />
[[Extracting the PDK on Linux]]</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Application_talk:Qt&diff=9373Application talk:Qt2010-03-14T17:22:34Z<p>Elpollodiablo1: New page: Has anyone started porting apps over the WebOS yet? I am going to try and port over VLC [http://qt-apps.org/content/show.php/VLC+media+player?content=93073 QT VLC]. I am not promising an...</p>
<hr />
<div>Has anyone started porting apps over the WebOS yet? <br />
<br />
I am going to try and port over VLC [http://qt-apps.org/content/show.php/VLC+media+player?content=93073 QT VLC]. I am not promising anything and if you are interested in helping out please let me know.<br />
--[[User:Elpollodiablo1|Elpollodiablo1]] 17:22, 14 March 2010 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Application:OpenSSH&diff=9298Application:OpenSSH2010-03-05T02:27:14Z<p>Elpollodiablo1: </p>
<hr />
<div>==Introduction==<br />
<br />
OpenSSH is a FREE version of the SSH connectivity tools that technical users of the Internet rely on.<br />
<br />
Please refer to the [http://www.openssh.com/ OpenSSH Home Page] and read the [http://www.openssh.com/manual.html OpenSSH Manual Pages] before using this package.<br />
<br />
There are two ways to generate the keys below. The PC one assumes you have a user account name and password to gain access with putty I assume it is not possible to complete the steps for that method without setting up a user account. I find the webOS method to be much easier to follow. And I imagine if you are new to linux and accessing linux on webOS then you will find the webOS method is the one you will want to follow. I also recommend the webOS method if you have trouble following the PC method or find it too wordy.<br />
<br />
==Generate Keys from Windows PC Method==<br />
<br />
If you are connecting to your webOS device from a Windows host computer, please read the [http://unixwiz.net/techtips/putty-openssh.html Secure Linux/UNIX access with PuTTY and OpenSSH Tech Tip] and follow those instructions for generating your SSH keys. For the section "Install public key on Linux system", you will need to put the "Public Key for pasting into OpenSSH authorized_keys file" into a /home/root/.ssh/authorized_keys file.<br />
<br />
Optware installs openssh under /opt, so you should replace any references to /bin, /sbin, and /etc in the OpenSSH documentation with /opt/bin, /opt/sbin and /opt/etc respectively.<br />
<br />
=== Setting up ExpanDrive (SftpDrive) ===<br />
<br />
''Note: This requires access to the device's file system by any means.''<br />
* Open ExpanDrive<br />
* Click "New drive..."<br />
* Type a name into the "Drive Name" box.<br />
* Type in the IP address of the device in the "Server" box.<br />
* Type "root" into the "Username" box.<br />
* Choose "Use a public key to log in..." from the "Authentication" drop-down.<br />
* Click "Create New Key Pair"<br />
* Choose "RSA (ssh-rsa)" from the "Key type" drop-down.<br />
* Click "Create Key Pairs".<br />
* Click "Ok".<br />
* Click "Export current Key Pair"<br />
* Click both "Export Private Key" and "Export Public Key" and save the files somewhere (remember where you saved them) and click "Ok".<br />
* Open the .pub file you saved in the previous step using a plain text editor.<br />
* Copy the contents of the entire file and paste it into "/var/home/root/.ssh/authorized_keys" (on the device) on the next line and save it.<br />
* Go back to ExpanDrive and click "Ok" on the still open "Public Key Authentication Properties" dialog.<br />
* Choose "Show the entire server" from the "Directory" drop-down.<br />
* Click "Connect" to connect and save the configuration.<br />
* After the connection process is complete, a new Explorer window will open and you will be in the "%DriveLetter%:\var\home\root" directory.<br />
<br />
==Generate Keys from webOS Method==<br />
<br />
Launch Preware and install [http://www.webos-internals.org/wiki/Application:Terminal Terminal] if you haven't previously installed it. It will be used to create your secure SSH keys for use with OpenSSH directly on your webOS device. Once Terminal is installed launch it and follow these steps:<br />
<br />
To go to the root directory type:<br />
<br />
cd /<br />
<br />
Then type:<br />
<br />
/opt/bin/ssh-keygen<br />
<br />
to create the private and public keys. After a short time (about a minute) accept the default filename by pressing Enter at the prompt. Enter a passphrase for your private key file. You will use this passphrase later, so remember it. After the key file is generated type:<br />
<br />
mv /home/root/.ssh/id_rsa.pub /home/root/.ssh/authorized_keys<br />
<br />
to move the public key to become the /home/root/.ssh/authorized_keys file.<br />
<br />
Now the secret key needs to be transferred to the PC you want to access linux on webOS from. First copy the secret key to the area accessible from drive mode. To do this, type:<br />
<br />
cp /home/root/.ssh/id_rsa /media/internal/id_rsa<br />
<br />
We are all done using Terminal so you can close it by tossing it off the top of the screen like you would for any other application. Next you need to connect your device to the PC with the USB cable and tap drive mode. Once drive mode is active open the drive letter for the device on your PC (ex. "PALM PRE (E:)"). Copy the "id_rsa" file to your PC somewhere you will remember it's location (ex. to the desktop).<br />
<br />
===Using the key with PuTTY===<br />
<br />
If you have the webOS SDK installed you will already have PuTTY (in \SDK\bin\ of the folder the SDK was installed in). If you don't have the webOS SDK installed you can install it to get PuTTY or you can download [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY]. You will also need PuTTYgen. If you will be using winSCP you already have it (in start menu>winSCP>key tools) or download it from the same site as PuTTY. If this is your first time using PuTTY to access linux on webOS or wish to verify the configuration is correct please follow these steps:<br />
<br />
*Open PuTTY.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100).<br />
*Enter 22 for the port number.<br />
*Select the radio button for SSH<br />
*Select the Data section under Connection on the left.<br />
*Enter root for the auto-login username.<br />
*Select the Auth section under SSH under Connection on the left.<br />
*Leave PuTTY open here and follow these steps:<br />
**Open PuTTYgen.<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to PuTTY where we left off.<br />
*Click the Browse button for private key file.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Select Session on the left.<br />
*Enter a name in the Saved Session box and click the save button.<br />
**This will allow you to load the settings for future use.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Click open in PuTTY to connect.<br />
<br />
If everything is configured correctly you should see the following in the terminal window on your pc:<br />
<br />
Using username "root".<br />
Authenticating with public key "imported-openssh-key"<br />
Passphrase for key "imported-openssh-key":<br />
<br />
*Enter the passphrase you created during key generation.<br />
<br />
You should now see:<br />
<br />
root@palm-webos-device:/var/home/root#<br />
<br />
Congratulations you now have access to linux on your webOS device. You may now begin using the command prompt to work with anything you need or want to use the command prompt for. There is all sorts of stuff you can use it for so if you haven't already check out the rest of the webos-internals site for a number of things you can do. You may also want to setup winSCP for a explorer like windows interface to access and work with files etc as well.<br />
<br />
===Using the key with winSCP===<br />
<br />
*Open winSCP.<br />
*Enter the IP address assigned to your webOS device (ex. 192.168.1.100) in the host name box.<br />
*Enter 22 for the port number.<br />
*Enter root in the user name box.<br />
*Leave winSCP open and follow these steps:<br />
**Open PuTTYgen (startmenu>winSCP>key tools).<br />
**Select the conversions menu.<br />
**Select import key.<br />
**Choose the id_rsa file you copied to the PC from your device and click open.<br />
**Enter the passphrase you entered during key generation and click ok.<br />
***You will see all sorts of information in the window at this point.<br />
**Click the save private key button.<br />
**Enter a name for it (no need to type the ppk extension) and save it somewhere you will remember it's location.<br />
**Close PuTTYgen and go back to winSCP where we left off.<br />
*Click the "..." button for the private key file box.<br />
*Select the ppk file you made with PuTTYgen and click open.<br />
*Click the save button and enter a name and click ok.<br />
**This will allow you to load the settings for future use.<br />
*You should now be seeing the stored sessions list with the session you just saved.<br />
*Make sure your device's wifi is on.<br />
**You can install nodoze to keep wifi on if need be.<br />
*Select the session you saved and click the login button.<br />
*Enter the passphrase you created during key generation.<br />
<br />
If everything is configured correctly you should see a window with a list of folders similar to explorer. Congratulations you now have access to linux on your webOS device. You may now begin working with files on the device. You can do stuff like copy, delete, etc file like in windows. You can also edit files. Certain actions will require read write mode (mount -o remount,rw / entered at the command prompt in PuTTY or terminal, mount -o remount,ro / to go back to read only mode).<br />
<br />
===Using the key with SSH in Terminal===<br />
<br />
Put your private key file in the standard location ~/.ssh/id_rsa on the machine you are using to connect to the Pre or you can inform ssh by using the -i switch as follow:<br />
<br />
user@host:~$ ssh -i /path/to/private/key remoteuser@remotehost</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&diff=8190WebOS Internals PDK2010-01-07T17:37:16Z<p>Elpollodiablo1: </p>
<hr />
<div>[[Category: SDL]]<br />
<br />
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.<br />
<br />
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. <br />
<br />
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.) <br />
<br />
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. <br />
<br />
==SB2 Homepage==<br />
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]<br />
<br />
==License==<br />
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.<br />
<br />
== Sample installation on Ubuntu for Palm Pre cross compiling ==<br />
<br />
Create a preware folder, copy the cros-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to set up the compilation toolchain. <br />
<br />
sudo mkdir -p /srv/preware<br />
cd /srv/preware<br />
sudo chmod 777 .<br />
git clone git://git.webos-internals.org/preware/cross-compile.git<br />
cd cross-compile<br />
make toolchain<br />
<br />
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.<br />
<br />
sudo apt-get install qemu-arm-static<br />
sudo apt-get remove qemu-arm-static<br />
<br />
As a workaround, if this package is not available, the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.<br />
<br />
echo "vm.mmap_min_addr = 0" > /etc/sysctl.d/mmap_min_addr.conf<br />
/etc/init.d/procps restart<br />
<br />
<br />
Now, use apt-get to setup scratchbox...<br />
<br />
sudo apt-get install scratchbox2 qemu-kvm-extras<br />
<br />
...and set it up for compiling for webOS. <br />
<br />
cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc<br />
PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc<br />
cd /srv/preware/cross-compile<br />
make stage<br />
<br />
Once this setup is complete, compiling sdl apps for webOS is very simple.<br />
<br />
==Sample build of [[Application:Doom]]==<br />
<br />
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:WebOS_Internals_PDK&diff=8189Talk:WebOS Internals PDK2010-01-07T17:19:57Z<p>Elpollodiablo1: </p>
<hr />
<div>ubuntu 9.04 does not have the correct repositories to do "sudo apt-get install qemu-arm-static" Where can I find this so I can install it or is there another work around to this step?--[[User:Elpollodiablo1|Elpollodiablo1]] 16:49, 7 January 2010 (UTC)<br />
<br />
Updated the article to include the fix which will work without this package --[[User:Destinal|Destinal]] 17:00, 7 January 2010 (UTC)<br />
<br />
I get a permission error so I tried with sudo but did work. It does not seem like the file mmap_min_addr.conf exists i that directory. should I create it and put that line into it? thanks --[[User:Elpollodiablo1|Elpollodiablo1]] 17:19, 7 January 2010 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:WebOS_Internals_PDK&diff=8185Talk:WebOS Internals PDK2010-01-07T16:49:35Z<p>Elpollodiablo1: New page: ubuntu 9.04 does not have the correct repositories to do "sudo apt-get install qemu-arm-static" Where can I find this so I can install it or is there another work around to this step?--~~~...</p>
<hr />
<div>ubuntu 9.04 does not have the correct repositories to do "sudo apt-get install qemu-arm-static" Where can I find this so I can install it or is there another work around to this step?--[[User:Elpollodiablo1|Elpollodiablo1]] 16:49, 7 January 2010 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Luna_Send&diff=7887Luna Send2009-12-30T16:40:09Z<p>Elpollodiablo1: </p>
<hr />
<div>NOTE: You have to run with root perms.<br />
<br />
Using luna-send to refresh the Launcher panel.<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.applicationManager/rescan {}<br />
</nowiki></pre><br />
<br />
Get a list of all installed apps:<br />
<pre><nowiki><br />
luna-send -n 1 "palm://com.palm.applicationManager/listLaunchPoints" "{}"<br />
</nowiki></pre><br />
<br />
Using luna-send to launch an application:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.applicationManager/launch {\"id\":\"com.palm.app.browser\"}<br />
luna-send -n 1 palm://com.palm.applicationManager/launch {\"id\":\"com.palm.app.browser\",\"params\":{\"scene\":\"page\",\"target\":\"http://www.google.com\"}}<br />
</nowiki></pre><br />
<br />
The second command shows how to open www.google.com when the browser is launched.<br />
<br />
Using luna-send to download a file to /media/internal/downloads/:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.downloadmanager/download {\"target\":\"http://www.google.com/index.html\"} <br />
</nowiki></pre><br />
<br />
Replace www.google.com/index.html with whatever file you want downloaded.<br />
<br />
Using luna-send to control the palm progress animation (The pulsing "palm" logo seen at boot):<br />
<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.systemmanager/runProgressAnimation {\"state\":\"start\"}<br />
luna-send -n 1 palm://com.palm.systemmanager/runProgressAnimation {\"state\":\"stop\"}<br />
</nowiki></pre><br />
<br />
TODO: These should probably be plugged into the Tracker app.<br />
<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.location/setUseGps {\"useGps\":\"true\"}<br />
luna-send -n 1 palm://com.palm.location/setAutoLocate {\"autoLocate\":\"true\"}<br />
luna-send -n 1 palm://com.palm.location/getCurrentPosition {}<br />
</nowiki></pre><br />
<br />
List all of the processes which are running:<br />
<pre><nowiki><br />
sudo luna-send -n 1 palm://com.palm.applicationManager/running {}<br />
** Message: serviceResponse Handling: 2, { "running": [ { "id": "com.palm.launcher", "processid": "1006" }, { "id": "com.palm.systemui", "processid": "1007" }, { "id": "com.palm.app.email", "processid": "1000" }, { "id": "com.palm.app.phone", "processid": "1001" }, { "id": "com.palm.app.contacts", "processid": "1002" }, { "id": "com.palm.app.camera", "processid": "1003" }, { "id": "com.palm.app.messaging", "processid": "1004" }, { "id": "com.palm.app.calendar", "processid": "1005" }, { "id": "com.palm.app.phone", "processid": "1008" }, { "id": "com.palm.app.camera", "processid": "1014" } ] }<br />
</nowiki></pre><br />
Interesting note:<br />
Seems everything with a processid below 1008 are static. As seen above, open camera app has pid 1014 and startup app is pid 1003<br />
<br />
Close a process:<br />
<br />
<pre><nowiki><br />
luna-send -n 1 "palm://com.palm.applicationManager/close" "{\"processId\":\"1058\"}"<br />
</nowiki></pre><br />
<br />
Activate the vibrator:<br />
<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\}<br />
</nowiki></pre><br />
The duration value is in milliseconds and can be adjusted as desired.<br />
<br />
Photos Info - list album and image from mediadb.db3:<br />
<br />
<pre><nowiki><br />
luna-send -n 1 luna://com.palm.mediadb/image/listalbums {}<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
luna-send -n 1 luna://com.palm.mediadb/image/listimages {}<br />
</nowiki></pre><br />
<br />
<br />
==Storage==<br />
<br />
Enter usb storage mode:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.storage/diskmode/enterMSM {\"user-confirmed\":false,\"enterIMasq\":true}<br />
</nowiki></pre><br />
<br />
Enter usb storage mode:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.storage/diskmode/enterMSM {\"user-confirmed\":false,\"enterIMasq\":false}<br />
</nowiki></pre><br />
<br />
--WOOT--<br />
<br />
==Finding luna-send Command==<br />
<br />
These commands come from inside given applications. The best way to find luna-send commands is to do a search for the term "method:" in the Applications code. Once you find method: you might see parameters: which is also used by luna-send here is an example.<br />
<br />
searched for "method:" in the com.app.palm.AppYouAreTesting<br />
<br />
found<br />
<br />
"method: test"<br />
<br />
luna-send command based on example:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.AppYouAreTesting/test {}<br />
</nowiki></pre><br />
<br />
General luna-send command:<br />
<pre><nowiki><br />
luna-send -n 1 palm://ApplicationName/MethodValue {ParameterValues}<br />
</nowiki></pre></div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Luna_Send&diff=7883Luna Send2009-12-30T16:27:57Z<p>Elpollodiablo1: </p>
<hr />
<div>NOTE: You have to run with root perms.<br />
<br />
Using luna-send to refresh the Launcher panel.<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.applicationManager/rescan {}<br />
</nowiki></pre><br />
<br />
Get a list of all installed apps:<br />
<pre><nowiki><br />
luna-send -n 1 "palm://com.palm.applicationManager/listLaunchPoints" "{}"<br />
</nowiki></pre><br />
<br />
Using luna-send to launch an application:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.applicationManager/launch {\"id\":\"com.palm.app.browser\"}<br />
luna-send -n 1 palm://com.palm.applicationManager/launch {\"id\":\"com.palm.app.browser\",\"params\":{\"scene\":\"page\",\"target\":\"http://www.google.com\"}}<br />
</nowiki></pre><br />
<br />
The second command shows how to open www.google.com when the browser is launched.<br />
<br />
Using luna-send to download a file to /media/internal/downloads/:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.downloadmanager/download {\"target\":\"http://www.google.com/index.html\"} <br />
</nowiki></pre><br />
<br />
Replace www.google.com/index.html with whatever file you want downloaded.<br />
<br />
Using luna-send to control the palm progress animation (The pulsing "palm" logo seen at boot):<br />
<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.systemmanager/runProgressAnimation {\"state\":\"start\"}<br />
luna-send -n 1 palm://com.palm.systemmanager/runProgressAnimation {\"state\":\"stop\"}<br />
</nowiki></pre><br />
<br />
TODO: These should probably be plugged into the Tracker app.<br />
<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.location/setUseGps {\"useGps\":\"true\"}<br />
luna-send -n 1 palm://com.palm.location/setAutoLocate {\"autoLocate\":\"true\"}<br />
luna-send -n 1 palm://com.palm.location/getCurrentPosition {}<br />
</nowiki></pre><br />
<br />
List all of the processes which are running:<br />
<pre><nowiki><br />
sudo luna-send -n 1 palm://com.palm.applicationManager/running {}<br />
** Message: serviceResponse Handling: 2, { "running": [ { "id": "com.palm.launcher", "processid": "1006" }, { "id": "com.palm.systemui", "processid": "1007" }, { "id": "com.palm.app.email", "processid": "1000" }, { "id": "com.palm.app.phone", "processid": "1001" }, { "id": "com.palm.app.contacts", "processid": "1002" }, { "id": "com.palm.app.camera", "processid": "1003" }, { "id": "com.palm.app.messaging", "processid": "1004" }, { "id": "com.palm.app.calendar", "processid": "1005" }, { "id": "com.palm.app.phone", "processid": "1008" }, { "id": "com.palm.app.camera", "processid": "1014" } ] }<br />
</nowiki></pre><br />
Interesting note:<br />
Seems everything with a processid below 1008 are static. As seen above, open camera app has pid 1014 and startup app is pid 1003<br />
<br />
Close a process:<br />
<br />
<pre><nowiki><br />
luna-send -n 1 "palm://com.palm.applicationManager/close" "{\"processId\":\"1058\"}"<br />
</nowiki></pre><br />
<br />
Activate the vibrator:<br />
<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.vibrate/vibrate {\"period\":1,\"duration\":1000\}<br />
</nowiki></pre><br />
The duration value is in milliseconds and can be adjusted as desired.<br />
<br />
==Storage==<br />
<br />
Enter usb storage mode:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.storage/diskmode/enterMSM {\"user-confirmed\":false,\"enterIMasq\":true}<br />
</nowiki></pre><br />
<br />
Enter usb storage mode:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.storage/diskmode/enterMSM {\"user-confirmed\":false,\"enterIMasq\":false}<br />
</nowiki></pre><br />
<br />
Photos info list album and image info from DB:<br />
<pre><nowiki><br />
luna-send -n 1 luna://com.palm.mediadb/image/listalbums {}<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
luna-send -n 1 luna://com.palm.mediadb/image/listimages {}<br />
</nowiki></pre><br />
<br />
<br />
--WOOT--<br />
<br />
==Finding luna-send Command==<br />
<br />
These commands come from inside given applications. The best way to find luna-send commands is to do a search for the term "method:" in the Applications code. Once you find method: you might see parameters: which is also used by luna-send here is an example.<br />
<br />
searched for "method:" in the com.app.palm.AppYouAreTesting<br />
<br />
found<br />
<br />
"method: test"<br />
<br />
luna-send command based on example:<br />
<pre><nowiki><br />
luna-send -n 1 palm://com.palm.AppYouAreTesting/test {}<br />
</nowiki></pre><br />
<br />
General luna-send command:<br />
<pre><nowiki><br />
luna-send -n 1 palm://ApplicationName/MethodValue {ParameterValues}<br />
</nowiki></pre></div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Portal:Tools&diff=7882Portal:Tools2009-12-30T16:04:21Z<p>Elpollodiablo1: </p>
<hr />
<div>__notoc__<br />
{{portal-header|<br />
This page lists tools used in any form.<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== webOS Internal Related Tools ==<br />
<br />
* [[Getting started|Accessing Developer Mode]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
* [[Com Palm Appinstaller]]<br />
* [[Com Palm Downloadmanager|Com Palm Downloadmanager]] <br />
* [[Crond|Crond]]<br />
* [[Detecting Application Errors, Syslog|Detecting Application Errors, Syslog]] <br />
* [[Important_Personal_Data_Locations|Important Personal Data Locations]]<br />
<!--* [[/var/luna/data|/var/luna/data]]--><br />
* [[/usr/bin/lunaprop|/usr/bin/lunaprop]]<br />
* [[Java Services|Java Services]] <br />
* [[Luna Send|Luna Send]] <br />
* [[PalmDatabase.db3 File|PalmDatabase.db3 File]] <br />
<!--* [[mediadb.db3 File|mediadb.db3 File]]--><br />
<!--* [[fileindexer File|fileindexer File]]--><br />
* [[Profile.d|Profile.d]] <br />
* [[Tellbootie|Tellbootie]]<br />
* [[Webos Doctor Versions|Webos Doctor Versions]]<br />
<br />
==Cross-Compiling and Kernels==<br />
* [[Autobuilder Setup|Autobuilder Setup]]<br />
* [[Cross Compiling|Cross Compiling]] <br />
* [[Custom Kernels|Custom Kernels]] <br />
* [[Optware Cross Compilation|Optware Cross Compilation]] <br />
* [[Building_a_cross_toolchain|Building a cross-toochain for armv7 on Gentoo]]<br />
<br />
|column2=<br />
==SDK Related Tools ([[Comparison of Editors|Comparison Chart]]) ==<br />
<!-- Warning Do not edit the order of the top two editors (Eclipse and Komodo) --><br />
===Eclipse===<br />
<br />
[http://www.eclipse.org/downloads/ Eclipse] is the editor officially supported by Palm. You can find the Eclipse WebOS plugin [http://developer.palm.com/index.php?option=com_content&view=article&id=1639 here].<br />
<br />
===Komodo Edit===<br />
<br />
[http://www.activestate.com/komodo_edit/ Komodo Edit] is an easy to use cross platform open source editor. Use along side the webOS [http://www.webos.templarian.com/komodo/ Add-on] for easier development. Complete [http://www.webos.templarian.com/komodo/ Code Completion] is also available for Mojo. [[Komodo|Wiki Page with Screensots and Install Guide]].<br />
<br />
===Aptana Studio===<br />
<br />
[http://www.aptana.com/studio/download Aptana Studio] is a standalone version of an Eclipse plugin. Very easy to use. You can install the Aptana WebOS plugin by directing Aptana to check [https://cdn.downloads.palm.com/sdkdownloads/1.1/eclipse-plugin/eclipse-3.4/site.xml this link]. If you do not know how to set this up, please look at official Palm documentation [http://developer.palm.com/index.php?option=com_content&view=article&id=1639 here].<br />
}}</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Portal:Tools&diff=7880Portal:Tools2009-12-30T14:44:49Z<p>Elpollodiablo1: </p>
<hr />
<div>__notoc__<br />
{{portal-header|<br />
This page lists tools used in any form.<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== webOS Internal Related Tools ==<br />
<br />
* [[Getting started|Accessing Developer Mode]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
* [[Com Palm Appinstaller]]<br />
* [[Com Palm Downloadmanager|Com Palm Downloadmanager]] <br />
* [[Crond|Crond]]<br />
* [[Detecting Application Errors, Syslog|Detecting Application Errors, Syslog]] <br />
* [[Important_Personal_Data_Locations|Important Personal Data Locations]]<br />
* [[/usr/bin/lunaprop|/usr/bin/lunaprop]] <br />
* [[Java Services|Java Services]] <br />
* [[Luna Send|Luna Send]] <br />
* [[PalmDatabase.db3 File|PalmDatabase.db3 File]] <br />
<!--* [[mediadb.db3 File|mediadb.db3 File]]--><br />
<!--* [[fileindexer File|fileindexer File]]--><br />
* [[Profile.d|Profile.d]] <br />
* [[Tellbootie|Tellbootie]]<br />
* [[Webos Doctor Versions|Webos Doctor Versions]]<br />
<br />
==Cross-Compiling and Kernels==<br />
* [[Autobuilder Setup|Autobuilder Setup]]<br />
* [[Cross Compiling|Cross Compiling]] <br />
* [[Custom Kernels|Custom Kernels]] <br />
* [[Optware Cross Compilation|Optware Cross Compilation]] <br />
* [[Building_a_cross_toolchain|Building a cross-toochain for armv7 on Gentoo]]<br />
<br />
|column2=<br />
==SDK Related Tools ([[Comparison of Editors|Comparison Chart]]) ==<br />
<!-- Warning Do not edit the order of the top two editors (Eclipse and Komodo) --><br />
===Eclipse===<br />
<br />
[http://www.eclipse.org/downloads/ Eclipse] is the editor officially supported by Palm. You can find the Eclipse WebOS plugin [http://developer.palm.com/index.php?option=com_content&view=article&id=1639 here].<br />
<br />
===Komodo Edit===<br />
<br />
[http://www.activestate.com/komodo_edit/ Komodo Edit] is an easy to use cross platform open source editor. Use along side the webOS [http://www.webos.templarian.com/komodo/ Add-on] for easier development. Complete [http://www.webos.templarian.com/komodo/ Code Completion] is also available for Mojo. [[Komodo|Wiki Page with Screensots and Install Guide]].<br />
<br />
===Aptana Studio===<br />
<br />
[http://www.aptana.com/studio/download Aptana Studio] is a standalone version of an Eclipse plugin. Very easy to use. You can install the Aptana WebOS plugin by directing Aptana to check [https://cdn.downloads.palm.com/sdkdownloads/1.1/eclipse-plugin/eclipse-3.4/site.xml this link]. If you do not know how to set this up, please look at official Palm documentation [http://developer.palm.com/index.php?option=com_content&view=article&id=1639 here].<br />
}}</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Portal:Tools&diff=7878Portal:Tools2009-12-30T14:39:18Z<p>Elpollodiablo1: </p>
<hr />
<div>__notoc__<br />
{{portal-header|<br />
This page lists tools used in any form.<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== webOS Internal Related Tools ==<br />
<br />
* [[Getting started|Accessing Developer Mode]]<br />
* [[Backing_Up_via_Rsync|Backing Up via Rsync]]<br />
* [[Com Palm Appinstaller]]<br />
* [[Com Palm Downloadmanager|Com Palm Downloadmanager]] <br />
* [[Crond|Crond]]<br />
* [[Detecting Application Errors, Syslog|Detecting Application Errors, Syslog]] <br />
* [[Important_Personal_Data_Locations|Important Personal Data Locations]]<br />
* [[/usr/bin/lunaprop|/usr/bin/lunaprop]] <br />
* [[Java Services|Java Services]] <br />
* [[Luna Send|Luna Send]] <br />
* [[PalmDatabase.db3 File|PalmDatabase.db3 File]] <br />
<!--* [[mediadb.db3 File|mediadb.db3 File]]--><br />
* [[Profile.d|Profile.d]] <br />
* [[Tellbootie|Tellbootie]]<br />
* [[Webos Doctor Versions|Webos Doctor Versions]]<br />
<br />
==Cross-Compiling and Kernels==<br />
* [[Autobuilder Setup|Autobuilder Setup]]<br />
* [[Cross Compiling|Cross Compiling]] <br />
* [[Custom Kernels|Custom Kernels]] <br />
* [[Optware Cross Compilation|Optware Cross Compilation]] <br />
* [[Building_a_cross_toolchain|Building a cross-toochain for armv7 on Gentoo]]<br />
<br />
|column2=<br />
==SDK Related Tools ([[Comparison of Editors|Comparison Chart]]) ==<br />
<!-- Warning Do not edit the order of the top two editors (Eclipse and Komodo) --><br />
===Eclipse===<br />
<br />
[http://www.eclipse.org/downloads/ Eclipse] is the editor officially supported by Palm. You can find the Eclipse WebOS plugin [http://developer.palm.com/index.php?option=com_content&view=article&id=1639 here].<br />
<br />
===Komodo Edit===<br />
<br />
[http://www.activestate.com/komodo_edit/ Komodo Edit] is an easy to use cross platform open source editor. Use along side the webOS [http://www.webos.templarian.com/komodo/ Add-on] for easier development. Complete [http://www.webos.templarian.com/komodo/ Code Completion] is also available for Mojo. [[Komodo|Wiki Page with Screensots and Install Guide]].<br />
<br />
===Aptana Studio===<br />
<br />
[http://www.aptana.com/studio/download Aptana Studio] is a standalone version of an Eclipse plugin. Very easy to use. You can install the Aptana WebOS plugin by directing Aptana to check [https://cdn.downloads.palm.com/sdkdownloads/1.1/eclipse-plugin/eclipse-3.4/site.xml this link]. If you do not know how to set this up, please look at official Palm documentation [http://developer.palm.com/index.php?option=com_content&view=article&id=1639 here].<br />
}}</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Application_talk:Terminal&diff=7866Application talk:Terminal2009-12-30T03:30:22Z<p>Elpollodiablo1: /* Terminal Questions */</p>
<hr />
<div>== Bugs: Paste? ==<br />
- Can't seem to figure out how to paste something that was copied from another app/msg/web site. The old paste shortcut of "Gesture + V" doesn't work (because its being used for other things). I tried to "Insert" shortcut, but it didn't do anything.<br />
--[[User:Zinge|Zinge]] 08:58, 7 August 2009 (UTC)<br />
<br />
- Tossing in another request to get a solution in for pasting: as it stands there is no way to get some symbols (specifically curly braces) into the terminal - tough to do a rescan :) -- [[User:Flare576|Flare576]] 17:51, 20 August 2009 (UTC)<br />
<br />
- I triple the motion. Can we distinguish gesture HOLD from gesture tap? We could then leave gesture HOLD V as paste and use tap and double-tap as activating the special cursor movement etc. currently in place (AWESOME JOB on this app by the way). I also second the motion for needing '{'. This is crippling. Couldn't we just leave access to the normal symbol input by hitting some unused key combo (gesture sym?) then we'd be able to get any symbol we need with a little effort.<br />
[[User:MerlinMM|MerlinMM]]<br />
<br />
Running in the emulator on Ubuntu, my desktop zero key gets turned into an at sign. This is the zero along the top just to the right of nine, not the one on the numeric keypad. Is there a way to correct that?<br />
<br />
== Ansi bugs ==<br />
Scrolling in BX is fixed. Thanks! terminal is a killer app.<br />
<br />
Still have a bug when typing a message in IRC that's long enough to require horizontal scrolling. Instead of scrolling it does weird single-char newlines and status bar is lost.<br />
<br />
Also when using arrow keys to move around in vim (with TERM=linux and syntax/color on), what seems to be ansi color code artifacts are printed. Arrows do work, but it's unusable due to artifacts. --[[User:T3rmin|T3rmin]] 18:05, 14 August 2009 (UTC)<br />
<br />
There seems to be a problem when scrolling in any direction in nano? After awhile the display is completely ruined with characters all over the screen and no longer tell where you are or what you are editing? Seems to be a repaint issue. Also, nano doesn't seem to use the full width of the screen if I use any of the smaller fonts --[[User:TC|TC]] 19:44, 28 October 2009 (GMT)<br />
<br />
== New Version Changelog? ==<br />
<br />
The newest version from the feed seems to be 0.1.6. Anybody know what changes have been made? --[[User:Zinge|Zinge]] 19:30, 1 August 2009 (UTC)<br />
<br />
== Font Size Feature Request ==<br />
Well done! I notice that there are two fonts, normal and small. Would it be possible to add an intermediate font size? The 40 col is to large for seeing much and the 80 col is far to small. Would it be possible to have a ~60col font? --[[user:Dreadchicken|Dreadchicken]]<br />
<br />
: Also, could you add a "large" font size? I don't like the small sizes for little one-line commands (wget, etc). I guess ultimately it'd be nice to have in that combo box a handful of sizes. Thank you so much for the mind-blowing awesomeness of this app, by the way. [[User:Michaelb|Michaelb]] 18:46, 17 August 2009 (UTC)<br />
<br />
: Yes, please, an "extremely large" font for those of us whose eyesight is going. Maybe twice the size of the 6x10. --[[User:Lordbah|Lordbah]] 03:51, 2 September 2009 (UTC)<br />
<br />
: I agree, larger fonts are an absolute necessity, please add a 10x10 and a 12x12, I can barely read the 8x8 and the 6x10. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Broadcast messages when phone sleeps/wakes ==<br />
<br />
Has anyone figured out how to stop the broadcast messages generated on the Terminal when the phone sleeps and wakes? They clobber whatever's on the screen if you happen to turn off the phone while Terminal is open.<br />
<br />
Other than this, great app. I'm eternally grateful. :) --[[User:zorinlynx|zorinlynx]]<br />
<br />
I'm not sure if this will help, but there is a quilt patch in the gitorious modification for disabling some messages to the log. http://gitorious.org/webos-internals/modifications/blobs/master/luna/quiet-powerd-messages.patch --[[User:Plee3|plee3]] 21:05, 3 August 2009 (UTC)<br />
<br />
Thank you! This has resolved the issue. --[[User:Zorinlynx|Zorinlynx]] 21:24, 3 August 2009 (UTC)<br />
<br />
== Brackets ==<br />
Any way to enter < or > chars? Kinda tough to dump output to a file without.<br />
--[[User:Daemon|Daemon]]<br />
<br />
These characters have not been implemented yet, but as a work-around, you can use tee or tee -a.<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
==Colors Sticking, and Permissions==<br />
Would it be possible to set the foreground color permanently, so that I don't havve to set it each time I log in?<br />
<br />
I've also noticed that when I open the application, sometimes it automatically logs me in as root. How can I disable this?<br />
<br />
Thanks for your awesome work!! -[[User:Hopspitfire|hopspitfire]] 05:47, 16 August 2009 (UTC)<br />
<br />
I think one solution for disabling root access is to go into <br />
/var/usr/palm/applications/org.webosinternals.terminal/app/controllers<br />
and edit '''session-assistant.js'''<br />
Search for the line that reads<br />
this.termplugin.start("root");<br />
and change 'root' to your username.<br />
[[User:Clebio|Clebio]] 20:57, 16 August 2009 (UTC)<br />
<br />
:That worked perfectly! Thank you.<br />
:I'm still having trouble with the colors sticking, now when I change a color in the preferences menu and go back to the terminal, the entire screen freezes (It responds to <orange><sym><r>, but won't show the boot logo as it's shutting down, and ssh responds normally). Is this a bug? -[[User:Hopspitfire|hopspitfire]] 04:13, 17 August 2009 (UTC)<br />
:: I get this too when I try to change preferences. [[User:Michaelb|Michaelb]] 18:51, 17 August 2009 (UTC)<br />
: The problem has been fixed after the new update (0.1.9), THANKS! -[[User:Hopspitfire|hopspitfire]] 21:00, 19 August 2009 (UTC)<br />
<br />
:This root fix works fine for startup, but I've noticed that if I go into preferences and exit out, I'm back as root. Is there another file we need to edit? Can we work this into the preferences? [[User:Crynyd|Crynyd]] 16:16, 10 November 2009 (UTC)<br />
<br />
Terminal displays blank screen after install<br />
----<br />
<br />
It will display nothing that I type, I have tried rebooting the phone with no luck. I did see an message that looked like an error during the install:<br />
<br />
Configuring org.webosinternals.termplugin <br />
(offline root mode: not running org.webosinternals.termplugin.postinst)<br />
<br />
Could the offline root mode error above be causing this? I was not in Dev mode when I installed this, should I have been?<br />
<br />
==Curved mask blocks text on screen corners==<br />
<br />
There used to be padding on the top and bottom of the screen to keep the curved corners of the mojo view from blocking text. Why were they removed? --[[User:Zorinlynx|Zorinlynx]] 02:12, 20 August 2009 (UTC)<br />
<br />
Can we get an easier way of tabbing? Say sym+period?<br />
<br />
: The Treo mapped Shift+Space to tab, which I think is way more convenient than Sym+I (why I?). Is that something the Terminal app on the Pre can mimic? --[[User:Jameslin|Jameslin]] 18:37, 7 October 2009 (UTC)<br />
<br />
== On Screen Keyboard? ==<br />
<br />
Any plans to integrate or implement something similar to the recently released OSK to the Terminal app? I think it would be very handy for landscape mode. --[[User:Roto|Roto]] 01:27, 29 August 2009 (UTC)<br />
<br />
== Limited User? ==<br />
<br />
Once there is a limited user account created, it would be nice if the Terminal could be set to use that account instead of root by default, as well as start in the directory /var/home/$USER<br />
<br />
I second this, you should never run as root, this is Linux not Windoze. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Feature Request ==<br />
It would be awesome of the following characters could be implemented:<br />
`<br />
^<br />
{<br />
}<br />
[<br />
]<br />
\<br />
~<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
Could you provide a programable map for the special keys. You have a two key sequence for ESC which is incredible painful for Emacs users who use CTRL and ESC constantly. I would like to be able to map ESC to the up arrow key and leave CTRL on the Sym key. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Bug: Phone lock up due to Preferences ==<br />
<br />
I installed webdoc and then the terminal application today (11/08/2009). After running terminal, I selected the Preferences. I changed the setting for the size of the terminal to 4X6 (I think). After that, I was stuck. I couldn't figure out how to get back to the terminal. I tried swiping back, pushing the preferences to the top (and out). It would not unload. If I clicked on the screen, the preferences would re-appear. I was unable to run any other applications or type on the keypad. I couldn't power off the device by holding the power key down. Plugging the pre into my laptop didn't generate the usual menu of usb drive, charge. Eventually, my only option was to pop the battery out and restart. My pre restarted normally, no harm down.<br />
<br />
==Terminal Questions==<br />
<br />
Is it possible to setup aliases in the terminal app similar to editing .bash_aliases? --[[User:Elpollodiablo1|Elpollodiablo1]] 01:54, 30 December 2009 (UTC)<br />
I figured this out, you need to create a file called .profile and put it in users directory. inside the file add aliases (ex alias la = 'ls -la')--[[User:Elpollodiablo1|Elpollodiablo1]] 03:30, 30 December 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Application_talk:Terminal&diff=7865Application talk:Terminal2009-12-30T02:23:36Z<p>Elpollodiablo1: </p>
<hr />
<div>== Bugs: Paste? ==<br />
- Can't seem to figure out how to paste something that was copied from another app/msg/web site. The old paste shortcut of "Gesture + V" doesn't work (because its being used for other things). I tried to "Insert" shortcut, but it didn't do anything.<br />
--[[User:Zinge|Zinge]] 08:58, 7 August 2009 (UTC)<br />
<br />
- Tossing in another request to get a solution in for pasting: as it stands there is no way to get some symbols (specifically curly braces) into the terminal - tough to do a rescan :) -- [[User:Flare576|Flare576]] 17:51, 20 August 2009 (UTC)<br />
<br />
- I triple the motion. Can we distinguish gesture HOLD from gesture tap? We could then leave gesture HOLD V as paste and use tap and double-tap as activating the special cursor movement etc. currently in place (AWESOME JOB on this app by the way). I also second the motion for needing '{'. This is crippling. Couldn't we just leave access to the normal symbol input by hitting some unused key combo (gesture sym?) then we'd be able to get any symbol we need with a little effort.<br />
[[User:MerlinMM|MerlinMM]]<br />
<br />
Running in the emulator on Ubuntu, my desktop zero key gets turned into an at sign. This is the zero along the top just to the right of nine, not the one on the numeric keypad. Is there a way to correct that?<br />
<br />
== Ansi bugs ==<br />
Scrolling in BX is fixed. Thanks! terminal is a killer app.<br />
<br />
Still have a bug when typing a message in IRC that's long enough to require horizontal scrolling. Instead of scrolling it does weird single-char newlines and status bar is lost.<br />
<br />
Also when using arrow keys to move around in vim (with TERM=linux and syntax/color on), what seems to be ansi color code artifacts are printed. Arrows do work, but it's unusable due to artifacts. --[[User:T3rmin|T3rmin]] 18:05, 14 August 2009 (UTC)<br />
<br />
There seems to be a problem when scrolling in any direction in nano? After awhile the display is completely ruined with characters all over the screen and no longer tell where you are or what you are editing? Seems to be a repaint issue. Also, nano doesn't seem to use the full width of the screen if I use any of the smaller fonts --[[User:TC|TC]] 19:44, 28 October 2009 (GMT)<br />
<br />
== New Version Changelog? ==<br />
<br />
The newest version from the feed seems to be 0.1.6. Anybody know what changes have been made? --[[User:Zinge|Zinge]] 19:30, 1 August 2009 (UTC)<br />
<br />
== Font Size Feature Request ==<br />
Well done! I notice that there are two fonts, normal and small. Would it be possible to add an intermediate font size? The 40 col is to large for seeing much and the 80 col is far to small. Would it be possible to have a ~60col font? --[[user:Dreadchicken|Dreadchicken]]<br />
<br />
: Also, could you add a "large" font size? I don't like the small sizes for little one-line commands (wget, etc). I guess ultimately it'd be nice to have in that combo box a handful of sizes. Thank you so much for the mind-blowing awesomeness of this app, by the way. [[User:Michaelb|Michaelb]] 18:46, 17 August 2009 (UTC)<br />
<br />
: Yes, please, an "extremely large" font for those of us whose eyesight is going. Maybe twice the size of the 6x10. --[[User:Lordbah|Lordbah]] 03:51, 2 September 2009 (UTC)<br />
<br />
: I agree, larger fonts are an absolute necessity, please add a 10x10 and a 12x12, I can barely read the 8x8 and the 6x10. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Broadcast messages when phone sleeps/wakes ==<br />
<br />
Has anyone figured out how to stop the broadcast messages generated on the Terminal when the phone sleeps and wakes? They clobber whatever's on the screen if you happen to turn off the phone while Terminal is open.<br />
<br />
Other than this, great app. I'm eternally grateful. :) --[[User:zorinlynx|zorinlynx]]<br />
<br />
I'm not sure if this will help, but there is a quilt patch in the gitorious modification for disabling some messages to the log. http://gitorious.org/webos-internals/modifications/blobs/master/luna/quiet-powerd-messages.patch --[[User:Plee3|plee3]] 21:05, 3 August 2009 (UTC)<br />
<br />
Thank you! This has resolved the issue. --[[User:Zorinlynx|Zorinlynx]] 21:24, 3 August 2009 (UTC)<br />
<br />
== Brackets ==<br />
Any way to enter < or > chars? Kinda tough to dump output to a file without.<br />
--[[User:Daemon|Daemon]]<br />
<br />
These characters have not been implemented yet, but as a work-around, you can use tee or tee -a.<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
==Colors Sticking, and Permissions==<br />
Would it be possible to set the foreground color permanently, so that I don't havve to set it each time I log in?<br />
<br />
I've also noticed that when I open the application, sometimes it automatically logs me in as root. How can I disable this?<br />
<br />
Thanks for your awesome work!! -[[User:Hopspitfire|hopspitfire]] 05:47, 16 August 2009 (UTC)<br />
<br />
I think one solution for disabling root access is to go into <br />
/var/usr/palm/applications/org.webosinternals.terminal/app/controllers<br />
and edit '''session-assistant.js'''<br />
Search for the line that reads<br />
this.termplugin.start("root");<br />
and change 'root' to your username.<br />
[[User:Clebio|Clebio]] 20:57, 16 August 2009 (UTC)<br />
<br />
:That worked perfectly! Thank you.<br />
:I'm still having trouble with the colors sticking, now when I change a color in the preferences menu and go back to the terminal, the entire screen freezes (It responds to <orange><sym><r>, but won't show the boot logo as it's shutting down, and ssh responds normally). Is this a bug? -[[User:Hopspitfire|hopspitfire]] 04:13, 17 August 2009 (UTC)<br />
:: I get this too when I try to change preferences. [[User:Michaelb|Michaelb]] 18:51, 17 August 2009 (UTC)<br />
: The problem has been fixed after the new update (0.1.9), THANKS! -[[User:Hopspitfire|hopspitfire]] 21:00, 19 August 2009 (UTC)<br />
<br />
:This root fix works fine for startup, but I've noticed that if I go into preferences and exit out, I'm back as root. Is there another file we need to edit? Can we work this into the preferences? [[User:Crynyd|Crynyd]] 16:16, 10 November 2009 (UTC)<br />
<br />
Terminal displays blank screen after install<br />
----<br />
<br />
It will display nothing that I type, I have tried rebooting the phone with no luck. I did see an message that looked like an error during the install:<br />
<br />
Configuring org.webosinternals.termplugin <br />
(offline root mode: not running org.webosinternals.termplugin.postinst)<br />
<br />
Could the offline root mode error above be causing this? I was not in Dev mode when I installed this, should I have been?<br />
<br />
==Curved mask blocks text on screen corners==<br />
<br />
There used to be padding on the top and bottom of the screen to keep the curved corners of the mojo view from blocking text. Why were they removed? --[[User:Zorinlynx|Zorinlynx]] 02:12, 20 August 2009 (UTC)<br />
<br />
Can we get an easier way of tabbing? Say sym+period?<br />
<br />
: The Treo mapped Shift+Space to tab, which I think is way more convenient than Sym+I (why I?). Is that something the Terminal app on the Pre can mimic? --[[User:Jameslin|Jameslin]] 18:37, 7 October 2009 (UTC)<br />
<br />
== On Screen Keyboard? ==<br />
<br />
Any plans to integrate or implement something similar to the recently released OSK to the Terminal app? I think it would be very handy for landscape mode. --[[User:Roto|Roto]] 01:27, 29 August 2009 (UTC)<br />
<br />
== Limited User? ==<br />
<br />
Once there is a limited user account created, it would be nice if the Terminal could be set to use that account instead of root by default, as well as start in the directory /var/home/$USER<br />
<br />
I second this, you should never run as root, this is Linux not Windoze. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Feature Request ==<br />
It would be awesome of the following characters could be implemented:<br />
`<br />
^<br />
{<br />
}<br />
[<br />
]<br />
\<br />
~<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
Could you provide a programable map for the special keys. You have a two key sequence for ESC which is incredible painful for Emacs users who use CTRL and ESC constantly. I would like to be able to map ESC to the up arrow key and leave CTRL on the Sym key. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Bug: Phone lock up due to Preferences ==<br />
<br />
I installed webdoc and then the terminal application today (11/08/2009). After running terminal, I selected the Preferences. I changed the setting for the size of the terminal to 4X6 (I think). After that, I was stuck. I couldn't figure out how to get back to the terminal. I tried swiping back, pushing the preferences to the top (and out). It would not unload. If I clicked on the screen, the preferences would re-appear. I was unable to run any other applications or type on the keypad. I couldn't power off the device by holding the power key down. Plugging the pre into my laptop didn't generate the usual menu of usb drive, charge. Eventually, my only option was to pop the battery out and restart. My pre restarted normally, no harm down.<br />
<br />
==Terminal Questions==<br />
<br />
Is it possible to setup aliases in the terminal app similar to editing .bash_aliases? --[[User:Elpollodiablo1|Elpollodiablo1]] 01:54, 30 December 2009 (UTC)<br />
I figured this out, you need to create a file called .profile and put it in users directory. inside the file add aliases (ex alias la = 'ls -la')</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Application_talk:Terminal&diff=7864Application talk:Terminal2009-12-30T01:54:32Z<p>Elpollodiablo1: </p>
<hr />
<div>== Bugs: Paste? ==<br />
- Can't seem to figure out how to paste something that was copied from another app/msg/web site. The old paste shortcut of "Gesture + V" doesn't work (because its being used for other things). I tried to "Insert" shortcut, but it didn't do anything.<br />
--[[User:Zinge|Zinge]] 08:58, 7 August 2009 (UTC)<br />
<br />
- Tossing in another request to get a solution in for pasting: as it stands there is no way to get some symbols (specifically curly braces) into the terminal - tough to do a rescan :) -- [[User:Flare576|Flare576]] 17:51, 20 August 2009 (UTC)<br />
<br />
- I triple the motion. Can we distinguish gesture HOLD from gesture tap? We could then leave gesture HOLD V as paste and use tap and double-tap as activating the special cursor movement etc. currently in place (AWESOME JOB on this app by the way). I also second the motion for needing '{'. This is crippling. Couldn't we just leave access to the normal symbol input by hitting some unused key combo (gesture sym?) then we'd be able to get any symbol we need with a little effort.<br />
[[User:MerlinMM|MerlinMM]]<br />
<br />
Running in the emulator on Ubuntu, my desktop zero key gets turned into an at sign. This is the zero along the top just to the right of nine, not the one on the numeric keypad. Is there a way to correct that?<br />
<br />
== Ansi bugs ==<br />
Scrolling in BX is fixed. Thanks! terminal is a killer app.<br />
<br />
Still have a bug when typing a message in IRC that's long enough to require horizontal scrolling. Instead of scrolling it does weird single-char newlines and status bar is lost.<br />
<br />
Also when using arrow keys to move around in vim (with TERM=linux and syntax/color on), what seems to be ansi color code artifacts are printed. Arrows do work, but it's unusable due to artifacts. --[[User:T3rmin|T3rmin]] 18:05, 14 August 2009 (UTC)<br />
<br />
There seems to be a problem when scrolling in any direction in nano? After awhile the display is completely ruined with characters all over the screen and no longer tell where you are or what you are editing? Seems to be a repaint issue. Also, nano doesn't seem to use the full width of the screen if I use any of the smaller fonts --[[User:TC|TC]] 19:44, 28 October 2009 (GMT)<br />
<br />
== New Version Changelog? ==<br />
<br />
The newest version from the feed seems to be 0.1.6. Anybody know what changes have been made? --[[User:Zinge|Zinge]] 19:30, 1 August 2009 (UTC)<br />
<br />
== Font Size Feature Request ==<br />
Well done! I notice that there are two fonts, normal and small. Would it be possible to add an intermediate font size? The 40 col is to large for seeing much and the 80 col is far to small. Would it be possible to have a ~60col font? --[[user:Dreadchicken|Dreadchicken]]<br />
<br />
: Also, could you add a "large" font size? I don't like the small sizes for little one-line commands (wget, etc). I guess ultimately it'd be nice to have in that combo box a handful of sizes. Thank you so much for the mind-blowing awesomeness of this app, by the way. [[User:Michaelb|Michaelb]] 18:46, 17 August 2009 (UTC)<br />
<br />
: Yes, please, an "extremely large" font for those of us whose eyesight is going. Maybe twice the size of the 6x10. --[[User:Lordbah|Lordbah]] 03:51, 2 September 2009 (UTC)<br />
<br />
: I agree, larger fonts are an absolute necessity, please add a 10x10 and a 12x12, I can barely read the 8x8 and the 6x10. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Broadcast messages when phone sleeps/wakes ==<br />
<br />
Has anyone figured out how to stop the broadcast messages generated on the Terminal when the phone sleeps and wakes? They clobber whatever's on the screen if you happen to turn off the phone while Terminal is open.<br />
<br />
Other than this, great app. I'm eternally grateful. :) --[[User:zorinlynx|zorinlynx]]<br />
<br />
I'm not sure if this will help, but there is a quilt patch in the gitorious modification for disabling some messages to the log. http://gitorious.org/webos-internals/modifications/blobs/master/luna/quiet-powerd-messages.patch --[[User:Plee3|plee3]] 21:05, 3 August 2009 (UTC)<br />
<br />
Thank you! This has resolved the issue. --[[User:Zorinlynx|Zorinlynx]] 21:24, 3 August 2009 (UTC)<br />
<br />
== Brackets ==<br />
Any way to enter < or > chars? Kinda tough to dump output to a file without.<br />
--[[User:Daemon|Daemon]]<br />
<br />
These characters have not been implemented yet, but as a work-around, you can use tee or tee -a.<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
==Colors Sticking, and Permissions==<br />
Would it be possible to set the foreground color permanently, so that I don't havve to set it each time I log in?<br />
<br />
I've also noticed that when I open the application, sometimes it automatically logs me in as root. How can I disable this?<br />
<br />
Thanks for your awesome work!! -[[User:Hopspitfire|hopspitfire]] 05:47, 16 August 2009 (UTC)<br />
<br />
I think one solution for disabling root access is to go into <br />
/var/usr/palm/applications/org.webosinternals.terminal/app/controllers<br />
and edit '''session-assistant.js'''<br />
Search for the line that reads<br />
this.termplugin.start("root");<br />
and change 'root' to your username.<br />
[[User:Clebio|Clebio]] 20:57, 16 August 2009 (UTC)<br />
<br />
:That worked perfectly! Thank you.<br />
:I'm still having trouble with the colors sticking, now when I change a color in the preferences menu and go back to the terminal, the entire screen freezes (It responds to <orange><sym><r>, but won't show the boot logo as it's shutting down, and ssh responds normally). Is this a bug? -[[User:Hopspitfire|hopspitfire]] 04:13, 17 August 2009 (UTC)<br />
:: I get this too when I try to change preferences. [[User:Michaelb|Michaelb]] 18:51, 17 August 2009 (UTC)<br />
: The problem has been fixed after the new update (0.1.9), THANKS! -[[User:Hopspitfire|hopspitfire]] 21:00, 19 August 2009 (UTC)<br />
<br />
:This root fix works fine for startup, but I've noticed that if I go into preferences and exit out, I'm back as root. Is there another file we need to edit? Can we work this into the preferences? [[User:Crynyd|Crynyd]] 16:16, 10 November 2009 (UTC)<br />
<br />
Terminal displays blank screen after install<br />
----<br />
<br />
It will display nothing that I type, I have tried rebooting the phone with no luck. I did see an message that looked like an error during the install:<br />
<br />
Configuring org.webosinternals.termplugin <br />
(offline root mode: not running org.webosinternals.termplugin.postinst)<br />
<br />
Could the offline root mode error above be causing this? I was not in Dev mode when I installed this, should I have been?<br />
<br />
==Curved mask blocks text on screen corners==<br />
<br />
There used to be padding on the top and bottom of the screen to keep the curved corners of the mojo view from blocking text. Why were they removed? --[[User:Zorinlynx|Zorinlynx]] 02:12, 20 August 2009 (UTC)<br />
<br />
Can we get an easier way of tabbing? Say sym+period?<br />
<br />
: The Treo mapped Shift+Space to tab, which I think is way more convenient than Sym+I (why I?). Is that something the Terminal app on the Pre can mimic? --[[User:Jameslin|Jameslin]] 18:37, 7 October 2009 (UTC)<br />
<br />
== On Screen Keyboard? ==<br />
<br />
Any plans to integrate or implement something similar to the recently released OSK to the Terminal app? I think it would be very handy for landscape mode. --[[User:Roto|Roto]] 01:27, 29 August 2009 (UTC)<br />
<br />
== Limited User? ==<br />
<br />
Once there is a limited user account created, it would be nice if the Terminal could be set to use that account instead of root by default, as well as start in the directory /var/home/$USER<br />
<br />
I second this, you should never run as root, this is Linux not Windoze. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Feature Request ==<br />
It would be awesome of the following characters could be implemented:<br />
`<br />
^<br />
{<br />
}<br />
[<br />
]<br />
\<br />
~<br />
--[[User:JackieRipper|JackieRipper]]<br />
<br />
Could you provide a programable map for the special keys. You have a two key sequence for ESC which is incredible painful for Emacs users who use CTRL and ESC constantly. I would like to be able to map ESC to the up arrow key and leave CTRL on the Sym key. --[[user:bjrosen|bjrosen]] Oct 8, 2009<br />
<br />
== Bug: Phone lock up due to Preferences ==<br />
<br />
I installed webdoc and then the terminal application today (11/08/2009). After running terminal, I selected the Preferences. I changed the setting for the size of the terminal to 4X6 (I think). After that, I was stuck. I couldn't figure out how to get back to the terminal. I tried swiping back, pushing the preferences to the top (and out). It would not unload. If I clicked on the screen, the preferences would re-appear. I was unable to run any other applications or type on the keypad. I couldn't power off the device by holding the power key down. Plugging the pre into my laptop didn't generate the usual menu of usb drive, charge. Eventually, my only option was to pop the battery out and restart. My pre restarted normally, no harm down.<br />
<br />
==Terminal Questions==<br />
<br />
Is it possible to setup aliases in the terminal app similar to editing .bash_aliases? --[[User:Elpollodiablo1|Elpollodiablo1]] 01:54, 30 December 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Research_PmLog&diff=6985Talk:Research PmLog2009-11-07T04:43:51Z<p>Elpollodiablo1: New page: /etc/PmLog.conf /etc/PmLogContexts.conf /etc/pmnetconfig</p>
<hr />
<div>/etc/PmLog.conf<br />
/etc/PmLogContexts.conf<br />
/etc/pmnetconfig</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Research_PmLog&diff=6984Research PmLog2009-11-07T04:43:41Z<p>Elpollodiablo1: Removing all content from page</p>
<hr />
<div></div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Research_PmLog&diff=6983Research PmLog2009-11-07T04:43:17Z<p>Elpollodiablo1: New page: /etc/PmLog.conf /etc/PmLogContexts.conf /etc/pmnetconfig</p>
<hr />
<div>/etc/PmLog.conf<br />
/etc/PmLogContexts.conf<br />
/etc/pmnetconfig</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Tidbits&diff=6978Talk:Tidbits2009-11-07T03:09:47Z<p>Elpollodiablo1: New page: in /etc/palm/luna.conf if you change MaxRecvSpeed=-1 there will not be a speed limit for download speed, also setting Maxconcurrent=5 will allow you to DL 5 files at a time. --~~~~</p>
<hr />
<div>in /etc/palm/luna.conf<br />
<br />
if you change <br />
MaxRecvSpeed=-1 <br />
there will not be a speed limit for download speed, <br />
<br />
also setting <br />
Maxconcurrent=5 <br />
will allow you to DL 5 files at a time.<br />
<br />
--[[User:Elpollodiablo1|Elpollodiablo1]] 03:09, 7 November 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Patch_Clock_Change_Alarm_Snooze_Length&diff=6737Talk:Patch Clock Change Alarm Snooze Length2009-10-29T17:55:10Z<p>Elpollodiablo1: </p>
<hr />
<div>'''Update'''<br />
<br />
Palm Devs have already developed the code for this 2 days ago.<br />
Check it out here [http://pdnblog.palm.com/2009/10/palm-engineer-demos-the-wonders-of-webos-at-the-sprint-developer-conference/ Palm Dev Clock Alarm Snooze Length] --[[User:Elpollodiablo1|Elpollodiablo1]] 17:55, 29 October 2009 (UTC)<br />
<br />
<br />
<br />
<br />
I have been working on a UI based Alarm Snooze Length. I have it posted many different places. I am having one last coding problem. so if you or anyone can see if they can figure out how to help this patch it would be greatly appreaciated.<br />
<br />
[http://forums.precentral.net/webos-patches/207008-patch-project-adding-snooze-time-alarm.html Here] is my initial Post on Precentral.net<br />
<br />
[http://forums.precentral.net/web-os-development/208548-coding-help-final-barrier-alarm-clock-snooze-patch-please-help.html Here] is my other Posts on Precentral.net<br />
<br />
[http://developer.palm.com/distribution/viewtopic.php?f=11&t=2547 Here] is my post on Palm Dev Forum.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Patch_Clock_Change_Alarm_Snooze_Length&diff=6736Talk:Patch Clock Change Alarm Snooze Length2009-10-29T17:55:02Z<p>Elpollodiablo1: </p>
<hr />
<div>'''Update'''<br />
<br />
Palm Devs have already developed the code for this 2 days ago.<br />
Check it out here [http://pdnblog.palm.com/2009/10/palm-engineer-demos-the-wonders-of-webos-at-the-sprint-developer-conference/ Palm Dev Clock Alarm Snooze Length]--[[User:Elpollodiablo1|Elpollodiablo1]] 17:55, 29 October 2009 (UTC)<br />
<br />
<br />
<br />
<br />
I have been working on a UI based Alarm Snooze Length. I have it posted many different places. I am having one last coding problem. so if you or anyone can see if they can figure out how to help this patch it would be greatly appreaciated.<br />
<br />
[http://forums.precentral.net/webos-patches/207008-patch-project-adding-snooze-time-alarm.html Here] is my initial Post on Precentral.net<br />
<br />
[http://forums.precentral.net/web-os-development/208548-coding-help-final-barrier-alarm-clock-snooze-patch-please-help.html Here] is my other Posts on Precentral.net<br />
<br />
[http://developer.palm.com/distribution/viewtopic.php?f=11&t=2547 Here] is my post on Palm Dev Forum.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Patch_Clock_Change_Alarm_Snooze_Length&diff=6735Talk:Patch Clock Change Alarm Snooze Length2009-10-29T17:54:50Z<p>Elpollodiablo1: </p>
<hr />
<div>'''Update'''<br />
<br />
Palm Devs have already developed the code for this 2 days ago.<br />
Check it out here [http://pdnblog.palm.com/2009/10/palm-engineer-demos-the-wonders-of-webos-at-the-sprint-developer-conference/ Palm Dev Clock Alarm Snooze Length]<br />
<br />
<br />
<br />
<br />
I have been working on a UI based Alarm Snooze Length. I have it posted many different places. I am having one last coding problem. so if you or anyone can see if they can figure out how to help this patch it would be greatly appreaciated.<br />
<br />
[http://forums.precentral.net/webos-patches/207008-patch-project-adding-snooze-time-alarm.html Here] is my initial Post on Precentral.net<br />
<br />
[http://forums.precentral.net/web-os-development/208548-coding-help-final-barrier-alarm-clock-snooze-patch-please-help.html Here] is my other Posts on Precentral.net<br />
<br />
[http://developer.palm.com/distribution/viewtopic.php?f=11&t=2547 Here] is my post on Palm Dev Forum.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Patch_Clock_Change_Alarm_Snooze_Length&diff=6734Talk:Patch Clock Change Alarm Snooze Length2009-10-29T17:54:39Z<p>Elpollodiablo1: </p>
<hr />
<div>'''Update'''<br />
<br />
Palm Devs have already developed the code for this 2 days ago.<br />
Check it out here [http://pdnblog.palm.com/2009/10/palm-engineer-demos-the-wonders-of-webos-at-the-sprint-developer-conference/ Palm Dev Clock Alarm Snooze Length]<br />
<br />
I have been working on a UI based Alarm Snooze Length. I have it posted many different places. I am having one last coding problem. so if you or anyone can see if they can figure out how to help this patch it would be greatly appreaciated.<br />
<br />
[http://forums.precentral.net/webos-patches/207008-patch-project-adding-snooze-time-alarm.html Here] is my initial Post on Precentral.net<br />
<br />
[http://forums.precentral.net/web-os-development/208548-coding-help-final-barrier-alarm-clock-snooze-patch-please-help.html Here] is my other Posts on Precentral.net<br />
<br />
[http://developer.palm.com/distribution/viewtopic.php?f=11&t=2547 Here] is my post on Palm Dev Forum.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Patch_Clock_Add_space_between_Snooze_and_Dismiss_buttons&diff=6711Talk:Patch Clock Add space between Snooze and Dismiss buttons2009-10-28T19:59:21Z<p>Elpollodiablo1: </p>
<hr />
<div>Thanks for adding this for me. I was not really sure how to add pages on this site, and I have not figure out how to turn it in to a .patch and have not had any time to figure it out. also thanks for figuring out how to add a specific "< div >" height. I was trying to figure it out but just threw it together. --[[User:Elpollodiablo1|Elpollodiablo1]] 19:59, 28 October 2009 (UTC)<br />
<br />
<br />
<br />
----<br />
<br />
Within this function find<br />
<br />
<pre><nowiki><br />
"height": 200,<br />
</nowiki></pre><br />
<br />
And replace it with<br />
<br />
<pre><nowiki><br />
"height": 200,<br />
</nowiki></pre><br />
<br />
<br />
<br />
<br />
'''Shouldn't the previous code actually read something different? Like 250 or 300? Not replace with the same information. Am I missing something? For instance,'''<br />
<br />
<br />
<br />
Within this function find<br />
<br />
<pre><nowiki><br />
"height": 200,<br />
</nowiki></pre><br />
<br />
And replace it with<br />
<br />
<pre><nowiki><br />
"height": 300,<br />
</nowiki></pre><br />
<br />
<br />
----<br />
<br />
You are correct. Good ol cut and past error. The valu should be 275. I have updated the instructions. Thankyou for the find.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:WebOS_Hash_Codes&diff=6660Talk:WebOS Hash Codes2009-10-25T15:20:34Z<p>Elpollodiablo1: </p>
<hr />
<div>When I was in ##DATA# (3282) and I try to change something it comes up with "Master Subsidy Lock" what is this and where can it be found? --[[User:Elpollodiablo1|Elpollodiablo1]] 15:12, 25 October 2009 (UTC)<br />
<br />
<br />
Also I see in the browser section that is has primary NGG and secondary NGG. Are these basically the sprint proxy servers for internet through the web browser? if so wouldn't it be be fairly simple to set up your own proxy server and set up your phone to go through that for better internet browsing security? --[[User:Elpollodiablo1|Elpollodiablo1]] 15:20, 25 October 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:WebOS_Hash_Codes&diff=6659Talk:WebOS Hash Codes2009-10-25T15:12:37Z<p>Elpollodiablo1: New page: When I was in ##DATA# (3282) and I try to change something it comes up with "Master Subsidy Lock" what is this and where can it be found? --~~~~</p>
<hr />
<div>When I was in ##DATA# (3282) and I try to change something it comes up with "Master Subsidy Lock" what is this and where can it be found? --[[User:Elpollodiablo1|Elpollodiablo1]] 15:12, 25 October 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Research_Securing_Pre&diff=6515Talk:Research Securing Pre2009-10-16T12:47:17Z<p>Elpollodiablo1: </p>
<hr />
<div>I had some questions about securing the Pre, I wanted to try and find out which ports were open. I tried to do a port scan on both my local wifi ip address as well as on the EVDO Ip address. neither of them showed any open ports. I know I have at least one open, port 222, because I have ssh set up on it. Has anyone else been able to run a portscan? I tried using "nc -z ipaddress 1-1024" locally on the pre and also from another linux computer on the network. I also tried running the port scanner from Gnome network tools.<br />
<br />
Any ideas about this?<br />
--[[User:Elpollodiablo1|Elpollodiablo1]] 12:47, 16 October 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Pictures_from_Self-Test&diff=6512Talk:Pictures from Self-Test2009-10-16T01:29:49Z<p>Elpollodiablo1: </p>
<hr />
<div>Did the /var/log/hwtest directory go away with the 1.1 update?<br />
<br />
<br />
<br />
It is not available 1.2.1. :( darn I wanted to see what my hw test pic was.--[[User:Elpollodiablo1|Elpollodiablo1]] 01:29, 16 October 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Pictures_from_Self-Test&diff=6511Talk:Pictures from Self-Test2009-10-16T01:29:18Z<p>Elpollodiablo1: </p>
<hr />
<div>Did the /var/log/hwtest directory go away with the 1.1 update?<br />
<br />
<br />
<br />
It is not available 1.2.1. :( darn I wanted to see what mine hw test pic was.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Research_RDXD&diff=6510Talk:Research RDXD2009-10-16T00:51:24Z<p>Elpollodiablo1: New page: good information but I dont really see how most of those would be used against any palm user. most of the stuff they are collecting is normal stuff about the device which would be helpful ...</p>
<hr />
<div>good information but I dont really see how most of those would be used against any palm user. most of the stuff they are collecting is normal stuff about the device which would be helpful to diagnose any problems with the pre pr specific apps and would allow thento fix it as needed. Personally I don't want them collecting my info anything from my Pre not even default linux log files. looking forward to more research from you and I will be doing my own research.--[[User:Elpollodiablo1|Elpollodiablo1]] 00:51, 16 October 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Research_Securing_Pre&diff=6508Talk:Research Securing Pre2009-10-16T00:23:43Z<p>Elpollodiablo1: New page: I had some questions about securing the Pre, I wanted to try and find out which ports were open. I tried to do a port scan on both my local wifi ip address as well as on the EVDO Ip addres...</p>
<hr />
<div>I had some questions about securing the Pre, I wanted to try and find out which ports were open. I tried to do a port scan on both my local wifi ip address as well as on the EVDO Ip address. neither of them showed any open ports. I know I have at least one open, port 222, because I have ssh set up on it. Has anyone else been able to run a portscan? I tried using "nc -z ipaddress 1-1024" locally on the pre and also from another linux computer on the network. I also tried running the port scanner from Gnome network tools.<br />
<br />
Any ideas about this?</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Patch_Clock_Change_Alarm_Snooze_Length&diff=6494Talk:Patch Clock Change Alarm Snooze Length2009-10-15T15:42:30Z<p>Elpollodiablo1: Coding a UI for Alarm Snooze Length</p>
<hr />
<div>I have been working on a UI based Alarm Snooze Length. I have it posted many different places. I am having one last coding problem. so if you or anyone can see if they can figure out how to help this patch it would be greatly appreaciated.<br />
<br />
[http://forums.precentral.net/webos-patches/207008-patch-project-adding-snooze-time-alarm.html Here] is my initial Post on Precentral.net<br />
<br />
[http://forums.precentral.net/web-os-development/208548-coding-help-final-barrier-alarm-clock-snooze-patch-please-help.html Here] is my other Posts on Precentral.net<br />
<br />
[http://developer.palm.com/distribution/viewtopic.php?f=11&t=2547 Here] is my post on Palm Dev Forum.</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Add_Ability_To_Choose_Snooze_Length&diff=6493Talk:Add Ability To Choose Snooze Length2009-10-15T15:32:18Z<p>Elpollodiablo1: New page: Your idea is already being worked on, with some differences. Here is the link. [http://www.webos-internals.org/wiki/Patch_Calendar_Snooze_Duration_Selection http://www.webos-internals.org...</p>
<hr />
<div>Your idea is already being worked on, with some differences. Here is the link.<br />
<br />
[http://www.webos-internals.org/wiki/Patch_Calendar_Snooze_Duration_Selection http://www.webos-internals.org/wiki/Patch_Calendar_Snooze_Duration_Selection]</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6472Talk:Backing Up via Rsync2009-10-14T01:09:59Z<p>Elpollodiablo1: /* Rsync Daemon */</p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
<br />
You dont need to be root to use the rsync over ssh to backup, the pervious command will work if you are using the username and password set up in the optware setup.<br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e username@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
I also dont think you need the "ssh" in the command the new versions of rsync use it automatically.<br />
I have writen up another tutorial of how to back up the pre without setting up the rsync daemon. check it out [http://forums.precentral.net/web-os-development/207665-using-rsync-do-complete-backup-your-pre.html here]. I have not done a restore yet so I still have to look into that but I see no reason why it cant be done over ssh as long as the partition is r/w and the user has sudo configured.<br />
<br />
-elpollodiablo<br />
<br />
The problem with running 'rsync -avz' (in your article) is that the files in your backup directory won't get removed when they're not present on the Pre, only overwritten. Have you tested your command above with a normal user account, and did you run into any permission issues? I tested the restore process and it works so far with the methods in the article. -[[User:Hopspitfire|hopspitfire]] 16:07, 13 October 2009 (UTC)<br />
<br />
Yes you are correct mine is not set up to delete folder/files that are no longer on the Pre. I didnt want to do that, I wanted it to back up all the files and keep a backup in case I needed to go back to files I had which I deleted from my Pre. I am also only overwriting the files that have changed. For a general backup utility your command would be best. I have not tested the command above but I have used the one in my article to back up my pre. There was a few problems one with the /dev/gadget folder it backedup one file then it seems to froze on me. so I exclude that folder and ran it again. It restarted on me in /sys/devices/ I excluded that folder and it all seemed to work, but there were alot of errors in the /sys folder. so I am probably going to exclude that one as well. why are you excluding the /proc folder? here is my final code:<br />
'''rsync -avz --size-only --exclude gadget/ --exclude sys/ --progress / username@sshserverIP:/Directory/To/Backup/To''' <br />
<br />
--[[User:Elpollodiablo1|Elpollodiablo1]] 01:09, 14 October 2009 (UTC)<br />
<br />
==Additions==<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Elpollodiablo1http://wiki.webos-internals.org/index.php?title=Talk:Backing_Up_via_Rsync&diff=6463Talk:Backing Up via Rsync2009-10-13T15:59:53Z<p>Elpollodiablo1: </p>
<hr />
<div>==Rsync Daemon==<br />
<br />
Why turn on the rsync daemon at all? This could easily be accomplished simply by running <br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e ssh root@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
Also, since ''-P'' includes ''--progress'', there's no reason to call it a second time.<br />
<br />
-JackieRipper<br />
<br />
<br />
We don't have a root password set up on the Pre, it's using sudo therefore that's why ssh won't work. Rsyncd.conf gives the rsync daemon root privileges so it can mirror the device. I'm be open to suggestions, but I'm trying to make this fit in with the [[Next_steps | next steps]] guide and limit the number of steps.<br />
<br />
Thanks for pointing out the redundancy on --progress.<br />
<br />
-hopspitfire<br />
<br />
<br />
Ahhh yes. I keep forgetting that not everyone set up keys for root access.<br />
<br />
-JackieRipper<br />
<br />
<br />
You dont need to be root to use the rsync over ssh to backup, the pervious command will work if you are using the username and password set up in the optware setup.<br />
<br />
'''rsync -HrlptgoDPvvS --force --delete --del --stats -e username@IPADDRESS:/ /media/pre-backup/'''<br />
<br />
I also dont think you need the "ssh" in the command the new versions of rsync use it automatically.<br />
I have writen up another tutorial of how to back up the pre without setting up the rsync daemon. check it out [http://forums.precentral.net/web-os-development/207665-using-rsync-do-complete-backup-your-pre.html here]. I have not done a restore yet so I still have to look into that but I see no reason why it cant be done over ssh as long as the partition is r/w and the user has sudo configured.<br />
<br />
-elpollodiablo<br />
<br />
==Additions==<br />
<br />
I've added these to my .profile on the Pre:<br />
exclude1="--exclude=/proc --exclude=/sys --exclude=/tmp/webdiskcache"<br />
exclude2="--exclude=/media/internal/AUDIO --exclude=/media/internal/Place_iTunes_Uses"<br />
syncopt1="-az --partial --progress --stats --delete-after --bwlimit=300 --numeric-ids"<br />
syncpath=" / me@$IPADDRESS:~/PreRSync/ "<br />
alias Sync='d=`date +%Y%m%d.%H%M%S` ; sudo rsync --rsync-path=sudo\ rsync $syncopt1 -b --backup-dir=~/PreRSync.bak/$d $syncpath $exclude1 $exclude2'<br />
On the server in the /etc/sudoers I've added something like this (not sure this is the most secure thing to do):<br />
me ALL=(ALL) ALL, NOPASSWD: /usr/bin/rsync<br />
Now I can simply login to the Pre and run Sync, it prompts for a password at the server but hostkeys could be used to avoid that.<br />
The addition of the dated backup options means that I get a copy of any removed or overwritten files at the server.<br />
I use something called cwrsync which I believe is the cygwin rsync command without installing all of cygwin, might be handy and simple enough for windows users.<br />
--[[User:Dolio|Dolio]] 07:02, 1 October 2009 (UTC)<br />
<br />
:Nice additions and thanks for sharing, feel free to add them to the article. I'll have to try these myself. -[[User:Hopspitfire|hopspitfire]] 07:05, 1 October 2009 (UTC)<br />
<br />
==Pre Rebooting Issue==<br />
<br />
If you don't exclude some of the directories then the Pre reboots when the backup process touches them. [[User:hmagoo|-hmagoo]]<br />
<br />
:Can you specify which files/directories prompt the reboot? -[[User:Hopspitfire|hopspitfire]] 02:57, 20 August 2009 (UTC)<br />
<br />
::I could narrow it down to proc and/or sys, that's narrow enough for me to exclude both, any progress on restore testing? I'm not running an emulator. [[User:hmagoo|-hmagoo]]<br />
<br />
:I tested the restore process and it works. Can you run the backup process and send the output to a file (rsync ... > /media/internal/rsync.log) and post it? -[[User:Hopspitfire|hopspitfire]] 00:49, 24 August 2009 (UTC)<br />
<br />
::[http://sites.google.com/site/hmagoosite/rsync-outputs.tar.gz rsync-outputs.tar.gz] this was the console and log output from running a backup. I had already a backup in place in the destination but excluded /dev, /sys/ and /proc initially, ran it this time without those exclusions to test it out (again, as I saw this reboot the very first time I tried this method). rebooted right after this line in the console, similar in the log.<br />
rsync: read errors mapping "/sys/devices/platform/lcd-controller/ctrl_reg_dump" (in root): No data available (61)<br />
[[User:hmagoo|-hmagoo]]<br />
::I ran the backup again excluding /sys and everything completed, only errors I got in the console were:<br />
<br />
rsync: send_files failed to open "/proc/sys/kernel/sched_nr_migrate" (in root): Permission denied (13)<br />
<br />
rsync: send_files failed to open "/proc/sys/net/ipv4/route/flush" (in root): Permission denied (13)<br />
<br />
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1524) [generator=3.0.5]<br />
<br />
[[User:hmagoo|-hmagoo]]<br />
<br />
Thanks for attaching your log. /sys and /proc don't need to be included in the backup, but /dev does (to initialize devices on boot). After testing the backup and restore, the easiest way is just mkdir the /sys and /proc directories and exlude them in the backup. Does the pre still restart when you excluded those directories?? -[[User:Hopspitfire|hopspitfire]] 21:23, 26 August 2009 (UTC)<br />
<br />
Shouldn't /dev exist fine after a restore and before rsync backup restore? I guess if you made some strange volume changes, but still. --[[User:NetWhiz|NetWhiz]] 21:59, 26 August 2009 (UTC)<br />
<br />
I was using /dev as an example of a directory that _shouldn't_ be excluded in the backup process, so /dev will exist after a backup prior to a restore (otherwise the Pre won't boot because it can't initialize the mapper devices for storage). -[[User:Hopspitfire|hopspitfire]] 22:37, 26 August 2009 (UTC)<br />
<br />
You mean it SHOULD be excluded b/c you will not need to restore it. --[[User:NetWhiz|NetWhiz]] 22:54, 26 August 2009 (UTC)<br />
<br />
(failed=reboot).. failed with no excludes. successful with /dev/,/proc,/sys excluded. successful with /sys excluded. but with those three error messages.--[[User:Hmagoo|Hmagoo]] 23:52, 26 August 2009 (UTC)<br />
<br />
:@NetWhiz: /dev needs to be populated on the actual filesystem (before devfs/udev get loaded) for a *nix system to boot.<br />
<br />
:@Hmagoo: Thanks, I went ahead and fixed the lines in the article.<br />
<br />
:-[[User:Hopspitfire|hopspitfire]] 00:12, 27 August 2009 (UTC)<br />
<br />
I understand, BUT when you do a restore with WebOS Doctor it will already be there. Are we not talking about the same thing or are we just cross talking? --[[User:NetWhiz|NetWhiz]] 01:11, 27 August 2009 (UTC)<br />
<br />
:OH, I'm talking about a restore using rsync ;) (in this guide, after the intial webOS Doctor). I still don't know if we should be overwriting the entire system (with the rsync backup, including /dev). Any ideas on this? My reasoning for doing a full system overwrite is version compatibility. -[[User:Hopspitfire|hopspitfire]] 01:16, 27 August 2009 (UTC)<br />
<br />
:LOL! I would say NOT to overwrite /dev b/c it should already be setup correctly and there is nothing anyone should be doing in there with any mod anyway that I have seen. Trying to overwrite some of the virtual devices can be a BAD thing as some have seen (crashes, freezes, etc.) Just my thoughts. --[[User:NetWhiz|NetWhiz]] 01:58, 27 August 2009 (UTC)</div>Elpollodiablo1