WOCE Build Instructions

Supported Platforms
Currently the only supported platform is Ubuntu 12.04. We have tested and confirmed that x32 and x64 Ubuntu Desktop and Server successfully build WOCE. Other platforms may work but are not supported.

Older versions of Ubuntu may also work, it's been tested successfully on Ubuntu 10.10. It's also very likely that you'll have success with Debian or Debian-based distributions.

 We recommend you follow the instructions to install WOCE Build Environment. continue at your own risk!   USE 32-bit. 

Prerequisites on Debian-based systems
Your Debian/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.

If you're uncertain at all, just cut and paste the following. If some of these packages are already installed and up-to-date, they'll be skipped.

sudo apt-get install git build-essential python curl unzip

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.

Note: If you are using x64 ubuntu you also need to install the following package

Start setup
git clone git://www.github.com/woce/woce-build
 * Create a WOCE directory, we recommend you place it in your home directory.
 * Clone down the woce-build repo from github
 * Start the build. This is as simple as cd'ing into the woce-build directory and running make or if you have multiple cores make -j 
 * When the build finishes the binaries will be under the packages folder in their appropriate directories (e.g. LunaSysMgr in )

Installing the Binaries

 * Install the SDK/PDK
 * Enable 'Developer Mode' on your TouchPad (How To Enable Developer Mode)
 * Connect your TouchPad via USB to your (Linux) computer
 * From your TouchPad, when the connection is detected, just tap 'Close' in the notification window.

From your (Linux) computer, execute the following commands - take note that there is an assumption of where the new LunaSysMgr is at:

novacom run -- file:///sbin/stop LunaSysMgr novacom run file://bin/mount -- -o remount,rw / novacom put file:///usr/bin/LunaSysMgr < ./packages/sysmgr/luna-sysmgr/build/woce/armv7-stage/release-topaz/LunaSysMgr novacom run file://bin/mount -- -o remount,ro / novacom run -- file:///sbin/reboot

Your device will reboot in to the new LunaSysMgr

Done!
You're done! Your very own LunaSysMgr should now start on your TouchPad.

Don't forget to join the IRC channel #webos-ports on Freenode and report any issues to WebOS Port's bugtracker. Oh, and contribute your code changes!

Packaging
'''Beware: Dragons Ahead. These instructions will probably *not* be in a functional state when you try them.'''

First, you need a custom version of woce-build. For now lets use ShiftyAxel's woce-build.

git clone git://github.com/ShiftyAxel/woce-build.git cd woce-build git pull origin alpha

now that you have the packaging repo, we need to setup the custom target to get full woce with patches building.

cd ~/ git clone git://github.com/ShiftyAxel/LunaSysMgr.git cd LunaSysMgr git pull origin alpha-testing cd wherever you put your woce-build cd config edit the custom.mk and remove the 2 warning lines.

Trigger the main build.

cd .. make CONFIG=custom

Trigger the packaging

cd packages/sysmgr/luna-sysmgr make CONFIG=custom; make CONFIG=custom package

Take the package that just was generated and install it with preware.

'''IMPORTANT: Do not restart your device at this point! Perform a luna restart.'''

Profit?

Developer Extras

 * Follow the instructions above to ensure you have the needed software and that the build works for you as-is.
 * Clone a copy of LunaSysMgr somewhere for your development pleasure
 * Edit config/custom.mk:
 * Remove the error and warning lines as indicated
 * Change LUNASYSMGR_URL to point to your LunaSysMgr source tree
 * run 'make custom' ('make custom -j8' or similar) to build LunaSysMgr from your source tree. If you change a source file, another 'make custom' will rebuild only what's needed.
 * Test your new feature(s) and submit pull requests to woce/LunaSysMgr! :)