Difference between revisions of "PDK on Linux"

From WebOS Internals
Jump to: navigation, search
(Get the Webos-Internals WIDK cross-compile toolchain)
(Extract that .pkg file)
Line 32: Line 32:
 
sudo sh -c 'gzip -cd palmpdk.pkg/Payload | (cd /; cpio -i)'
 
sudo sh -c 'gzip -cd palmpdk.pkg/Payload | (cd /; cpio -i)'
 
</pre>
 
</pre>
 +
 +
You now have a Palm PDK in /opt/PalmPDK, but you don't have a working cross-compile toolchain, because the one Palm supplied was for osX / Darwin  not Linux.  We need to fix that.
  
 
===Get CodeSourcery Linux cross-compiler===
 
===Get CodeSourcery Linux cross-compiler===

Revision as of 10:25, 28 December 2010

The official Palm PDK development kit for writing native programs is not supported on Linux.

The instructions on this page should allow you to get the official Palm webOS PDK for OSX working on Linux.

It's totally untested other than running a few scripts and confirming that things seem to be where they should be, so please confirm if it works for you.

Prerequisites

Get the command line tool "xar". Some debian based systems have it, try apt-get install xar. If not found, get it from http://code.google.com/p/xar/ (I needed package libxml2-dev to compile it)

WIDK cross-compile repository is really helpful as it already has functionality to download and extract the OSX PDK, most of which will "just work" on Linux. It can also download the CodeSourcery toolchain for Linux to replace the one included in the PDK, built for Darwin.


Setup

Get the Palm PDK using the Webos-Internals makefile

This downloads Palm's DMG file, downloads and patches a tool for converting DMG's, and runs it against the Palm DMG, ending up with an IPKG .pkg package file.

	
git clone git://git.webos-internals.org/preware/cross-compile.git
cd cross-compile
make doctors/Palm_webOS_SDK-Mac-1.4.5.465.pkg

You now have a Palm_webOS_SDK-Mac-1.4.5.465.pkg in doctors/ .

Extract that .pkg file

Now let's extract it into / (this will create /opt/PalmPDK)

xar -xf doctors/Palm_webOS_SDK-Mac-1.4.5.465.pkg palmpdk.pkg
sudo sh -c 'gzip -cd palmpdk.pkg/Payload | (cd /; cpio -i)'

You now have a Palm PDK in /opt/PalmPDK, but you don't have a working cross-compile toolchain, because the one Palm supplied was for osX / Darwin not Linux. We need to fix that.

Get CodeSourcery Linux cross-compiler

Install the CodeSourcery Linux cross-compiler toolchain where Palm's toolchain built for OSX was.

make toolchain
sudo cp -r toolchain/arm-2007q3 /opt/PalmPDK
cd /opt/PalmPDK
sudo mv arm-gcc arm-gcc-darwin
sudo ln -s arm-2007q3 arm-gcc

Someone who is familiar with the PDK should test this at this point to see if you can actually use it in the proper ways.