Difference between revisions of "Building a component in OE"

From WebOS-Ports
Jump to navigation Jump to search
(Created page with " ==Setup== '''Assumptions''' You have a local copy of the component repo in path/to/<component name> You have a working OE build dir in /srv/webos-ports (To set this up, s...")
 
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
+
For a core system developer it will be required to rebuild some of the system components for the target device. This page describes all necessary steps.
  
 
==Setup==
 
==Setup==
Line 5: Line 5:
 
'''Assumptions'''
 
'''Assumptions'''
  
You have a local copy of the component repo in path/to/<component name>
+
* You have a local copy of the component repo in path/to/<component name> (only required in case we have an own repo and not following upstream directly!)
 
+
* You have a working OE build dir in /srv/webos-ports (To set this up, start here: [http://webos-ports.org/wiki/Build_for_Maguro])
You have a working OE build dir in /srv/webos-ports (To set this up, start here: [http://www.webos-ports.org/wiki/Galaxy_Nexus_Build_Setup])
+
* You have a working knowledge of linux
 
+
* You have the Android SDK Setup
You have a working knowledge of linux
 
 
 
You have the Android SDK Setup
 
 
 
You have your galaxy nexus rndis setup and working.
 
  
 
'''Configuration'''
 
'''Configuration'''
 
+
When it's a component for which we have our own repo:
 
Add the following to the bottom of conf/local.conf
 
Add the following to the bottom of conf/local.conf
  
 
<pre>
 
<pre>
S_pn-luna-sysmgr = "path/to/<component name>"
+
S_pn-<component name> = "path/to/<component name>"
 
</pre>
 
</pre>
  
 +
Otherwise you can just update the recipe directly.
 
==Building==
 
==Building==
  
Line 33: Line 29:
 
The output is hidden inside the build tree. Look into the path
 
The output is hidden inside the build tree. Look into the path
  
 +
<pre>
 
tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/<component name>/<version>/build
 
tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/<component name>/<version>/build
 +
</pre>
  
 
or
 
or
  
 +
<pre>
 
tmp-glibc/work/<machine name>-webos-linux-gnueabi/<component name>/<version>/build
 
tmp-glibc/work/<machine name>-webos-linux-gnueabi/<component name>/<version>/build
 +
</pre>
 +
 +
for the binary you have built and transfer it to the device to the right location. For example use adb
  
for the binary you have build and transfer it to the device
+
<pre>
 +
$ adb push tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/luna-webappmanager/0.2.0-8+gitAUTOINC+5344f19613-r0/build/src/LunaWebAppManager /usr/sbin/
 +
</pre>

Latest revision as of 14:15, 28 February 2016

For a core system developer it will be required to rebuild some of the system components for the target device. This page describes all necessary steps.

Setup

Assumptions

  • You have a local copy of the component repo in path/to/<component name> (only required in case we have an own repo and not following upstream directly!)
  • You have a working OE build dir in /srv/webos-ports (To set this up, start here: [1])
  • You have a working knowledge of linux
  • You have the Android SDK Setup

Configuration When it's a component for which we have our own repo: Add the following to the bottom of conf/local.conf

S_pn-<component name> = "path/to/<component name>"

Otherwise you can just update the recipe directly.

Building

Now you can build the component from your OE environment by

$ MACHINE=<machine name> bb -c compile -f <component name>

The output is hidden inside the build tree. Look into the path

tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/<component name>/<version>/build

or

tmp-glibc/work/<machine name>-webos-linux-gnueabi/<component name>/<version>/build

for the binary you have built and transfer it to the device to the right location. For example use adb

$ adb push tmp-glibc/work/armv7a-vfp-neon-webos-linux-gnueabi/luna-webappmanager/0.2.0-8+gitAUTOINC+5344f19613-r0/build/src/LunaWebAppManager /usr/sbin/