Difference between revisions of "WOCE Build Instructions"

From WebOS-Ports
Jump to navigation Jump to search
 
(42 intermediate revisions by 10 users not shown)
Line 1: Line 1:
<accesscontrol>hp,Usergroup:Members</accesscontrol>
+
==Supported Platforms==
 +
 
 +
Currently the only supported platform is Ubuntu 12.04. We have tested and confirmed that x32 and <strike>x64</strike> 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.
  
==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.
+
<span style="color:red"><b> '''We recommend you follow the instructions to install [[WOCE Build Environment]]. continue at your own risk!''' </b></span>
 +
<span style="color:red"><b> '''USE 32-bit.''' </b></span>
  
==Installation on Ubuntu==
 
  
===Prerequisites===
+
==Prerequisites on Debian-based systems==
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.
+
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.
  
 
{| border="1"
 
{| border="1"
 
|+  
 
|+  
|'''git''' || sudo apt-get install git
+
|'''git''' || <code>sudo apt-get install git</code>
 
|-
 
|-
|'''gcc''' || sudo apt-get install build-essential
+
|'''gcc''' || <code>sudo apt-get install build-essential</code>
 
|-
 
|-
|'''python''' || sudo apt-get install python
+
|'''python''' || <code>sudo apt-get install python</code>
 
|-
 
|-
|'''curl''' || sudo apt-get install curl
+
|'''curl''' || <code>sudo apt-get install curl</code>
 +
|-
 +
|'''unzip''' || <code>sudo apt-get install unzip</code>
 
|}
 
|}
  
If you're uncertain at all, and you're using Ubuntu 12.04, just cut and paste the following. If they are already installed, they'll be skipped.
+
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
+
  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 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
  
 
{| border="1"
 
{| border="1"
 
|+  
 
|+  
|'''multilib''' || sudo apt-get install multilib
+
|'''ia32-libs and g++-multilib''' || <code>sudo apt-get install ia32-libs g++-multilib</code>
 
|-
 
|-
 
|}
 
|}
  
 +
==Start setup==
 +
 +
*Create a WOCE directory, we recommend you place it in your home directory.
 +
*Clone down the woce-build repo from github
 +
git clone <nowiki>git://www.github.com/woce/woce-build</nowiki>
 +
*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<number of cores here>'''
 +
*When the build finishes the binaries will be under the packages folder in their appropriate directories (e.g. LunaSysMgr in <code>./packages/sysmgr/luna-sysmgr/build/woce/armv7-stage/release-topaz/LunaSysMgr</code>)
 +
 +
==Installing the Binaries==
 +
 +
*Install the [https://developer.palm.com/content/resources/develop/sdk_pdk_download.html#linux  SDK/PDK]
 +
*Enable 'Developer Mode' on your TouchPad ([https://developer.palm.com/content/api/dev-guide/tools/enabling-developer-mode.html 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 [https://web.libera.chat/#webos-ports #webos-ports on Libera] and report any issues to [https://github.com/webOS-ports/luneos-testing/issues WebOS Port's bugtracker]. Oh, and contribute your code changes!
 +
 +
==Packaging==
  
====Start setup====
+
'''Beware: Dragons Ahead. These instructions will probably *not* be in a functional state when you try them.'''
  
*Create a WOCE directory, we recommend you place it in your home directory.
+
First, you need a custom version of woce-build. For now lets use ShiftyAxel's woce-build.
*Clone down the woce-build repo from github. '''git clone git://www.github.com/woce/seecretfornow'''
+
 
*Start the build. this is as simple as cd'ing into the woce-build directory and ruuning '''make''' or if you have multiple cores '''make -j<number of cores here>'''
+
<pre>git clone git://github.com/ShiftyAxel/woce-build.git
*When the build finishes the binary's will be under the packages folder in their appropriate directories
+
cd woce-build
 +
git pull origin alpha
 +
</pre>
 +
 
 +
now that you have the packaging repo, we need to setup the custom target to get full woce with patches building.
 +
 
 +
<pre>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.
 +
</pre>
 +
 
 +
Trigger the main build.
 +
 
 +
<pre>cd ..
 +
make CONFIG=custom</pre>
 +
 
 +
Trigger the packaging
 +
 
 +
<pre>cd packages/sysmgr/luna-sysmgr
 +
make CONFIG=custom; make CONFIG=custom package
 +
</pre>
 +
 
 +
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.'''
  
===Installing the Binaries===
+
Profit?
  
Instructions Coming Soon
+
==Developer Extras==
  
==You're Done!==
+
* 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! :)

Latest revision as of 09:20, 13 February 2024

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.

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

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

ia32-libs and g++-multilib sudo apt-get install ia32-libs g++-multilib

Start setup

  • Create a WOCE directory, we recommend you place it in your home directory.
  • Clone down the woce-build repo from github
git clone git://www.github.com/woce/woce-build
  • 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<number of cores here>
  • When the build finishes the binaries will be under the packages folder in their appropriate directories (e.g. LunaSysMgr in ./packages/sysmgr/luna-sysmgr/build/woce/armv7-stage/release-topaz/LunaSysMgr)

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 Libera 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! :)