http://www.openembedded.org/api.php?action=feedcontributions&user=Ka6sox&feedformat=atomOpenembedded.org - User contributions [en]2024-03-29T07:47:11ZUser contributionsMediaWiki 1.29.0http://www.openembedded.org/index.php?title=OEDEM_2019&diff=10608OEDEM 20192019-10-03T23:12:03Z<p>Ka6sox: /* Planning to Attend */</p>
<hr />
<div>== Location and Time ==<br />
<br />
Friday, 1 November 2019 (Part of Yocto Project Summit after ELCE [October 31 - November 1])<br><br />
OEDEM is on Day 2 of the Summit, November 1.<br />
<br />
Details on the Yocto Project Summit are here https://wiki.yoctoproject.org/wiki/Yocto_Project_Summit_2019.<br />
And the registration link https://www.cvent.com/events/yocto-project-summit-2019/registration-f185462e4bb240fea6364d2db7a270f4.aspx?fqp=true<br />
<br />
== Logistics ==<br />
<br />
<br />
== Remote conference link ==<br />
<br />
<br />
== Planning to Attend ==<br />
<br />
# Philip Balister (Crofton) [XL]<br />
# Peter Kjellerstedt (Saur) [3XL]<br />
# Ola Nilsson (olani) [M]<br />
# Marco Cavallini (mckoan) [M]<br />
# Jon Mason (jonmason) [L]<br />
# Josef Holzmayr (LetoThe2nd) [XL]<br />
# Mark Hatle (fray) [XL]<br />
# Khem Raj (khem) [M]<br />
# Scott Murray (smurray) [2XL]<br />
# Matt Porter (mdp) [L]<br />
# Michael Halstead (halstead) [L]<br />
# Andrea Galbusera (gizero) [M]<br />
# Paul Barker (paulbarker) [M]<br />
# Jan-Simon Möller [2XL]<br />
# Richard Purdie (RP) [L]<br />
# Alexander Kanavin (kanavin) [S]<br />
# Mauro Salvini [M]<br />
# Manjukumar [S]<br />
# Alejandro Hernandez [M]<br />
# Jan Lübbe (shoragan) [XL]<br />
# Behan Webster (behanw) [3XL]<br />
# Ruslan Bilovol (rbilovol) [XL]<br />
# Grygorii Tertychnyi (gtertych) [L]<br />
# Bruce Ashfield (zeddii) [XL]<br />
# Daniel Gomez (dagmcr) [L]<br />
# Nicolas Dechesne (ndec) [XL]<br />
# Mark Asselstine (marka) [L]<br />
# Tom King (ka6sox) [L]<br />
<br />
== Agenda Items ==<br />
<br />
=== OE Developers Meeting ===<br />
<br />
# Review and discuss talks from the Yocto Project Summit the day before.<br />
# Clean-up of wiki and meta layer index<br />
# Ways to recognize corporate sponsors and those who donate hardware (and/or money)<br />
# How do we communicate with users better? Not everyone is on mailing lists. Social Media?<br />
# Results of the Yocto/Openembedded new features survey (http://bit.ly/2kXvdsd)<br />
<br />
=== Meeting minutes for OEDeM ===<br />
<br />
== Minutes ==<br />
<br />
SHARED MINUTES AT<br />
<br />
ACTIONS identified in meeting:<br />
<br />
=== Prior minutes ===<br />
<br />
Minutes from Edinburgh, Oct 2018:<br />
https://docs.google.com/document/d/1YDAHjIOXCIgvSZVOKCYLxa8h26dkruX8zspoge7zCpk/<br />
<br />
Minutes from Portland, Mar 2018:<br />
https://docs.google.com/document/d/1h_otwcH-6ej4URB5vER-7FpaPthrji3TpJWf5jAKRIk/edit?usp=sharing<br />
<br />
Minutes from Prague, Oct 2017:<br />
https://docs.google.com/document/d/1R_pV_PumhZ9a8_aRDTuW7wBjqNwIDuau7FGr6sYYRu0/edit?usp=sharing<br />
<br />
Minutes from Portland, Feb 2017:<br />
https://docs.google.com/document/d/1ECCfBwdLUaW3I23RATWCU3kGnSh04Kv0DkH1_KfiLVA/edit?usp=sharing</div>Ka6soxhttp://www.openembedded.org/index.php?title=OEDAM_2018&diff=10127OEDAM 20182018-02-22T00:46:40Z<p>Ka6sox: /* Planning to Attend */</p>
<hr />
<div>== Location and Time ==<br />
<br />
Sunday, 11 March 2018 (before ELC [March 12-14])<br><br />
Board meeting to start at 09:30<br />
Developer's meeting to start at 10:30<br />
Expectation is to finish by 1800<br />
<br />
Lunch is provided<br />
<br />
Location: Mentor Graphics Headquarters, Wilsonville, OR<br />
Carpooling is encouraged, see below<br />
<br />
Yes, we know it is Sunday. Best we could do this year.<br />
<br />
== Planning to Attend ==<br />
<br />
Carpool note: Please add a {#} after your name if you plan to drive and can take # of people in your car other than yourself<br />
<br />
* Jeff Osier-Mixon "Jefro" {4}<br />
* Philip Balister (Crofton)<br />
* Denys Dmytriyenko (denix)<br />
* Sean Hudson (darknighte)<br />
* Manjukumar Matha (manju)<br />
* Joshua Watt (JPEWhacker)<br />
* Zachary Booth<br />
* Jim Lodes<br />
* Armin Kuster (Armpit){15}<br />
* Scott Murray (smurray)<br />
* Tim Orling (moto-timo)<br />
* Alejandro Hernandez (aehs29)<br />
* Christopher Clark<br />
* Behan Webster (behanw)<br />
* Marek Vasut (Marex)<br />
* Taras Kondratiuk<br />
* Bill Mills<br />
* Ricardo Salveti (rsalveti)<br />
* Khem Raj (khem)<br />
* Tom King (ka6sox)<br />
<br />
== Agenda Items ==<br />
<br />
=== OE Board ===<br />
E.v status<br />
<br />
=== OE Developers Meeting ===<br />
# Discuss meta-oe release process<br />
# World build monitoring and automatic notifications<br />
<br />
== Minutes ==<br />
<br />
<br />
<br />
=== Prior minutes ===<br />
<br />
Minutes from Prague, Oct 2017:<br />
https://docs.google.com/document/d/1R_pV_PumhZ9a8_aRDTuW7wBjqNwIDuau7FGr6sYYRu0/edit?usp=sharing<br />
<br />
Minutes from Portland, Feb 2017:<br />
https://docs.google.com/document/d/1ECCfBwdLUaW3I23RATWCU3kGnSh04Kv0DkH1_KfiLVA/edit?usp=sharing</div>Ka6soxhttp://www.openembedded.org/index.php?title=User:Vicentiu&diff=8861User:Vicentiu2016-08-19T06:56:11Z<p>Ka6sox: Creating user page for new user.</p>
<hr />
<div>Manager of Real-Time OS group at National Instruments</div>Ka6soxhttp://www.openembedded.org/index.php?title=User_talk:Vicentiu&diff=8863User talk:Vicentiu2016-08-19T06:56:11Z<p>Ka6sox: Welcome!</p>
<hr />
<div>'''Welcome to ''Openembedded.org''!'''<br />
We hope you will contribute much and well.<br />
You will probably want to read the [[Help:Contents|help pages]].<br />
Again, welcome and have fun! [[User:Ka6sox|Ka6sox]] ([[User talk:Ka6sox|talk]]) 06:56, 19 August 2016 (UTC)</div>Ka6soxhttp://www.openembedded.org/index.php?title=User_talk:LetoThe2nd&diff=8859User talk:LetoThe2nd2016-08-19T06:52:15Z<p>Ka6sox: Welcome!</p>
<hr />
<div>'''Welcome to ''Openembedded.org''!'''<br />
We hope you will contribute much and well.<br />
You will probably want to read the [[Help:Contents|help pages]].<br />
Again, welcome and have fun! [[User:Ka6sox|Ka6sox]] ([[User talk:Ka6sox|talk]]) 06:52, 19 August 2016 (UTC)</div>Ka6soxhttp://www.openembedded.org/index.php?title=User:LetoThe2nd&diff=8857User:LetoThe2nd2016-08-19T06:52:14Z<p>Ka6sox: Creating user page for new user.</p>
<hr />
<div>Embedded Linux Software Developer at R-S-I Elektrotechnik GmbH & Co. KG</div>Ka6soxhttp://www.openembedded.org/index.php?title=OEDAM_2016&diff=8545OEDAM 20162016-03-08T13:32:19Z<p>Ka6sox: /* Attendees */</p>
<hr />
<div>== Location and Time ==<br />
<br />
Friday April 8 2016 (after ELC [Apr 4-6] and Yocto Project Developer Day [Apr 7])<br />
<br />
== Attendees ==<br />
Armin Kuster (Armpit)<br><br />
Denys Dmytriyenko (denix)<br><br />
Philip Balister (Crofton|work)<br><br />
Sean Hudson (darknighte)<br><br />
Tim Orling (Moto-timo)<br><br />
Trevor Woerner<br><br />
Tom King (ka6sox)<br><br />
<br />
== Agenda Items ==<br />
<br />
* Review items from last meeting in Dublin (Please add remarks)<br />
<br />
===BSPs & Layer Index===<br />
* oe driving toward machine readable files, can also drive from layer<br />
test (yp compat) side - KK<br />
* publicize defs of each list? discuss on members list - where to<br />
overall architecture discussions belong<br />
* TSC to add new mailing list specifically about project<br />
architecture, no patches, and determine list name<br />
* KK bring discussion to new mailing list<br />
<br />
===BSP standards - standards exist,coming soon are methods for comparing===<br />
a given layer with the standard<br />
* need wiki documentation for TSC to ratify<br />
* document distro vs. machine policies, other best practices<br />
<br />
===BSP layer availability===<br />
* encourage board vendors to provide a BSP, make it easier to do so<br />
* ask yp ab to talk to linux.com [PB] - community issue<br />
* look at digi manual (i.e. "just add bsp changes in local.conf")<br />
<br />
===meta-yocto to meta-poky===<br />
* RP to take action on the YP side, possibly not for 2.0<br />
* formalize lowercase as mandatory requirement for overrides, look<br />
for other options in the future<br />
<br />
===Layer Index feature requests discussed with layer index build feedback>>===<br />
* ask for cycles from employers to work on these issues<br />
* make people aware, help with triage, provide resources<br />
<br />
===Security===<br />
* need a method for tracking CVs<br />
<br />
===Systemd===<br />
complaints: more package config, comments; look at packaging to have<br />
minimal systemd even with options available<br />
* need someone with time available to work on it<br />
* need to get systemd feedback, people using systemd talk to package maintainer<br />
* file systemctl wrapper bug<br />
<br />
===Advocacy===<br />
* board to discuss advocacy/community, invite jefro to meetings<br />
Potential OE Day at ELCE next year<br />
* board: do a proper cfp<br />
<br />
== Minutes ==</div>Ka6soxhttp://www.openembedded.org/index.php?title=OEDAM_2014&diff=6955OEDAM 20142014-03-06T21:18:54Z<p>Ka6sox: /* Attendees */</p>
<hr />
<div>= OpenEmbedded Developers America Meeting =<br />
<br />
The OpenEmbedded Project is holding a developers meeting May 2-3, 2014, in Santa Clara, CA. This meeting is co-located with the Embedded Linux Conference North America. All active OpenEmbedded developers are invited to attend. <br />
<br />
Contact [mailto:jefro@jefro.net Jefro] with any questions.<br />
<br />
== Location & Time ==<br />
<br />
May 2-3, 2014<br><br />
time TBD<br />
<br />
[https://www.google.com/maps/preview#!q=4600+Patrick+Henry+Dr+Santa+Clara%2C+CA+95054+&data=!1m4!1m3!1d9724!2d-121.985724!3d37.3978139!4m15!2m14!1m13!1s0x808fc9d0bdf38417%3A0x8ca7d9c558968760!3m8!1m3!1d2439!2d-80.4013806!3d37.1440125!3m2!1i1366!2i589!4f13.1!4m2!3d37.3978139!4d-121.985724 Ettus Research / National Instruments]<br><br />
4600 Patrick Henry Drive<br><br />
Santa Clara, CA 95054 USA<br />
<br />
Lunches will be provided by the [http://yoctoproject.org Yocto Project Community Office]<br />
<br />
== Goals ==<br />
<br />
* Have fun.<br />
* Get useful work done that benefits from high bandwidth interactions.<br />
* Get more people involved wit the project at a higher level.<br />
<br />
== Working Agenda ==<br />
<br />
This agenda is flexible, and meant to reflect the important issues in the OE community. Please feel free to contribute agenda items.<br />
<br />
* bug scrub<br />
* ongoing role of the OE TSC<br />
* wiki/website organization<br />
* online voting<br />
* increasing the amount of hardware that works out of the box with oe-core + layers<br />
* next + 1 release<br />
* attract new developers and help them out to next level<br />
<br />
== Attendees ==<br />
<br />
* Philip Balister (Crofton)<br />
* Richard Purdie (RP)<br />
* Mark Hatle (fray)<br />
* Khem Raj (khem)<br />
* Martin Jansa (jama)<br />
* Armin Kuster (akuster)<br />
* Jeff Osier-Mixon (jefro)<br />
* Alejandro del Castillo<br />
* Tom King (ka6sox)<br />
* <your name here></div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4881Template:Main page/news2012-09-03T18:01:05Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
* '''''2012-08-31:''''' Meta-webos added<br />
* '''''2012-07-16:''''' Meta-systemd moved from meta-oe <br />
* '''''2012-02-07:''''' OpenEmbedded attended europe's largest free software conference FOSDEM '12 in Brussels. Thanks for all the helpers and guests at our [http://www.flickr.com/photos/32615155@N00/6822271361/in/photostream booth]. See you soon at a F/OSS event near you!<br />
* '''''2011-04-18:''''' OpenEmbedded has Stand # 7.2b 112 @ [http://www.linuxtag.org LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds<br />
* '''''2011-03-02:''''' [http://www.linuxfoundation.org/news-media/announcements/2011/03/yocto-project-aligns-technology-openembedded-and-gains-corporate-co Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4879Template:Main page/news2012-09-03T15:49:57Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
* '''''2012-07-16:''''' Meta-systemd moved from meta-oe <br />
* '''''2012-02-07:''''' OpenEmbedded attended europe's largest free software conference FOSDEM '12 in Brussels. Thanks for all the helpers and guests at our [http://www.flickr.com/photos/32615155@N00/6822271361/in/photostream booth]. See you soon at a F/OSS event near you!<br />
* '''''2011-04-18:''''' OpenEmbedded has Stand # 7.2b 112 @ [http://www.linuxtag.org LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds<br />
* '''''2011-03-02:''''' [http://www.linuxfoundation.org/news-media/announcements/2011/03/yocto-project-aligns-technology-openembedded-and-gains-corporate-co Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=OEandYourDistro&diff=4335OEandYourDistro2011-07-06T00:34:01Z<p>Ka6sox: </p>
<hr />
<div>'''Note''': the information here is liable to be out of date. Please see the [[Required software]] for information on which software is required on the host system.<br />
<br />
= Using OpenEmbedded on Linux systems =<br />
<br />
== deb-based distributions ==<br />
<br />
The easiest way is via [http://blog.leggewie.org/?p=39 apt-get'able Openembedded] which will pull the OE meta-data for you and keep it up-to-date. Plus, it makes sure all necessary software for cross-compilation is installed. Easy as 1-2-3.<br />
<br />
=== Debian ===<br />
<br />
==== Mandatory packages ====<br />
<br />
aptitude install sed wget cvs subversion git-core \<br />
coreutils unzip texi2html texinfo docbook-utils \<br />
gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \<br />
desktop-file-utils chrpath<br />
<br />
'''Git'''<br />
<br />
On debian you may have to run <br />
<br />
update-alternatives --config git (as root)<br />
<br />
and select /usr/bin/git-scm to provide git instead of /usr/bin/git.transition. This is not necessary in sid<br />
<br />
==== Supplementary packages ====<br />
<br />
<pre><nowiki><br />
apt-get install libxml2-utils xmlto python-psyco apr<br />
</nowiki></pre><br />
<br />
<br />
OPTIONAL: these packages and their dependencies need to be installed in order to build the bitbake documentation (warning: over 160MB of installed packages).<br />
<br />
<pre><nowiki><br />
apt-get install docbook<br />
</nowiki></pre><br />
This package is necessary to build some packages (in particular the esound documentation needs it).<br />
<br />
==== Building in container (LXC/OpenVZ) ====<br />
NOTE: If you are building in container (LXC/OpenVZ) check presence of '''loadkeys''' tool (/bin/loadkeys). If there is no loadkeys, install '''console-tools''' package.<br />
<br />
=== Ubuntu ===<br />
<br />
Ubuntu is based on Debian and instructions above for [[#deb-based distributions|Debian]] apply here as well. Make sure that you have the universe repositories in your apt configuration.<br />
<br />
* Check that /bin/sh (ls -l /bin/sh) is not symbolically linked to dash. "dash" is a POSIX compliant shell that is much smaller than "bash" -- however some broken shell scripts still make use of bash extensions while calling into /bin/sh. To work around this issue call "''sudo dpkg-reconfigure dash''" and select No when it asks you to install dash as /bin/sh.<br />
* You can also install Psyco Python JIT compiler to speed up BitBake. Psyco works on 32-bit x86 platforms only. "''aptitude install python-psyco''<br />
* there are known [[gcc issues in Intrepid and later]] when cross-compiling with OE<br />
<br />
[SOLVED - update 2010-05]<br />
* qemu-arm fails whilst building locales (Ubuntu 10.04 LTS and possibly other releases). This is due to a kernel setting which restricts memory mapping to low addresses. To work around this you can either:<br />
** a) Enter 'echo 128 > /proc/sys/vm/mmap_min_addr' prior to running bitbake.<br />
** b) Set permanent parameter 'sudo sysctl -w vm.mmap_min_addr=128'.<br />
<br />
With current qemu in OE mmap_min_addr tricks are not needed at all.<br />
So now it should work on every system with readable /proc/sys/vm/mmap_min_addr or /proc/sys/vm/mmap_min_addr <= 65536.<br />
<br />
== rpm-based distributions ==<br />
<br />
=== Mandriva Linux ===<br />
<br />
Follow the Debian instructions, only using `urpmi` instead of `apt-get install`. You can find it in the contrib section of any Mandriva mirror or seach for it using the Mandriva Club rpm database [http://rpms.mandrakeclub.com]. You may need libpythonV.V-devel for bitbake setup instead of python-dev.<br />
If you're building a 2.6 kernel, you also need the glibc-static-devel package.<br />
<br />
with Mandriva Linux 2006, you need to issue the following command:<br />
<br />
<pre><nowiki><br />
urpmi python python-devel python-psyco patch m4 sed bison make wget bzip2 \<br />
cvs gawk glibc-devel gcc-c++ subversion sharutils coreutils docbook-utils openjade \<br />
quilt pcre-devel unzip glibc-static-devel<br />
</nowiki></pre><br />
<br />
=== openSUSE ===<br />
<br />
==== openSUSE 11.1/11.2/11.3 ====<br />
<br />
Use zypper to install the required packages:<br />
sudo zypper in subversion git python help2man diffstat wget gcc gcc-c++ libstdc++ glibc-devel texinfo automake patch chrpath<br />
<br />
===== psyco =====<br />
<br />
Please note pysco is only available for 32-bit x86 systems only.<br />
<br />
====== from sourceforge ======<br />
You can use python psyco package (from http://sourceforge.net/projects/psyco/files/) to speed up building. You need to install python-devel:<br />
sudo zypper in python-devel<br />
<br />
and then install psyco via<br />
sudo python setup.py install<br />
in the psyco directory.<br />
<br />
====== from community repo ======<br />
Alternatively you can install psyco directly from a community repo.<br />
zypper ar -f http://download.opensuse.org/repositories/home:/elchevive/openSUSE_11.3/ 11.3-psyco<br />
zypper in python-psyco<br />
<br />
===== other useful packages =====<br />
<br />
These packages may be useful as well: bison and [http://software.opensuse.org/search?baseproject=ALL&p=1&q=gcc33 gcc33] (for faster build using ASSUME_PROVIDED), gtk2-devel (in case your build will fail on missing gdk-pixbuf-csource), bc (for collie kernel), ncurses-devel (if you want to call kernel menuconfig).<br />
<br />
sudo zypper in bison gcc33 gtk2-devel bc ncurses-devel<br />
<br />
=== Fedora ===<br />
<br />
==== Fedora Core 2/3 ====<br />
Much of the following is probably already installed, but you can check with the following commands. You may want to use the yum.conf located at http://www.fedorafaq.org/. Note, this has not been tested yes as I am in the process of setting up a development environment.<br />
<br />
<pre><nowiki> yum install python patch m4 sed make docbook* openjade glibc-devel xmlto</nowiki></pre><br />
<br />
* psyco: Download psyco-1.4-src.tar.gz (or later) and extract it. Go to the psycho top-level directory and run: `python setup.py install`.<br />
<br />
* patch: FC3 default version should be enough. Optionally, install SuSe 9.1 package of it.<br />
<br />
==== Fedora Core 4 ====<br />
Almost all required packages for Openembedded are available in Fedora Core 4 and the Fedora Extras for Core 4. You can download them from <http://download.fedora.redhat.com/pub/fedora/linux/core> and <http://download.fedora.redhat.com/pub/fedora/linux/extras>. Check <http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4> for updates on the Core 4 packages.<br />
<br />
Apart from the usual (native) development packages like gcc and binutils, you should check that you have the following RPM's installed: <br />
<br />
* bison<br />
* docbook* packages<br />
* libpcre<br />
* m4<br />
* make<br />
* openjade<br />
* patch<br />
* PyQt<br />
* python<br />
* python-psyco<br />
* sed<br />
* xmlto<br />
* quilt (not required as OE builds it by itself, but install it if you want to use gquilt)<br />
<br />
Use apt, synaptic, up2date or yum to automagically retrieve these packages or download and install them manually (lots of work).<br />
<br />
==== Fedora Core 5/6 ====<br />
<br />
Commands I used to install OE pre-requisites on FC5/6<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip \<br />
unzip python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch gcc gcc-c++ python-sqlite2 help2man"<br />
</nowiki></pre><br />
<br />
or download the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm (may be out of date).<br />
<br />
then do<br />
<br />
<pre><nowiki><br />
su -c "yum localinstall openembedded-essential-1.1-1.noarch.rpm"<br />
</nowiki></pre><br />
<br />
<br />
There are also rpm and src.rpm packages of bitbake 1.6.2 at http://www.openembedded.org/dl/packages/rpm/ pending a later version in Extras, currently 1.6.0.<br />
<br />
Update - Current FC6 version is patch-2.5.4-29.2.2 as of this writing and works-for-me (see revision history for build instructions if current patch does not work for you).<br />
<br />
I didn't install SGML tools. Please add if you know how<br />
<br />
Update - Since about 2002 sgml-tools has apparently been replaced by linuxdoc-tools for FC.<br />
<br />
==== Fedora 7 ====<br />
<br />
This long command will ensure all pre-requisites are installed (patch is 2.5.4, not 2.5.9, but appears to work).<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel gcc binutils \<br />
pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools gcc gcc-c++ \<br />
help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 11 ====<br />
<br />
Fedora 11, compared to previous versions, brings the need to install "glibc-static" as well:<br />
<br />
<pre><nowiki><br />
su -c "yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker"<br />
</nowiki></pre><br />
<br />
(if this is hard to copy from this HTML page, go to edit mode and copy from editor)<br />
<br />
==== Fedora 12 ====<br />
Recommended to use Fedora 12 64 bit when possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath<br />
</nowiki></pre><br />
<br />
note python-pyscho is only available for 32bit linux<br />
<br />
==== Fedora 13 , 14 and 15 ====<br />
Recommended to use Fedora 13/14/15 64 bit when/where possible<br />
<br />
If you are setting up from scratch<br />
<br />
<pre><nowiki><br />
sudo yum groupinstall 'Development Tools'<br />
</nowiki></pre><br />
<br />
Then update all packages<br />
<pre><nowiki><br />
sudo yum update<br />
</nowiki></pre><br />
<br />
Then <br />
<br />
<pre><nowiki><br />
sudo yum install python m4 make wget curl ftp cvs subversion tar bzip2 gzip unzip \<br />
python-psyco perl texinfo texi2html diffstat openjade docbook-style-dsssl \<br />
docbook-style-xsl docbook-dtds docbook-utils sed bison bc glibc-devel glibc-static \<br />
gcc binutils pcre pcre-devel git quilt groff linuxdoc-tools patch linuxdoc-tools \<br />
gcc-c++ help2man perl-ExtUtils-MakeMaker tcl-devel gettext ccache chrpath cmake ncurses \<br />
apr<br />
</nowiki></pre><br />
<br />
(some or most of these packages may have been added by the previous step e.g. for <br />
console-image build on f14 only texi2html chrpath wget perl-ExtUtils-MakeMaker glibc-static were required in addition to ' Development Tools')<br />
<br />
note python-pyscho is currently only available for 32bit linux<br />
<br />
Note for fedora 14 as of 17th March 2011 if you have patch-2.6.1.-8.fc14 installed you may need to downgrade<br><br />
to an older version if you are getting patching errors during building.<br><br />
<br><br />
to downgrade<br />
<pre> sudo yum downgrade patch </pre><br />
<br />
=== CentOS 4.4 / Red Hat Enterprise Linux 4 ===<br />
May also work for true EL4 or Scientific Linux - another RHEL rebuild<br />
<br />
Even with several optional and 3rd party yum repos enabled (centosplus, kbsingh, RPMforge/Dag, Dries) a number of required packages are too old or unavailable for CentOS4. [It should be possible to use other package managers including apt/synaptic, up2date, and smart to get the required packages. The following assumes yum.]<br />
<br />
I re-built the following SRPMS (with "$ rpmbuild --rebuild ..."):<br />
* boost-1.33.1-10.fc5.src.rpm<br />
* bitbake-1.6.2-1.src.rpm (Latest tarball from http://developer.berlios.de/projects/bitbake/ + modified spec from bitbake-1.6.0-2.fc7.src.rpm)<br />
<br />
Might also want to try the rpm and src.rpm packages of bitbake 1.6.2 at http://www.openembedded.org/dl/packages/rpm/ - I have not.<br />
<br />
Extra requirements for the builds included rpmdevtools, xmlto, and lynx.<br />
<br />
I put packages in a local repo so I can do "yum install ...", otherwise can do "yum localinstall foo.1.2.3.noarch.rpm ...". It may be necessary to temporarily set "gpgcheck=0" in /etc/yum.conf to avoid complaints about unsigned packages.<br />
<br />
For EL4 texi2html is available from the tetex package, currently tetex-2.0.2-22.EL4.7<br />
<br />
Note that the the metapackage http://www.openembedded.org/dl/packages/rpm/openembedded-essential-1.1-1.noarch.rpm<br />
should work except that it depends on texi2html.<br />
<br />
Instead as root do<br />
<br />
<pre><nowiki><br />
yum install bison coreutils cvs docbook-utils gawk git-core python quilt rpmlib \<br />
sed subversion tetex texinfo unzip wget<br />
</nowiki></pre><br />
<br />
I ended up with the following set of relevant packages after several iterations of building/updating to get "bitbake nano" to complete successfully:<br />
<br />
* python-2.3.4-14.3<br />
* m4-1.4.1-16<br />
* make-3.80-6.EL4<br />
* wget-1.10.2-0.40E<br />
* curl-7.12.1-8.rhel4<br />
* ftp-0.17-22<br />
* cvs-1.11.17-9.RHEL4<br />
* subversion-1.4.3-0.1.el4.rf<br />
* tar-1.14-12.RHEL4<br />
* bzip2-1.0.2-13.EL4.3<br />
* gzip-1.3.3-16.rhel4<br />
* unzip-5.51-7<br />
* python-psyco-1.5-3.el4.kb<br />
* perl-5.8.5-36.RHEL4<br />
* texinfo-4.7-5.el4.2<br />
* tetex-2.0.2-22.EL4.7<br />
* diffstat-1.34-0_6.el4.at<br />
* openjade-1.3.2-16_9.el4.at<br />
* docbook-style-dsssl-1.78-4<br />
* docbook-style-xsl-1.65.1-2<br />
* docbook-dtds-1.0-25<br />
* docbook-utils-0.6.14-4<br />
* sed-4.1.2-5.EL4<br />
* bison-1.875c-2<br />
* bc-1.06-17.1<br />
* glibc-devel-2.3.4-2.25<br />
* gcc-3.4.6-3<br />
* binutils-2.15.92.0.2-21<br />
* pcre-4.5-3.2.RHEL4<br />
* pcre-devel-4.5-3.2.RHEL4<br />
* git-1.4.4.2-2.el4.kb<br />
* bitbake-1.6.2-1<br />
<br />
=== ALT Linux ===<br />
<br />
You can read more about ALT Linux here: http://www.altlinux.com/en/<br />
<br />
You can use synaptic or aptitude to install packages. Or use apt-get as shown below.<br />
<br />
<pre><nowiki><br />
apt-get install git-core python python-dev python-module-psyco python-modules-sqlite3 \<br />
patch m4 sed bison make wget bzip2 cvs gawk gcc-c++ subversion sharutils coreutils \<br />
docbook-utils openjade quilt libpcre-devel unzip glibc-devel glibc-devel-static \<br />
help2man texi2html perl-devel chrpath<br />
</nowiki></pre><br />
<br />
For building bitbake manuals you have to install 'xmlto' package:<br />
<br />
<pre><nowiki><br />
apt-get install xmlto<br />
</nowiki></pre><br />
<br />
NOTES:<br />
* This is tested on ALD 4.0/4.1/5.0.<br />
* gcc-c++ is virtual package and can be provided by gcc4.3-c++ (ALD 5.0) and gcc4.1-c++ (ALD 4.0/4.1). Just select higher version.<br />
* '''As I have no OE installation on ALT Linux more this page can have obsolete information.'''<br />
<br />
=== Ark Linux 2008.1 ===<br />
[http://www.arklinux.org/ Ark Linux] is a modern distribution well suited for Openembedded development. Footprint only 2.1G.<br />
<br />
Required steps:<br />
<br />
1) install required packages<br />
<pre><nowiki><br />
apt-get install devel-core diffstat texi2html cvs subversion git texinfo psyco python-devel \<br />
python-encodings python-sqlite chrpath help2man<br />
</nowiki></pre><br />
<br />
2) upgrade<br />
<pre><nowiki><br />
apt-get update<br />
apt-get dist-upgrade <br />
</nowiki></pre><br />
<br />
3) finally create your OE tree (see [[Getting started]] instructions).<br />
<br />
== other Linux distributions ==<br />
<br />
=== Gentoo instructions ===<br />
<br />
Note that Psyco, the Python JIT compiler, works on 32-bit x86 platforms only.<br />
<br />
<pre><nowiki><br />
emerge -n \<br />
psyco \<br />
patch \<br />
make \<br />
sed \<br />
dev-lang/python \<br />
m4 \<br />
bison \<br />
cvs \<br />
openjade \<br />
quilt \<br />
sgmltools-lite \<br />
docbook-xml-dtd \<br />
docbook-dsssl-stylesheets \<br />
xmlto \<br />
docbook-sgml-utils \<br />
libpcre \<br />
boost \<br />
subversion \<br />
texi2html \<br />
pysqlite \<br />
chrpath<br />
</nowiki></pre><br />
<br />
Then follow the instructions in [[Getting started]] for obtaining bitbake and start the build.<br />
<br />
=== Arch Linux (Duke) ===<br />
'''Note''': Arch Linux has switched to using Python 3 by default. BitBake does ''not'' support Python 3.<br />
Please ensure you have Python 2.6.x or 2.7.x installed and set to be the default Python interpreter.<br />
<br />
Most of the packages are available in the repositories.<br />
<br />
<pre><nowiki><br />
sudo pacman -S patch make sed python m4 bison cvs quilt sgmltools-lite docbook-xml \<br />
xmlto pcre boost jade git texinfo texi2html help2man subversion chrpath<br />
</nowiki></pre><br />
<br />
In Arch Linux the install command is in /bin/install. Since most of Linux distribution assume that install is located in /usr/bin/install, you have to create a symlink:<br />
<br />
<pre><nowiki><br />
sudo ln -s /bin/install /usr/bin/install<br />
</nowiki></pre><br />
<br />
You can build BitBake by using this PKGBUILD or install it from the AUR:<br />
<pre><nowiki><br />
pkgname=bitbake<br />
pkgver=1.8.4<br />
pkgrel=1<br />
pkgdesc="A simple tool for task execution derived from Gentoo's portage"<br />
url="http://developer.berlios.de/projects/bitbake/"<br />
arch=('i686')<br />
license=('GPL' 'custom')<br />
depends=('python')<br />
source=(http://download.berlios.de/bitbake/${pkgname}-${pkgver}.tar.gz)<br />
md5sums=('508d9a61c635d469be8facc95151158b')<br />
<br />
build() {<br />
cd ${startdir}/src/${pkgname}-${pkgver}<br />
python setup.py install --root=${startdir}/pkg<br />
<br />
# Install vim extensions<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/ftdetect/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/ftplugin/bitbake.vim<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/contrib/vim/syntax/bitbake.vim \<br />
${startdir}/pkg/usr/share/vim/syntax/bitbake.vim<br />
<br />
# Handle MIT license<br />
install -D -m644 ${startdir}/src/${pkgname}-${pkgver}/doc/COPYING.MIT \<br />
${startdir}/pkg/usr/share/licenses/${pkgname}/COPYING.MIT<br />
}<br />
</nowiki></pre><br />
<br />
= Using OpenEmbedded on FreeBSD and other NON Linux Systems =<br />
<br />
tbd<br />
<br />
== FreeBSD ==<br />
<br />
* Python == /usr/ports/lang/python<br />
* GNU Patch == /usr/ports/devel/patch<br />
* GNU m4 == /usr/ports/devel/m4<br />
* GNU make == /usr/ports/devel/gmake<br />
* wget == /usr/ports/ftp/wget<br />
* Psyco JIT Compiler == /usr/ports/devel/py-psyco<br />
* GNU sed == /usr/ports/textproc/gsed<br />
* Bison == /usr/ports/devel/bison<br />
* GCC 2.95.3 == /usr/ports/lang/gcc295<br />
* bc == already in FreeBSD<br />
* PyQt == /usr/ports/x11-toolkits/py-qt<br />
* glibc headers (ignore)<br />
* subversion == /usr/ports/devel/subversion<br />
* git == /usr/ports/devel/git<br />
* pcre == /usr/ports/devel/pcre<br />
<br />
Ports has also has these: fileutils, jade, docbook, dsssl-docbook-modular, sgmltools<br />
<br />
== Using OpenEmbedded on Mac OS X ==<br />
<br />
By default OS X uses a filesystem that is '''not''' case sensitive. You need to ensure that at least your tmp directory is on a case sensitive filesystem or you may come across various packages that break, including the Linux kernel! These steps were carried out on a early 32 bit 10.5/Intel Mac - the install order matters for a couple of packages as does having them installed in a more normal location.<br />
<br />
# Register at [https://connect.apple.com ADC] and download and install Xcode<br />
# Compile and install [http://www.gnu.org/software/gettext/ GNU gettext]<br />
# Using CPAN install Locale::gettext<br />
# Compile and install [http://www.gnu.org/software/help2man/ help2man 1.29] - newer versions will not build without hacks<br />
# Compile and install [http://www.gnu.org/software/wget/ wget], [http://www.gnu.org/software/gawk/ gawk], [http://www.gnu.org/software/coreutils/ coreutils] and [http://git-scm.com/ git] - wget appears to not work if you install it in /usr/local so use --prefix=/usr also note OS X provides a different version of mktemp which functions differently, be careful not to overwrite this as OS X might need it<br />
# If you are on a 32 bit Mac you can of course install [http://psyco.sourceforge.net/ psyco]<br />
# Fixup your PATH variable for your build user so that /usr/local/bin (or where ever coreutils etc is installed) comes before the OS X version in /usr/bin<br />
# Install GNU sed 3.0.2, this will give you a version of sed that allows you to build sed 4.1.5 - you will need to overwrite the one provided by OS X with --prefix=/usr and ensure you are using 4.1.5 not 3.0.2 as 3.0.2 does not provide various options you need<br />
# Install getopt from [http://software.frodo.looijaard.name/getopt/download.php here] - modify WITHOUT_GETTEXT=0 to WITHOUT_GETTEXT=1 in the Makefile and add -DWITHOUT_GETTEXT=$(WITHOUT_GETTEXT) to the line beginning with CPPFLAGS=<br />
<br />
Now follow the Getting Started OpenEmbedded wiki guide. Unfortunately there are various issues building on OS X that will most likely prevent the toolchain from building.<br />
<br />
Unfinished - tbd<br />
<br />
= Using OpenEmbedded on Windows/Cygwin Systems =<br />
<br />
<br />
Building Openembedded on Windows is currently unsupported, but [http://oe.linuxtogo.org/wiki/BuildOnCygwin work is in progress] to support buidling of meta-toolchain.bb on Windows/Cygwin hosts.<br />
<br />
[[Category:User]]<br />
<br />
new user</div>Ka6soxhttp://www.openembedded.org/index.php?title=Organization&diff=4293Organization2011-06-14T09:17:22Z<p>Ka6sox: /* Current Members */</p>
<hr />
<div>The current organization for OE is a German eV legal entity (similar to KDE: http://ev.kde.org/) and is for the purpose of managing finances, voting, and membership.<br />
<br />
An 'eV' for 'eingetragener Verein', in the German law, translates to a voluntary organization; a group of individuals who voluntarily enter into an agreement to form a body (or organization) to accomplish a purpose. The organization has members.<br />
<br />
The OpenEmbedded eV statues are located here: http://docs.openembedded.org/organization/2008-11-22_statutes-de.pdf<br />
<br />
A bablefish translation is here -- could German speaking folks please clean this up: [[OpenEmbedded eV Statutes]]<br />
<br />
During FOSDEM 2008 in Brussels, Belgium, a group of founding members physically gathered to get the paperwork going.<br />
<br />
= The current board of directors =<br />
<br />
* President ''Dr. Michael Lauer''<br />
* Vice President ''Philip Balister''<br />
* Vice President and Treasurer ''Florian Boor''<br />
* ''Denys Dmytriyenko''<br />
<br />
= Current Members =<br />
(please keep in alphabetical order)<br />
<br />
# Anders Darander <br />
# Andreas Oberritter<br />
# Alessandro Gardich<br />
# Andrea Adami<br />
# Chris Larson<br />
# Cliff Brake<br />
# Daniel Willmann<br />
# Dave Stewart<br />
# Denys Dmytriyenko<br />
# Dirk Hohndel<br />
# Dirk Opfer<br />
# Dmitry EreminSolenikov<br />
# Eric Bénard<br />
# Esben Haabendal<br />
# Florian Boor<br />
# Frans Meulenbroeks<br />
# Graeme Gregory<br />
# Graham Gower<br />
# Henning Heinold<br />
# Holger Freyther<br />
# Jan Lübbe<br />
# Jason Kridner<br />
# Jeff Osier-Mixon <br />
# John Willis<br />
# Joshua Lock<br />
# Ken Gilmer<br />
# Khem Raj<br />
# Koen Kooi<br />
# Leon Woestenberg<br />
# Liam Girdwood<br />
# Marcin Juszkiewicz<br />
# Marco Cavallini<br />
# Mark Brown<br />
# Mark Hatle<br />
# Martin Jansa<br />
# Michael Lauer<br />
# Michael Smith<br />
# Paul Eggleton<br />
# Philip Balister<br />
# Philip Blundell<br />
# Phillip Zabel<br />
# Richard Purdie<br />
# Robert Schuster<br />
# Roman I Khimov<br />
# Saul Wold<br />
# Scott Garman<br />
# Sean Hudson<br />
# Simon Busch<br />
# Stefan Schmidt<br />
# Steve Sakoman<br />
# Tom King<br />
# Tom Rini <br />
# Yu Ke <br />
# Yury Bushmelev<br />
<br />
= OE Developers =<br />
Openembedded Developers are people who have write access to the git repository. Due to the nature of OE, there are many developers, and each one tends to maintain a section of OE. A list of maintainers can be found [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/MAINTAINERS here]. See [[OpenEmbedded Developers]] for a list of current developers.<br />
<br />
= Todo =<br />
* process for adding new members<br />
* process for voting<br />
* responsibility of the board<br />
* conflict resolution<br />
<br />
= Pointers for Board Members =<br />
* [[Checklist for the General Assembly]]<br />
<br />
= Online Voting Policy =<br />
* [[Online Voting Policy]]<br />
<br />
= Faq =<br />
; Are contributions tax deductible?<br /><br />
: Yes they are. <br />
; Should I become member of the OE e.V.?<br />
: If you are contributing to OE frequently and/or you are interested in getting involved in administrative or organisational tasks it might be a good idea to join OE e.V.<br />
; How do I become member of the OE e.V.?<br />
: Let an existing member introduce you by sending a short introduction to the 'ev' [http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-members mailinglist]. If you don't know one get in touch with us on the development mailinglist or IRC first. The e.V. is open for anyone to join and its not meant to be an exclusive club of a few developers. <br />
; Is there a membership fee?<br />
: Yes, and no, since you are allowed to defined the amount on your own.<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Organization&diff=4291Organization2011-06-14T09:11:06Z<p>Ka6sox: /* Current Members */</p>
<hr />
<div>The current organization for OE is a German eV legal entity (similar to KDE: http://ev.kde.org/) and is for the purpose of managing finances, voting, and membership.<br />
<br />
An 'eV' for 'eingetragener Verein', in the German law, translates to a voluntary organization; a group of individuals who voluntarily enter into an agreement to form a body (or organization) to accomplish a purpose. The organization has members.<br />
<br />
The OpenEmbedded eV statues are located here: http://docs.openembedded.org/organization/2008-11-22_statutes-de.pdf<br />
<br />
A bablefish translation is here -- could German speaking folks please clean this up: [[OpenEmbedded eV Statutes]]<br />
<br />
During FOSDEM 2008 in Brussels, Belgium, a group of founding members physically gathered to get the paperwork going.<br />
<br />
= The current board of directors =<br />
<br />
* President ''Dr. Michael Lauer''<br />
* Vice President ''Philip Balister''<br />
* Vice President and Treasurer ''Florian Boor''<br />
* ''Denys Dmytriyenko''<br />
<br />
= Current Members =<br />
(please keep in alphabetical order)<br />
# Alessandro Gardich<br />
# Andrea Adami<br />
# Chris Larson<br />
# Cliff Brake<br />
# Daniel Willmann<br />
# Denys Dmytriyenko<br />
# Dirk Opfer<br />
# Dmitry EreminSolenikov<br />
# Eric Bénard<br />
# Esben Haabendal<br />
# Florian Boor<br />
# Frans Meulenbroeks<br />
# Graeme Gregory<br />
# Graham Gower<br />
# Henning Heinold<br />
# Holger Freyther<br />
# Jan Lübbe<br />
# John Willis<br />
# Joshua Lock<br />
# Ken Gilmer<br />
# Khem Raj<br />
# Koen Kooi<br />
# Leon Woestenberg<br />
# Liam Girdwood<br />
# Marcin Juszkiewicz<br />
# Marco Cavallini<br />
# Mark Brown<br />
# Michael Lauer<br />
# Michael Smith<br />
# Philip Balister<br />
# Philip Blundell<br />
# Phillip Zabel<br />
# Richard Purdie<br />
# Robert Schuster<br />
# Roman I Khimov<br />
# Simon Busch<br />
# Stefan Schmidt<br />
# Tom King<br />
# Tom Rini<br />
# Martin Jansa<br />
# Paul Eggleton <br />
# Andreas Oberritter <br />
# Dave Stewart <br />
# Dirk Hohndel<br />
# Saul Wold <br />
# Mark Hatle <br />
# Sean Hudson <br />
>> > Yury 'Jay7' Bushmelev<br />
>> > Jason Kridner (jkridner)<br />
>> > Scott Garman<br />
>> > Yu Ke<br />
>> > Anders Darander<br />
>> > Steve Sakoman<br />
>> > Jeff Osier-Mixon<br />
<br />
= OE Developers =<br />
Openembedded Developers are people who have write access to the git repository. Due to the nature of OE, there are many developers, and each one tends to maintain a section of OE. A list of maintainers can be found [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/MAINTAINERS here]. See [[OpenEmbedded Developers]] for a list of current developers.<br />
<br />
= Todo =<br />
* process for adding new members<br />
* process for voting<br />
* responsibility of the board<br />
* conflict resolution<br />
<br />
= Pointers for Board Members =<br />
* [[Checklist for the General Assembly]]<br />
<br />
= Online Voting Policy =<br />
* [[Online Voting Policy]]<br />
<br />
= Faq =<br />
; Are contributions tax deductible?<br /><br />
: Yes they are. <br />
; Should I become member of the OE e.V.?<br />
: If you are contributing to OE frequently and/or you are interested in getting involved in administrative or organisational tasks it might be a good idea to join OE e.V.<br />
; How do I become member of the OE e.V.?<br />
: Let an existing member introduce you by sending a short introduction to the 'ev' [http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-members mailinglist]. If you don't know one get in touch with us on the development mailinglist or IRC first. The e.V. is open for anyone to join and its not meant to be an exclusive club of a few developers. <br />
; Is there a membership fee?<br />
: Yes, and no, since you are allowed to defined the amount on your own.<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Mirrors&diff=4289Mirrors2011-06-07T18:36:54Z<p>Ka6sox: Bold to enphasize usage.</p>
<hr />
<div>OpenEmbedded git repository have following mirrors now<br />
{| class="sortable" border="1"<br />
!'''#''' !!'''Clone URL''' !!'''Supported proto''' !!'''Web interface''' !!'''Comment'''<br />
|-<br />
|1. ||git://git.openembedded.org/openembedded ||git, ssh ||http://cgit.openembedded.org/cgit.cgi/openembedded/ ||master git repo ('''used by developers to push changes only''')<br />
|-<br />
|2. ||git://github.com/openembedded/openembedded.git ||git, https, http ||https://github.com/openembedded/openembedded ||'''git mirror for users to pull from'''<br />
|-<br />
|3. ||git://repo.or.cz/openembedded.git ||git, http ||http://repo.or.cz/w/openembedded.git ||other git mirror for users to pull from<br />
|}</div>Ka6soxhttp://www.openembedded.org/index.php?title=Getting_started_with_OE-Classic&diff=4283Getting started with OE-Classic2011-06-07T17:26:33Z<p>Ka6sox: /* Obtaining OpenEmbedded using Git */</p>
<hr />
<div>= Setting up the toolchain and doing a build =<br />
<br />
Before starting to configure your OE installation by following the instructions on this page make sure you have read [[OEandYourDistro|how OE fits in with your host distribution]] and the [[RequiredSoftware|required software for compilation]].<br />
<br />
== Directory Structure ==<br />
The base directory of your Openembedded environment (<nowiki>/stuff/</nowiki>) is the location where sources will be checked out (or unpacked).<br />
<br />
* You must choose a location with '''no symlinks above it'''<br />
<br />
* If you work in a chrooted environment and have ccache installed it is highly recommended to 'su - <username>' after you have chrooted. Compilation may fail because ccache needs a valid <nowiki>$HOME</nowiki>, which is usually set when using a user account. It is recommended that ccache is not installed on systems used to build OpenEmbedded as it has been known to introduce other subtle build failures.<br />
<br />
To create the directory structure:<br />
<br />
<pre><nowiki><br />
$ mkdir -p /stuff/build/conf<br />
$ cd /stuff/<br />
</nowiki></pre><br />
<br />
== Obtaining BitBake ==<br />
To start using OE, you must first obtain the build tool it needs: <nowiki>bitbake</nowiki><br />
<br />
It is recommended to run bitbake without installing it, as a sibling directory of <nowiki>openembedded/</nowiki> and <nowiki>build/</nowiki> directories. Indeed, as bitbake is written in python it does not need to be compiled. You'll just have to set the PATH variable so that the [[BitBake]] tools are accessible (see [[#Setup the environment|Setup the environment]] section).<br />
<br />
===Getting a working bitbake===<br />
<br />
Bitbake switched from a svn repository to a git one, and the former is stuck at version 1.8.13, so when you try to build you may face an error: "Bitbake version 1.10.2 is required and version 1.8.13 was found". In that case please fetch released version or use git repository.<br />
<br />
Which version is safe to use? Last release one is always working. When OE changes require newer version of BitBake metadata is changed and you will get message like above.<br />
<br />
One note for those who want to play with development versions of BitBake - Python 2.6 may be required by newer versions. This can be a problem for some Linux distributions.<br />
<br />
Basically the easier and faster solution (at the moment I'm writing) is to get release one.<br />
<br />
wget http://download.berlios.de/bitbake/bitbake-1.10.2.tar.gz<br />
<br />
===Using releases===<br />
<br />
Visit [http://developer.berlios.de/projects/bitbake/ BitBake homepage] and download tarball with latest release. For normal usage we suggest using 1.8.x (stable branch) versions. Unpack it to '''/stuff/bitbake/'''.<br />
<br />
== Obtaining OpenEmbedded using Git ==<br />
<br />
''Note: ''Once upon a time OpenEmbedded was using Monotone for version control. If you have an OE Monotone repository on your computer, you should replace it with the Git repository.<br />
<br />
''Note: ''These are only brief instructions. For a longer description about using Git with OpenEmbedded refer to [[Git]] and [[GitPhraseBook]].<br />
<br />
The OpenEmbedded project resides in a Git repository. You can find it at ''git://git.openembedded.org/openembedded''. <br />
<br />
Web interface is: http://cgit.openembedded.org/<br />
<br />
To obtain Openembedded:<br />
# Install git<br />
# Go to the base directory of your OpenEmbedded environment<br />
$ cd /stuff/<br />
# Checkout the repository<br />
$ git clone git://github.com/openembedded/openembedded.git<br />
<br />
or for the firewall challenged try<br />
$ git clone http://repo.or.cz/r/openembedded.git<br />
<br />
This is the data you'll be using for all the work.<br />
<br />
=== Updating OpenEmbedded ===<br />
The .dev branch of OE is updated very frequently (as much as several times an hour). The distro branches are not updated as much but still fairly often. It seems good practice to update your OE tree at least daily. To do this, run<br />
$ git pull --rebase<br />
(note: this must be done in the directory created by the checkout of openembedded. On this page, this directory is <tt>/stuff/openembedded</tt>, but my checkout generated a directory <tt>/stuff/openembedded</tt>. Check the name of your subdir, and use the name on your machine in the following examples)<br />
<br />
== Create local configuration ==<br />
It's now time to create your local configuration.<br />
While you could copy the default local.conf.sample like this:<br />
<br />
<pre><nowiki><br />
$ cd /stuff/<br />
$ cp openembedded/conf/local.conf.sample build/conf/local.conf<br />
$ vi build/conf/local.conf<br />
</nowiki></pre><br />
<br />
It is actually recommended to start smaller and keep local.conf.sample in the background and add entries from there step-by-step as you understand and need them. Please, do not just edit build/conf/local.conf.sample but actually READ it (read it and then edit).<br />
<br />
For building a .dev branch, in your <nowiki>local.conf</nowiki> file, you should have at least the following three entries. Example for the Angstrom distribution and the Openmoko gta01 machine:<br />
<pre><nowiki><br />
BBFILES = "/stuff/openembedded/recipes/*/*.bb"<br />
DISTRO = "angstrom-2010.x"<br />
MACHINE = "beagleboard"<br />
</nowiki></pre><br />
<br />
If you choose to install OE in your home directory, modify local.conf to refer to the OE paths as /home/<username>/ rather than ~/. It does not find the *.bb packages otherwise.<br />
<br />
== Setup the environment ==<br />
One of the four command sets below will need to be run every time you open a terminal for development. (You can automate this in ~/.profile, /etc/profile, or perhaps use a script to set the necessary variables for using [[BitBake]].)<br />
<br />
If you followed the recommendation above to use [[BitBake]] from Git:<br />
<pre><nowiki><br />
$ export BBPATH=/stuff/build:/stuff/openembedded<br />
$ export PATH=/stuff/bitbake/bin:$PATH<br />
</nowiki></pre><br />
<br />
If you installed [[BitBake]]:<br />
<pre><nowiki><br />
$ export BBPATH=/stuff/build:/stuff/openembedded<br />
</nowiki></pre><br />
<br />
Alternative syntax for those using the tcsh shell (e.g FreeBSD):<br />
<pre><nowiki><br />
$ setenv PATH "/stuff/bitbake/bin:"$PATH<br />
$ setenv BBPATH "/stuff/build:/stuff/openembedded:"$BBPATH<br />
</nowiki></pre><br />
<br />
== Start building ==<br />
The primary interface to the build system is the <nowiki>bitbake</nowiki> command (see the bitbake users manual). <nowiki>bitbake</nowiki> will download and patch stuff from the network, so it helps if you are on a well connected machine.<br />
<br />
Note that you should issue all bitbake commands from inside of the <nowiki>build/</nowiki> directory, or you should override TMPDIR to point elsewhere (by default it goes to <nowiki>tmp/</nowiki> relative to the directory you run the tools in).<br />
<br />
Here are some example invocations:<br />
<br />
Building a single package (e.g. nano):<br />
<br />
<pre><nowiki><br />
$ bitbake nano<br />
</nowiki></pre><br />
<br />
Building package sets (e.g. task-base):<br />
<br />
<pre><nowiki><br />
$ bitbake task-base<br />
</nowiki></pre><br />
<br />
''Special note for'' <nowiki>task-base</nowiki>: you may need additional setup for building this very one task. More details in [[ZaurusKernels]]<br />
<br />
Building a group of packages and deploying them into a rootfs image:<br />
<br />
GPE:<br />
<br />
<pre><nowiki><br />
$ bitbake x11-gpe-image<br />
</nowiki></pre><br />
<br />
X11:<br />
<br />
<pre><nowiki><br />
$ bitbake x11-image<br />
</nowiki></pre><br />
<br />
OPIE:<br />
<br />
<pre><nowiki><br />
$ bitbake opie-image<br />
</nowiki></pre><br />
<br />
('''NOTE:''' kergoth says it will take around 10GB of disk space to build an opie or gpe image for one architecture.<br><br />
sledge says: You can reduce it to ~4GB by [[Advanced_configuration|INHERIT += "rm_work"]])<br />
<br />
('''NOTE:''' if you are using your custom kernel - set "Use the ARM EABI to compile the kernel (AEABI)" option in "Kernel Features")<br />
<br />
See the /stuff/openembedded/recipes/meta/ directory if you're curious about what meta/task and image targets exist.<br />
<br />
Building a single package, bypassing the long parse step (and therefore its dependencies--use with care):<br />
<br />
<pre><nowiki><br />
$ bitbake -b /stuff/openembedded/recipes/blah/blah.bb<br />
</nowiki></pre><br />
<br />
See [[Useful targets]] for a description of some of the more useful meta-packages. You will typically need at least one of the base images (<nowiki>bootstrap-image</nowiki>, <nowiki>opie-image</nowiki> or <nowiki>gpe-image</nowiki>), and if and only if you're building for an [http://wiki.openzaurus.org/Main_Page OpenZaurus] target requiring an installer image (such as C3000), an additional <nowiki>pivotboot-image</nowiki>.<br />
<br />
Output of the build process (temporary files, log files and the binaries) all ends up in the <nowiki>tmp</nowiki> directory. Most interesting is probably the <nowiki>tmp/work/</nowiki> directory. Just have a look around the [[DirectoryStructure]]. <br />
<br />
Images generated by building package groups like <nowiki>opie-image</nowiki> or <nowiki>pivotboot-image</nowiki> are placed in the <nowiki>tmp/deploy/images/</nowiki> directory. Individual ipkg packages are put in <nowiki>tmp/deploy/ipk</nowiki>.<br />
<br />
== Adding Packages ==<br />
# Create [[bbfile]].<br />
# Try building it locally.<br />
# Fix eventual problems.<br />
# Send .[[bbfile]] or an [[OePatch]] to the [http://wiki.openembedded.net/index.php/Mailing_Lists openembedded-devel mailing list]. Please note that changes should comply with the [[Commit_Policy | commit policy]].<br />
<br />
= Problems =<br />
Try to solve problems first by checking that you have done everything right, that nothing has changed from this description and that you have the latest code (see [[GitPhraseBook]]). Look also in the log file (referenced in any error message you will receive). If you still have problems, try checking [[PossibleFailures]] and [http://www.openembedded.org/wiki/OeFaq#builderrors common build errors]. <br />
Above links are dead, you can try the [[:Category:FAQ]]. If problems persist, ask on [[IRC]] or in the [[Mailing lists|openembedded mailing list]].<br />
<br />
The Openembedded metadata is changing constantly. This implies several things:<br />
<br />
# Once you have a "known good" version that works well on your system, keep it! To update, clone a new copy; don't overwrite that working version until it's known to be safe.<br />
# To resolve build problems, "git pull" is your good friend. Many times, the issues will already be fixed in the current tree.<br />
# Not all metadata updates cause the local caches to update correctly. Sometimes you'll need to remove the ".../tmp" work directory and rebuild from scratch.<br />
# Similar issues apply to the package sources you download.<br />
<br />
= Portability issues =<br />
Make sure to set <nowiki>TARGET_OS</nowiki> to something other than linux in local.conf if your host isn't linux.<br />
<br />
GNU extensions to tools are often required. Symlink GNU patch, make, and cp (from fileutils), chmod, sed, find, tar, awk into your OE development path.<br />
<br />
FreeBSD 4 users: Perl 5.0 is too old. A more recent perl must be available as <nowiki>/usr/bin/perl</nowiki>. Unfortunately just having more recent perl in the path isn't good enough. Some scripts are hard-coded for <nowiki>/usr/bin/perl</nowiki>. You can test for which perl you're using by typing perl -v. see /usr/ports/UPDATING for instructions on updating perl. Don't forget to do a use.perl port as instructed in /usr/ports/UPDATING<br />
<br />
FreeBSD users: Set <nowiki>BUILD_OS</nowiki> in local.conf to freebsdN where N is your major version number. At least the cross gcc wants this.<br />
<br />
FreeBSD users: The build process of glibc uses a very long command line at some places. Increase ARG_MAX to at least 131072, by editing /usr/sys/sys/syslimits.h and recompile your kernel (and reboot).<br />
<br />
= Productivity notes =<br />
Use the interactive bitbake mode ("bitbake -i") to speed up work when debugging or developing .bb files. Remember to run "parse" at the prompt first. Go!<br />
<br />
If you want to save some compile time or are interested in additional tweaks to local.conf take a look at the [[Advanced configuration]] page.<br />
<br />
[[Category:User]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=OpenEmbedded_Developers&diff=4265OpenEmbedded Developers2011-06-02T01:26:05Z<p>Ka6sox: </p>
<hr />
<div>Below is the list of developers that currently have commit access to OE git repos.<br />
<br />
Please list in alphabetical order, format: Name (git_key_name)<br />
<br />
# ??? quickdev<br />
# Aloisio Almeida (aloisio_almeida)<br />
# Andrea Adami (andrea_adami)<br />
# Angus Ainslie (angus_ainslie)<br />
# Bernhard Guillon (bernhard_guillon)<br />
# Carsten Haitzler (carsten_haitzler)<br />
# Chris Larson (kergoth)<br />
# [[User:Cbrake|Cliff Brake]] (cbrake)<br />
# Daniel Willmann (daniel_willmann)<br />
# Darren Hart (dvhart)<br />
# Denis Carikli (denis_carikli)<br />
# Denys Dmytriyenko (denys_dmytriyenko)<br />
# Dirk Opfer (dirk_opfer)<br />
# Dmitry Baryshkov (dmitry_baryshkov)<br />
# Elena Grandi (elena_grandi)<br />
# Enrico Scholz (enrico_scholz)<br />
# Erik Hovland (erik_hovland)<br />
# [[User:Florian|Florian Boor]] (florian_boor)<br />
# Frans Meulenbroeks (frans_meulenbroeks)<br />
# Graeme Gregory (xora)<br />
# Graham Gower (graham_gower)<br />
# Henning Heinold (henning_heinold)<br />
# Holger Freyther (zecke)<br />
# Jan Luebbe (jan_luebbe)<br />
# Jeremy Laine (jeremy_laine)<br />
# John Lee (john_lee)<br />
# Julien Cassignol (julien_cassignol)<br />
# Junqian Gordon Xu (xjqian)<br />
# Kalev Lember (kalev_lember)<br />
# Khem Raj (khem_raj)<br />
# Klaus Kurzmann (klaus_kurzmann)<br />
# Koen Kooi (koen)<br />
# Kristoffer Ericson (kristoffer_ericson)<br />
# Liam Girdwood (liam_girdwood)<br />
# [[User:Likewise|Leon Woestenberg]] (leon_woestenberg)<br />
# Lukas Gorris (lukas_gorris)<br />
# Lynn Lin (lynn_lin)<br />
# [[User:MarcinHrwJuszkiewicz|Marcin Juszkiewicz]] (hrw)<br />
# [[User:MarcoCavallini|Marco Cavallini]] (mckoan)<br />
# Mark Brown (mark_brown)<br />
# Martin Dietze (martin_dietze)<br />
# Martin Jansa (martin_jansa)<br />
# [[User:Mickey|Michael Lauer]] (mickeyl)<br />
# Mike Westerhof (mwester)<br />
# Mustafa Yuecel (mustafa_yuecel)<br />
# Otavio Salvador (otavio_salvador)<br />
# Oyvind Repvik (oyvind_repvik)<br />
# Paul Eggleton (paul_eggleton)<br />
# Paul Sokolovsky (pfalcon)<br />
# Phil Blundell (phil_blundell)<br />
# Philip Balister (crofton)<br />
# Philipp Zabel (phillip_zabel)<br />
# Przemyslaw Wesolek (przemyslaw_wesolek)<br />
# Relix Domke (felix_domke)<br />
# Richard Purdie (rpurdie)<br />
# Robert Schuster (robert_schuster)<br />
# Rod Whitby (rwhitby)<br />
# Rodrigo Vivi (rodrigo_vivi)<br />
# Rolf Leggewie (rolf)<br />
# Roman Khimov (roman_khimov)<br />
# Sebastian Spaeth (sebastian_spaeth)<br />
# Sergey Lapin (sergey_lapin)<br />
# Shane Volpe (shane_volpe)<br />
# Simon Busch (morphis)<br />
# Stanislav Brabec (stanislav_brabec)<br />
# Stefan Schmidt (stefan_schmidt)<br />
# [[User:Sledz|Steffen Sledz]] (steffen_sledz)<br />
# Theodore Roth (theodore_roth)<br />
# Thomas Kunze (thomas_kunze)<br />
# Tick Chen (tick_chen)<br />
# Tim Ellis (tim_ellis)<br />
# Tom Rini (tom_rini)<br />
# Ulf Samuelsson (ulf_samuelsson)<br />
# Xerxes Rånby (xerxes_ranby)<br />
# Yuri Bushmelev (yuri_bushmelev)<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Tinderbox&diff=4263Tinderbox2011-05-16T22:17:07Z<p>Ka6sox: </p>
<hr />
<div>'''Tinderbox is administratively down''' because of some design flaws. We are working on new solution.<br />
<br />
The new solution involves using BuildBot and a new bbclass for stats.<br />
<br />
==OLD INFORMATION==<br />
<br />
Using [http://opensource.bolloretelecom.eu/projects/oestats/wiki/oestats oestats] for your builds.<br />
<br />
For your builder to send reports to our [http://tinderbox.openembedded.org QA server], you need to edit your build/conf/local.conf to make use of the oestats-client.bbclass class.<br />
<br />
INHERIT += "oestats-client" <br />
OESTATS_SERVER = "tinderbox.openembedded.org" <br />
OESTATS_BUILDER = "your_nickname"<br />
<br />
[[Category:FAQ]]<br />
[[Category:Quality Assurance]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4221Template:Main page/news2011-04-18T09:56:50Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
*'''''2011-04-18:''''' Openembedded has Stand # 7.2b 112 @ [http://www.linuxtag.org LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds<br />
* '''''2011-03-02:''''' [http://linux-foundation.org/weblogs/press/2011/03/02/yocto-project-aligns-technology-with-openembedded-and-gains-corporate-collaborators/ Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=NewsArchive&diff=4219NewsArchive2011-04-18T09:51:12Z<p>Ka6sox: </p>
<hr />
<div>'''Older News:'''<br />
* '''''2011-02-25:''''' OpenEmbedded has a stand at SCALE (Southern California Linux Expo) (February 25-27, 2011).<br />
* '''''2011-02-05:''''' OpenEmbedded at [http://fosdem.org FOSDEM'11] - We have a booth at Europe's finest F/OSS event. [[Fosdem 2011|See you in Brussels]]!<br />
* '''''2010-12-03:''''' OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]<br />
* '''''2010-09-20:''''' [[Oedem/2010|OEDEM and eV General Assembly]]<br />
* '''''2010-06-09:''''' OpenEmbedded in Berlin! Meet us at our booth at [http://www.linuxtag.org LinuxTag 2010].<br />
* '''''2009-11-07:''''' [[Oedem/2009|Openembedded Developer Meeting 2009]] in Cambridge, UK<br />
* '''''2009-08-12:''''' Openembedded gains ability to create [http://docs.openembedded.org/usermanual/html/ch05s08.html Qt Embedded Linux SDK]<br />
* '''''2009-05-27:''''' Palm is using Openembedded to build Palm [http://developer.palm.com/ webOS]<br />
* '''''2009-05-27:''''' MontaVista is using OpenEmbedded in their [http://mvista.com/product_detail_mvl6.php MontaVista Linux 6 product]<br />
* '''''2009-03-31:''''' OpenEmbedded opens the stable/2009 [[Stable]] branch. Special procedure is applied to it which results in better support for our downstream users.<br />
* '''''2009-03-24:''''' [http://www.foss-aalborg.dk/ FOSS Aalborg] in Aalborg, Denmark, with a focus on embedded software. [[User:Mickey|Mickey]] gives a talk about OpenEmbedded.<br />
* '''''2009-03-06:''''' [http://www.alwaysinnovating.com Always Innovating] is using OE to build software for their Touch Book.<br />
* '''''2009-02-19:''''' [http://koansoftware.com/index_en.php KOAN Software] company [http://thread.gmane.org/gmane.comp.handhelds.openembedded/21188 announces] it's [http://kaeilos.com/ KaeilOS] distribution will join the OpenEmbedded project.<br />
* '''''2009-02-10:''''' OE has a new Logo -- Many thanks to [http://buglabs.com Bug Labs] who funded the logo development, and [http://mateozlatar.com/ Mateo Zlatar] for designing the logo.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4217Template:Main page/news2011-04-18T09:50:45Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
*'''''2011-04-18:''''' Openembedded has a Stand @ [http://www.linuxtag.org LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds Stand# 7.2b 112<br />
* '''''2011-03-02:''''' [http://linux-foundation.org/weblogs/press/2011/03/02/yocto-project-aligns-technology-with-openembedded-and-gains-corporate-collaborators/ Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4215Template:Main page/news2011-04-18T09:48:13Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
*'''''2011-04-18:''''' Openembedded has a Stand @ [http://www.linuxtag.org LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds <br />
* '''''2011-03-02:''''' [http://linux-foundation.org/weblogs/press/2011/03/02/yocto-project-aligns-technology-with-openembedded-and-gains-corporate-collaborators/ Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
* '''''2011-02-25:''''' OpenEmbedded has a stand at SCALE (Southern California Linux Expo) (February 25-27, 2011).<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4213Template:Main page/news2011-04-18T09:47:58Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
*'''''2011-04-18:''''' Openembedded has a Stand @ [http://www.linuxtag.org | LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds <br />
* '''''2011-03-02:''''' [http://linux-foundation.org/weblogs/press/2011/03/02/yocto-project-aligns-technology-with-openembedded-and-gains-corporate-collaborators/ Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
* '''''2011-02-25:''''' OpenEmbedded has a stand at SCALE (Southern California Linux Expo) (February 25-27, 2011).<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=4211Template:Main page/news2011-04-18T09:46:48Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
*'''''2011-04-18:''''' Openembedded has a Stand @ [www.linuxtag.org LinuxTag] 11th to 14 May 2011 the Berlin Exhibition Grounds <br />
* '''''2011-03-02:''''' [http://linux-foundation.org/weblogs/press/2011/03/02/yocto-project-aligns-technology-with-openembedded-and-gains-corporate-collaborators/ Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators]<br />
* '''''2011-03-01:''''' OpenEmbedded participates at this years CeBIT (March 1st-5th 2011) with a stand in the CeBIT OpenSource event. You'll find us in hall 2 as part of the larger linuxnewmedia booth along with other interesting open-source projects.<br />
* '''''2011-02-25:''''' OpenEmbedded has a stand at SCALE (Southern California Linux Expo) (February 25-27, 2011).<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=How_to_create_a_bitbake_recipe_for_dummies&diff=3886How to create a bitbake recipe for dummies2011-01-09T08:49:27Z<p>Ka6sox: fix test wikispam</p>
<hr />
<div>== Introduction ==<br />
<br />
Currently only limited documentation is available on how to create a bitbake recipe. This article is a stub.<br />
<br />
* [http://www.gumstix.net/Setup-and-Programming/view/Build-system-overview/Hello-world-tutorial/111.html Gumstix Hello world tutorial]<br />
* [http://www.google.com/search?hl=en&q=bitbake+recipe+site:lists.linuxtogo.org/pipermail/openembedded-devel/ OpenEmbedded Mailing List Archives ]<br />
<br />
== Recipe Template ==<br />
<br />
Every recipe should start like this (pretend the package name is CHANGME:<br />
<br />
DESCRIPTION = ""<br />
HOMEPAGE = ""<br />
LICENSE = ""<br />
DEPENDS = ""<br />
SRC_URI = " \<br />
"<br />
# SRC_URI could also point to a git repository, eg:<br />
# SRC_URI = " git://host:port/path/to/repo.git;branch=win;protocol=ssh;user=username"<br />
<br />
# any .patch files included here will be auto-magically applied, increasing the -p level until it sticks.<br />
# SRC_URI = "file://omap_ctrl_readl.patch"<br />
<br />
PR = "r0" # Package Revision, Update this whenever you change the recipe.<br />
<br />
# For tarball packages (as opposed to git / svn which include the commit in the URI)<br />
SRC_URI[md5sum] = ""<br />
SRC_URI[sha256sum] = ""<br />
S = "${WORKDIR}/CHANGEME-${PV}"<br />
do_configure () {<br />
./configure --prefix=${prefix}<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
DESTDIR=${D} oe_runmake install<br />
}<br />
<br />
* '''PV''' refers to the revision. I.E. PV=0.2.1 for nodejs_0.2.1.bb<br />
<br />
== Examples ==<br />
<br />
=== wrapped with make ===<br />
<br />
This example shows waf wrapped in make<br />
<br />
DESCRIPTION = "nodeJS Evented I/O for V8 JavaScript"<br />
HOMEPAGE = "http://nodejs.org"<br />
LICENSE = "MIT"<br />
DEPENDS = "openssl"<br />
SRC_URI = " \<br />
http://nodejs.org/dist/node-v${PV}.tar.gz \<br />
file://libev-cross-cc.patch \<br />
file://node-cross-cc.patch \<br />
"<br />
SRC_URI[md5sum] = "c6051dd216817bf0f95bea80c42cf262"<br />
SRC_URI[sha256sum] = "5bb7d084b2138ce43fcb34739ed894379c450a1dd569a1c710405bc39d2861c2"<br />
S = "${WORKDIR}/node-v${PV}"<br />
do_configure () {<br />
./configure --prefix=${prefix} --without-snapshot<br />
}<br />
do_compile () {<br />
make<br />
}<br />
do_install () {<br />
DESTDIR=${D} oe_runmake install<br />
}<br />
<br />
=== make ===<br />
<br />
TODO<br />
<br />
=== autotools ===<br />
<br />
TODO<br />
<br />
=== scons ===<br />
<br />
TODO<br />
<br />
=== waf ===<br />
<br />
[[Category:FAQ]]<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=News&diff=3854News2011-01-04T22:26:34Z<p>Ka6sox: </p>
<hr />
<div>*2011-02-05: OpenEmbedded at [http://fosdem.org FOSDEM'11] - We have a booth at Europe's finest F/OSS event. *[[Fosdem2011|See you in Brussels]]!<br />
*2010-12-03 - OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html *released]</div>Ka6soxhttp://www.openembedded.org/index.php?title=News&diff=3853News2011-01-04T22:26:04Z<p>Ka6sox: </p>
<hr />
<div>*2011-02-05: OpenEmbedded at [http://fosdem.org FOSDEM'11] - We have a booth at Europe's finest F/OSS event. [[Fosdem <br />
* 2011|See you in Brussels]]!<br />
*2010-12-03 - OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html *released]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=3852Template:Main page/news2011-01-04T22:22:27Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
* '''''2011-02-05:''''' OpenEmbedded at [http://fosdem.org FOSDEM'11] - We have a booth at Europe's finest F/OSS event. [[Fosdem 2011|See you in Brussels]]!<br />
* '''''2010-12-03:''''' OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]<br />
* '''''2010-09-20:''''' [[Oedem/2010|OEDEM and eV General Assembly]]<br />
* '''''2010-06-09:''''' OpenEmbedded in Berlin! Meet us at our booth at [http://www.linuxtag.org LinuxTag 2010].<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Infrastructure&diff=3836Infrastructure2010-12-30T14:27:07Z<p>Ka6sox: </p>
<hr />
<div>= Notes on the OE project infrastructure =<br />
<br />
= Servers =<br />
<br />
* '''linuxtogo'''<br />
** admins: Nils, [[User:Florian|Florian]], Mickeyl, mhentges<br />
* '''amethyst''' (server owned by [[User:Mickey|Mickey]])<br />
** admins: [[User:Mickey|Mickey]], RP, laforge, Rolf, Koen, clarson, Leon, [[User:Cbrake|cbrake]]<br />
* '''melo''' (VM at OSUOSL, donated by nslu2-linux project)<br />
** admins: [[User:Mickey|Mickey]], Zecke, RP, [[User:Cbrake|cbrake]], Rolf, khem, rwhitby, nas-admin.org staff,OSUOSL staff<br />
** backups: daily by [[User:Cbrake|cbrake]] using rsnapshot (3 rotating daily snapshots).<br />
*** /etc, /home/git, and /README<br />
*** bugzilla and [[Tinderbox]] mysql databases are dumped and backed up<br />
** 1.5GB RAM, 50GB of disk space, 2CPU<br />
** MySQL databases are stored on a separate high availability DB server<br />
* '''garnet''' (VM at OSUOSL)<br />
** 1GB RAM, 100GB of disk space, 2CPU<br />
** admins: [[User:Mickey|Mickey]], Zecke, [[User:Cbrake|cbrake]], ka6sox, khem, nas-admin.org staff,OSUOSL staff<br />
<br />
= Services =<br />
<br />
* '''melo'''<br />
** This wiki site<br />
** Git<br />
*** [[GitServerSetup]]<br />
** OE Documentation<br />
*** Automatic [[Documentation]] Update -- OE [[Documentation]] source is currently [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/docs stored in the main OE dev repository]. A process is maintained by [[User:Cbrake|cbrake]] that automatically updates the documentation daily, and uploads to the OE web site.<br />
** [http://tinderbox.openembedded.net Test builds] (mysql)<br />
** IRC ciabot<br />
** commit bot<br />
** [http://sources.openembedded.org Source Mirror]<br />
** [http://bugs.openembedded.net/ Bugzilla] (mysql)<br />
** [http://patches.openembedded.org Patch Queue]<br />
* '''linuxtogo'''<br />
** [[Mailing lists]]<br />
* '''emerald'''<br />
* Angstrom Autobuilder<br />
* '''garnet'''<br />
** build server<br />
<br />
= Other topics =<br />
<br />
* backups<br />
* [[Web Site Infrastructure Discussion]]<br />
* [[DNS Configuration]]<br />
<br />
= The OE infrastructure is donated and maintained by =<br />
<br />
* [[User:Mickey|Mickey]] (amethyst server)<br />
* Harald Welte (hosting)<br />
* Linuxtogo.org (maillists)<br />
* nslu2-linux.org (Melo server)<br />
* nas-admin.org (emerald server)<br />
* nas-admin.org (garnet server)<br />
* BEC Systems (donated CPU for Melo server)<br />
* OSUOSL (co-locates the Melo server and associated infrastructure)<br />
* nas-admin.org (Group that maintains and admins the infrastructure used by the Melo and Garnet servers)<br />
* EUKREA Electromatique (donated 3 HD for OSUOSL infrastructure)<br />
<br />
Please considering [[Donate|donating]] to support this project.<br />
<br />
<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Infrastructure&diff=3745Infrastructure2010-12-15T21:49:41Z<p>Ka6sox: </p>
<hr />
<div>= Notes on the OE project infrastructure =<br />
<br />
= Servers =<br />
<br />
* '''linuxtogo'''<br />
** admins: Nils, [[User:Florian|Florian]], Mickeyl, mhentges<br />
* '''amethyst''' (server owned by [[User:Mickey|Mickey]])<br />
** admins: [[User:Mickey|Mickey]], RP, laforge, Rolf, Koen, clarson, Leon, [[User:Cbrake|cbrake]]<br />
* '''melo''' (VM at OSUOSL, donated by nslu2-linux project)<br />
** admins: [[User:Mickey|Mickey]], Zecke, RP, [[User:Cbrake|cbrake]], Rolf, khem, rwhitby, nas-admin.org staff,OSUOSL staff<br />
** backups: daily by [[User:Cbrake|cbrake]] using rsnapshot (3 rotating daily snapshots).<br />
*** /etc, /home/git, and /README<br />
*** bugzilla and [[Tinderbox]] mysql databases are dumped and backed up<br />
** 1.5GB RAM, 50GB of disk space, 2CPU<br />
** MySQL databases are stored on a separate high availability DB server<br />
* '''garnet''' (VM at OSUOSL)<br />
** 1GB RAM, 100GB of disk space, 2CPU<br />
** admins: [[User:Mickey|Mickey]], Zecke, [[User:Cbrake|cbrake]], ka6sox, khem, nas-admin.org staff,OSUOSL staff<br />
<br />
= Services =<br />
<br />
* '''melo'''<br />
** Git<br />
*** [[GitServerSetup]]<br />
** OE Documentation<br />
*** Automatic [[Documentation]] Update -- OE [[Documentation]] source is currently [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/docs stored in the main OE dev repository]. A process is maintained by [[User:Cbrake|cbrake]] that automatically updates the documentation daily, and uploads to the OE web site.<br />
** [http://tinderbox.openembedded.net Test builds] (mysql)<br />
** IRC ciabot<br />
** commit bot<br />
** [http://sources.openembedded.org Source Mirror]<br />
** [http://bugs.openembedded.net/ Bugzilla] (mysql)<br />
* '''linuxtogo'''<br />
** [[Mailing lists]]<br />
* '''amethyst'''<br />
** [http://patches.openembedded.org Patch Queue]<br />
** This wiki site<br />
* Angstrom Autobuilder<br />
* '''garnet'''<br />
** build server<br />
<br />
= Other topics =<br />
<br />
* backups<br />
* [[Web Site Infrastructure Discussion]]<br />
* [[DNS Configuration]]<br />
<br />
= The OE infrastructure is donated and maintained by =<br />
<br />
* [[User:Mickey|Mickey]] (amethyst server)<br />
* Harald Welte (hosting)<br />
* Linuxtogo.org (maillists)<br />
* nslu2-linux.org (Melo server)<br />
* BEC Systems (donated CPU for Melo server)<br />
* OSUOSL (co-locates the Melo server and associated infrastructure)<br />
* nas-admin.org (Group that maintains and admins the infrastructure used by the Melo and Garnet servers)<br />
* EUKREA Electromatique (donated 3 HD for OSUOSL infrastructure)<br />
<br />
Please considering [[Donate|donating]] to support this project.<br />
<br />
<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Java&diff=3744Java2010-12-15T21:14:52Z<p>Ka6sox: </p>
<hr />
<div>This page is here to answer all things Java related to OpenEmbedded.<br />
<br />
=State of support=<br />
==Virtual machine and class library==<br />
Currently (since September 2008) you will be able to build packages for your target system that use a many VMs and their class libraries. For a full J2SE environment on the target you can build JamVM and Cacao as the virtual machine and GNU Classpath as the class library.<br />
<br />
For J2ME you can have the "Connected Device Configuration" (CDC) in either the "Foundation" or "Personal" profile using the GPLed PhoneME Advanced virtual machine. See below for details.<br />
<br />
For J2ME's "Mobile Information Device Profile" (MIDP2.0) you can use MIDPath.<br />
<br />
Support for OpenJDK (with either Cacao or Hotspot/Zero as the runtime) is available through the Jalimo overlay. This will be merged soon. Future additions will also include Hotspot/Shark which is a variant of Hotspot using a generic JIT compiler based on LLVM.<br />
<br />
It is planned to use OpenJDK as the native Java runtime. That way Java packages will be compiled against this library.<br />
<br />
==Java libraries==<br />
The number of available Java libraries is still small but can grow quickly as the necessary infrastructure is in place. Currently libraries such as dbus-java, kxml2, libmatthew, librxtx, sqlitejdbc, javasqlite, woodstox, xmlpull, SWT (3.4, Gtk+), a large bunch of the Jakarta commons libraries and stuff like BSF, POI, log4j, logkit and ORO are available.<br />
<br />
For the Maemo platform's "hildon" environment special SWT packages are available which allow a better integration (i.e. hildon menus, hildon file chooser dialog).<br />
<br />
== PhoneME Advanced ==<br />
PhoneME Advanced is provided in the 'Foundation' and 'Personal' profile through the recipes phoneme-advanced-foundation and (surprise!) phoneme-advanced-personal. The way the recipes are written both can be compiled and installed at the same time on the target device.<br />
<br />
''Note:'' At the moment the personal profile's AWT support relies on Qt3 which is heavily outdated. If possible you should prefer the foundation profile with SWT for the GUI or contribute to [https://phoneme.dev.java.net PhoneME] to fix this. :)<br />
<br />
When a PhoneME Advanced package is installed you will find the VM in $libdir_jvm (which is ''/usr/lib/jvm'' by default). The package provides a java-cdc symlink which is changeable through update-alternatives and a cvm-<profile name> symlink.<br />
<br />
==J2ME MIDP2.0==<br />
J2ME MIDP2.0 is supported through the MIDPath project. MIDPath provides the neccessary libraries (taken from PhoneME and/or the respective JSRs) and OpenEmbedded has direct support for a few devices (e.g. button mappings). Please note that while MIDPath can run most MIDP2.0 programs it is no official MIDP2.0 implementation.<br />
<br />
MIDPath can be run on top of either PhoneME Advanced or a J2SE-like environment (JamVM/Cacao and GNU Classpath or any of the OpenJDK variants). If PhoneME is installed it is preferred.<br />
<br />
==OpenJDK==<br />
OpenJDK is the name of the F/OSS Java stack from Sun. It normally consists of the class library (often referred to as OpenJDK as well), the Hotspot runtime and many many tools (e.g. javah, rmic, javaws). OpenEmbedded support building OpenJDK with the CacaoVM. This gives many platforms which Hotspot does not directly support a fast Java VM. Please note that Cacao lacks many advanced features like JVMTI. Your only other option is the Zero port of Hotspot. Zero is a C++-based interpreter and can be run on any platform supporting libffi. This gives you a featurefull VM for many platforms at the cost of performance.<br />
<br />
==Toolchain==<br />
In order to build Java packages no virtual machine needs to be installed on the build machine. OpenEmbedded builds everything on its own.<br />
<br />
Missing but planned to be included are popular Java build tools like Ant.<br />
<br />
=== GNU Classpath Tools ===<br />
Included in the package classpath-native are the tools 'gjar', 'gjavah', 'gjavap', 'gjarsigner' (and soon gjdoc). Those tools usually work without problems and should be fully compatible to the ones provided by OpenJDK.<br />
<br />
=== OpenJDK language tools ===<br />
OpenEmbedded supports the OpenJDK language tools consisting of 'sun-javac', 'javap', 'javah' and 'apt'. Put 'openjdk-langtools-native' to the dependencies of your recipe to use those binaries. Albeit the tools are from OpenJDK they run on Cacao/JamVM and GNU Classpath.<br />
<br />
'''Note:''' openjdk-langtools-native is not a provider of 'virtual/javac-native' it only provides a 'sun-javac' binary. Refer to the [[#Native Java compiler aka virtual/javac-native|virtual/javac-native discussion]] for details.<br />
<br />
=== Ant ===<br />
Ant is an often used tool in the Java world. Even OpenJDK uses it. Unfortunately it is also a complex beast with many dependencies (many of which use Ant itself). Despite all this troubles Ant (1.7.1) is available and supported as an application which can be run from build recipes.<br />
<br />
=A word of warning=<br />
Every so often people on the net suggest that in order to get Java stuff running in OpenEmbedded, you need to install a JDK, Kaffe or Jikes and then make modifications to the PATH variable in order to allow the<br />
build use the runtime or compiler. '''These suggestions are wrong!''' The Java support in OpenEmbedded is (and strives to stay) ''completely'' self-hosting. You should not need a single bit of Java on your host OS to get the Java recipes to compile.<br />
<br />
On the other hand the Java support in OE can happily co-exist with whatever 'java', 'javac' and other tools you might have installed in your OS. Due to the nature of some configure scripts, those will sometimes find these executables but in the end only the tools from OpenEmbedded's staging directory will be used (if not its a bug that needs to be fixed).<br />
<br />
Please note that problem reports that are caused by pulling in native Java tools (those from your OS) into the OpenEmbedded build process will be closed as invalid. The reason is that the recipes are only supposed to work with the built-in toolchain.<br />
<br />
=Configuring (add info about what and where)=<br />
In this section you learn about the things you can set up. In many OpenEmbedded-based distributions some or most of these decision may have already been made for you so there is no need to specify them. However in case you want to provide the Java support in your distribution you need to know which knobs are available.<br />
<br />
==Bootstrap process==<br />
As told in the toolchain support section the whole Java support in OpenEmbedded is self-hosting. This mean you do not need to have any bit of Java on your build machine as OpenEmbedded will build this itself.<br />
<br />
This bootstrap process contains the following steps: At first jikes-native is compiled which is a Java 1.4-capable compiler that does not need a runtime or (strictly) a class library to work. With this compiler we compile the initial runtime (package virtual/java-initial).<br />
<br />
virtual/java-initial is a preliminary runtime. This virtual package is currently provided by cacao-initial or jamvm-initial. After that ecj-initial is built. At that point we have a 1.5-capable compiler running on a Java 1.4 compatible VM.<br />
<br />
The compiler is then used to build virtual/java-native and finally virtual/javac-native. The former virtual package is provided by either cacao-native or jamvm-native. The latter package is currently only provided through ecj-bootstrap-native. Having built these packages provides the OpenEmbedded build environment with a Java5-capable compiler and runtime. At that point we are ready to compile any other Java package.<br />
<br />
==Bootstrap virtual machine aka virtual/java-initial==<br />
The bootstrap virtual machine has the sole purpose of running ecj-initial (the bootstrap compiler) to compile a 1.5-capable runtime and library. The bootstrap VM runs on your build host and is therefore a -native package. Inside the native staging directory the VM provides a 'java-initial' executable.<br />
<br />
As told above there are currently two packages that provide 'virtual/java-native'. Add<br />
<br />
PREFERRED_PROVIDER_virtual/java-initial = "cacao-initial"<br />
PREFERRED_VERSION_cacao-initial = "0.98"<br />
<br />
to your local or site configuration to choose the Cacao VM. This virtual machine has a JIT compiler and is generally faster but takes a bit longer to compile. Furthermore this VM is only tested to work correctly on X86 build hosts. If you chose Cacao there will also be a 'cacao-initial' binary in your native staging directory.<br />
<br />
'''Note:''' There is a problem with Cacao 0.98 running on recent distributions where mmaping the zero page is not allowed. Chose jamvm-initial (see below) if you do not want to change the vm_mmap_min_adr restriction on your system.<br />
<br />
In case Cacao is unsuitable for you add<br />
<br />
PREFERRED_PROVIDER_virtual/java-initial = "jamvm-initial"<br />
PREFERRED_VERSION_jamvm-initial = "1.4.5"<br />
<br />
to your configuration. JamVM is an interpreting Java virtual machine. Despite interpreting only it is very fast (implements many modern interpreter techniques) and compiles quickly. Furthermore it is known to work on X86 and PowerPC build hosts.<br />
<br />
==Native virtual machine aka virtual/java-native==<br />
As for virtual/java-initial this virtual package provides a Java virtual machine which runs on your build host. Its purpose is to run any Java programs that are needed during your build process. The most prominent program that it is supposed to run is the compiler ECJ. The virtual/java-native package provides a 'java' binary inside the native staging directory. At the moment you can chose between two runtimes: Cacao and JamVM.<br />
<br />
As for the general features it is the same as for java-initial. However for virtual/java-native later versions of the VMs are used so stability and platform support is better. For instance you can use cacao-native on PowerPC as well since the version of Cacao used properly supports it.<br />
<br />
To chose Cacao add the following line to your configuration:<br />
<br />
PREFERRED_PROVIDER_virtual/java-native = "cacao-native"<br />
<br />
Besides 'java' cacao-native install a 'cacao' binary into the native staging directory.<br />
<br />
If you favor JamVM (or are having trouble with Cacao) use:<br />
<br />
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"<br />
<br />
There will also be a 'jamvm' binary in native staging directory besides the 'java' one with jamvm-native.<br />
<br />
'''Note:''' Native versions of jamvm are unsupported on amd64/x86_64 hosts since OpenEmbedded lacks a native libffi. If you desperately need jamvm on your platform consider installing the development package for libffi of your distro.<br />
<br />
== Native Java compiler aka virtual/javac-native ==<br />
The virtual/javac-native package provides the 'javac' binary which is to be found within the native staging directory. This compiler is used to build all of the Java packages within OpenEmbedded. <br />
<br />
There are two recipes which provide this functionality: <br />
<br />
ecj-bootstrap-native uses the commandline variant of the Eclipse IDE's integrated compiler. In order to use that compiler add the following to your configuration:<br />
<br />
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"<br />
<br />
The second option is OpenJDK's Java compiler which is the F/OSS variant of good old 'javac'. If you experience trouble with ecj you should try OpenJDK's<br />
Java compiler by setting the following in your configuration:<br />
<br />
PREFERRED_PROVIDER_virtual/javac-native = "openjdk-javac-native"<br />
<br />
<br />
'''Note:''' OpenJDK's javac is actually build in the package openjdk-language-tools-native (provides a 'sun-javac' binary). The reason for this is to allow 'ecj-bootstrap-native' and 'openjdk-language-tools-native' to coexist in the staging dir.<br />
<br />
=== ecj-bootstrap-native, ecj-initial and libecj-bootstrap ===<br />
Since ecj-initial and ecj-bootstrap-native use the same jar file the compilation step for both packages is done through in the libecj-bootstrap recipe. Therefore in order to decide which ECJ version to use for compilation you need to set a version preference for that recipe:<br />
<br />
PREFERRED_VERSION_libecj-bootstrap = "3.4"<br />
<br />
== Target virtual machine ==<br />
'''Note:''' There used to be a virtual/java package. It turned out that by having this it prevented offering multiple J2SE-compatible VMs for the target device.<br />
<br />
From a distributors point of view you can build the jamvm, cacao, phoneme or openjdk recipes and provide them to your users. Those can then either install the packages directly by its name or rely<br />
on a chosing of the packaging.<br />
<br />
At the moment Cacao and JamVM are supported runtimes. Cacao is ready for x86, PowerPC and ARM systems (others are untested and AVR32 is not suppported) and has a JIT compiler. JamVM can be used on x86, PowerPC, ARM and MIPS. PhoneME Advanced should support x86, PowerPC, ARM, MIPS and Sparc.<br />
<br />
Additionally OpenJDK can be built using either Cacao (same properties as above) or the Zero port of Hotspot. Zero is an C++-based interpreter capable of running on any platform that is supported by libffi.<br />
<br />
When installed all J2SE runtimes provide the 'java' executable (chosen through update-alternatives). PhoneME Advanced gives you a 'java-cdc' executable.<br />
<br />
=== Runtime provider ===<br />
'''Warning:''' When we talk of 'runtime provider' here this is meant in the OpenEmbedded sense (PROVIDES = build provides, RPROVIDES = runtime provides)<br />
The Cacao, JamVM or OpenJDK packages are set to provide 'java2-runtime'. Packages which need a J2SE-capable VM should RDEPEND on this. By inheriting the 'java-library' class in your recipe this is done automatically.<br />
<br />
PhoneME on the other hand is set to provide 'java-cdc-runtime'.<br />
<br />
== GNU Classpath for headless machines aka classpath-minimal ==<br />
Through setting the provider for 'classpath' you can decide whether you build a full class library with support for AWT/Swing (having a gtk+ dependency) or a variant that works without that and is primarily meant for headless devices. It might also be handy if you decide not to use AWT/Swing and use SWT instead. To chose the minimal variant add this to your configuration:<br />
<br />
PREFERRED_PROVIDER_classpath = "classpath-minimal"<br />
<br />
Otherwise you need to add this line:<br />
<br />
PREFERRED_PROVIDER_classpath = "classpath"<br />
<br />
Currently the Angstrom distribution does not set a preference and you have to provide your own.<br />
<br />
=Writing a Java recipe=<br />
This section is going to tell you, how to write a proper recipe to build a Java library or program.<br />
<br />
'''At the moment this is a stub and you will only find some scattered information which at a later point will be merged into a consistent whole.'''<br />
<br />
==java-native.bbclass==<br />
If you use the ''java-library'' bbclass in a recipe ''foo'' and generate a native variant (e.g. ''foo-native'') you should use<br />
<br />
inherit java-native<br />
<br />
instead of ''native''. By doing so, you make sure, that any jars created by the recipe are properly installed into staging.<br />
<br />
==ant-native==<br />
If you need Ant to build your recipe add ''ant-native'' to your recipes dependencies. This will allow you to call the built-in Ant executable.<br />
<br />
= Information on specific libraries =<br />
== swt3.4-gtk and swt3.4-gtk-hildon ==<br />
Some effort has been done to integrate Gtk+-based SWT 3.4 into the Hildon environment (that is what Maemo provides). Distributions targeting Maemo should set the preferred provider for swt3.4-gtk like this:<br />
<br />
PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk-hildon"<br />
<br />
''Important'': If you do not want the hildon variant it is best to declare<br />
<br />
PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk"<br />
<br />
as well. So bitbake will not chose the wrong one by accident (which would otherwise pull in all kinds of unwanted dependencies).<br />
<br />
= Caveats, known issues, hints, miscellaneous information =<br />
== Version suggestions ==<br />
Everyone and his dog knows that combining glibc 2.8, gcc 2.95 and Linux kernel 2.6.26 is not going to work. In the GNU Classpath realm we also have a set of versions that do not fit together. Here are some suggestions for your PREFERRED_VERSIONs. Stick to these if you are unsure. You can always find out which version are ''supposed'' to be compatible by reading the READMEs of the VMs.<br />
<br />
=== jamvm-initial and classpath-initial ===<br />
Use this and nothing else:<br />
<br />
PREFERRED_VERSION_jamvm-initial = "1.4.5"<br />
PREFERRED_VERSION_classpath-initial = "0.93"<br />
<br />
=== cacao-initial and classpath-initial ===<br />
Use this and nothing else:<br />
<br />
PREFERRED_VERSION_cacao-initial = "0.98"<br />
PREFERRED_VERSION_classpath-initial = "0.93"<br />
<br />
=== jamvm[-native] and classpath[-native] ===<br />
These are the releases that appear to be stable.<br />
<br />
PREFERRED_VERSION_jamvm-native = "1.5.3"<br />
PREFERRED_VERSION_classpath-native = "0.98"<br />
<br />
For the target device:<br />
<br />
PREFERRED_VERSION_jamvm = "1.5.2"<br />
PREFERRED_VERSION_classpath = "0.98"<br />
<br />
=== cacao[-native] and classpath[-native] ===<br />
These releases appear to be stable:<br />
<br />
PREFERRED_VERSION_cacao-native = "0.99.3"<br />
PREFERRED_VERSION_classpath-native = "0.97.2"<br />
<br />
For the target device take these:<br />
<br />
PREFERRED_VERSION_cacao = "0.99.4"<br />
PREFERRED_VERSION_classpath = "0.98"<br />
<br />
=== libecj-bootstrap ===<br />
<br />
PREFERRED_VERSION_libecj-bootstrap = "3.4"<br />
<br />
== Extra binaries and symlinks ==<br />
Since both Cacao and JamVM can be installed in staging you can use this and modify the 'java' or 'java-initial' symlink if you want to switch to a certain VM.<br />
<br />
== Debugging Cacao on the target ==<br />
You need to debug the Cacao JVM on your target device using GDB and need some pointers on how to get started? Read [https://wiki.evolvis.org/jalimo/index.php/CacaoDebugging this] page from the Jalimo Wiki.<br />
<br />
=Future plans =<br />
==Default Bytecode compliance level==<br />
Soon an option will be introduced to set the default bytecode compliance level. For any Java package that does not explicitly provide this level (not many do this) the one you set in your configuration will be used.<br />
<br />
==OpenJDK + Cacao==<br />
The flexibility of the Cacao runtime allows it to run it with OpenJDK's class library. This allows you to use the official class library and a JIT-capable runtime on an ARM device (as of today Hotspot has no JIT on ARM).<br />
<br />
Since the middle of August 2008 OpenJDK + Cacao can be build and is included in the Debian armel sid repositories (package cacao-oj6-sdk). Xerxes Rånby is showing some webbapplets running using OpenJDK + CACAO on his blog: http://labb.zafena.se/?p=1<br />
<br />
Since December 2008 OpenJDK + Cacao can be crosscompiled with OpenEmbedded as demonstrated by Robert Schuster!<br />
Check out http://rschuster.blogs.evolvis.org/2008/12/21/serving-cross-compiled-openjdk-with-icedtea/ and the answers http://rschuster.blogs.evolvis.org/2008/12/23/comments-on-latest-post-on-openjdk/<br />
<br />
==Ant integration for build recipes==<br />
Although ''ant'' can be used as a standalone tool there is no direct support for it in the recipe. E.g. the Debian buildsystem (CDBS) has support classes that can be used for Ant-based Java sourcepackages. It would be nice to have this too for OpenEmbedded.<br />
<br />
= FAQ =<br />
This space is for *your* questions and those that appeared more often on the mailing list. Things will be added here by the Jalimo folk/OE-Java maintainers or by you asking a question.<br />
<br />
== Q: I do get all these editions, configurations and profiles that exist in the Java world wrong. Any pointer on this? ==<br />
I found these articles in Wikipedia helpful to clarify the situation [http://en.wikipedia.org/wiki/Java_platform Java platform], [http://en.wikipedia.org/wiki/Java_ME Java ME].<br />
<br />
== Q: I need to solve a specific Java problem in OE and want to throw money at this. Whom can I contact? ==<br />
The [http://jalimo.org Jalimo] project has done a lot of Java work in OE and are available for contract work. You can also ask for experienced devs on the openembedded-devel mailing list.<br />
<br />
<br />
<br />
[[Category:FAQ]]<br />
[[Category:Software Components]]<br />
[[Category:Java]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Java&diff=3743Java2010-12-15T21:14:28Z<p>Ka6sox: </p>
<hr />
<div>This page is here to answer all things Java related to OpenEmbedded.<br />
<br />
=State of support=<br />
==Virtual machine and class library==<br />
Currently (since September 2008) you will be able to build packages for your target system that use a many VMs and their class libraries. For a full J2SE environment on the target you can build JamVM and Cacao as the virtual machine and GNU Classpath as the class library.<br />
<br />
For J2ME you can have the "Connected Device Configuration" (CDC) in either the "Foundation" or "Personal" profile using the GPLed PhoneME Advanced virtual machine. See below for details.<br />
<br />
For J2ME's "Mobile Information Device Profile" (MIDP2.0) you can use MIDPath.<br />
<br />
Support for OpenJDK (with either Cacao or Hotspot/Zero as the runtime) is available through the Jalimo overlay. This will be merged soon. Future additions will also include Hotspot/Shark which is a variant of Hotspot using a generic JIT compiler based on LLVM.<br />
<br />
It is planned to use OpenJDK as the native Java runtime. That way Java packages will be compiled against this library.<br />
<br />
==Java libraries==<br />
The number of available Java libraries is still small but can grow quickly as the necessary infrastructure is in place. Currently libraries such as dbus-java, kxml2, libmatthew, librxtx, sqlitejdbc, javasqlite, woodstox, xmlpull, SWT (3.4, Gtk+), a large bunch of the Jakarta commons libraries and stuff like BSF, POI, log4j, logkit and ORO are available.<br />
<br />
For the Maemo platform's "hildon" environment special SWT packages are available which allow a better integration (i.e. hildon menus, hildon file chooser dialog).<br />
<br />
== PhoneME Advanced ==<br />
PhoneME Advanced is provided in the 'Foundation' and 'Personal' profile through the recipes phoneme-advanced-foundation and (surprise!) phoneme-advanced-personal. The way the recipes are written both can be compiled and installed at the same time on the target device.<br />
<br />
''Note:'' At the moment the personal profile's AWT support relies on Qt3 which is heavily outdated. If possible you should prefer the foundation profile with SWT for the GUI or contribute to [https://phoneme.dev.java.net PhoneME] to fix this. :)<br />
<br />
When a PhoneME Advanced package is installed you will find the VM in $libdir_jvm (which is ''/usr/lib/jvm'' by default). The package provides a java-cdc symlink which is changeable through update-alternatives and a cvm-<profile name> symlink.<br />
<br />
==J2ME MIDP2.0==<br />
J2ME MIDP2.0 is supported through the MIDPath project. MIDPath provides the neccessary libraries (taken from PhoneME and/or the respective JSRs) and OpenEmbedded has direct support for a few devices (e.g. button mappings). Please note that while MIDPath can run most MIDP2.0 programs it is no official MIDP2.0 implementation.<br />
<br />
MIDPath can be run on top of either PhoneME Advanced or a J2SE-like environment (JamVM/Cacao and GNU Classpath or any of the OpenJDK variants). If PhoneME is installed it is preferred.<br />
<br />
==OpenJDK==<br />
OpenJDK is the name of the F/OSS Java stack from Sun. It normally consists of the class library (often referred to as OpenJDK as well), the Hotspot runtime and many many tools (e.g. javah, rmic, javaws). OpenEmbedded support building OpenJDK with the CacaoVM. This gives many platforms which Hotspot does not directly support a fast Java VM. Please note that Cacao lacks many advanced features like JVMTI. Your only other option is the Zero port of Hotspot. Zero is a C++-based interpreter and can be run on any platform supporting libffi. This gives you a featurefull VM for many platforms at the cost of performance.<br />
<br />
==Toolchain==<br />
In order to build Java packages no virtual machine needs to be installed on the build machine. OpenEmbedded builds everything on its own.<br />
<br />
Missing but planned to be included are popular Java build tools like Ant.<br />
<br />
=== GNU Classpath Tools ===<br />
Included in the package classpath-native are the tools 'gjar', 'gjavah', 'gjavap', 'gjarsigner' (and soon gjdoc). Those tools usually work without problems and should be fully compatible to the ones provided by OpenJDK.<br />
<br />
=== OpenJDK language tools ===<br />
OpenEmbedded supports the OpenJDK language tools consisting of 'sun-javac', 'javap', 'javah' and 'apt'. Put 'openjdk-langtools-native' to the dependencies of your recipe to use those binaries. Albeit the tools are from OpenJDK they run on Cacao/JamVM and GNU Classpath.<br />
<br />
'''Note:''' openjdk-langtools-native is not a provider of 'virtual/javac-native' it only provides a 'sun-javac' binary. Refer to the [[#Native Java compiler aka virtual/javac-native|virtual/javac-native discussion]] for details.<br />
<br />
=== Ant ===<br />
Ant is an often used tool in the Java world. Even OpenJDK uses it. Unfortunately it is also a complex beast with many dependencies (many of which use Ant itself). Despite all this troubles Ant (1.7.1) is available and supported as an application which can be run from build recipes.<br />
<br />
=A word of warning=<br />
Every so often people on the net suggest that in order to get Java stuff running in OpenEmbedded, you need to install a JDK, Kaffe or Jikes and then make modifications to the PATH variable in order to allow the<br />
build use the runtime or compiler. '''These suggestions are wrong!''' The Java support in OpenEmbedded is (and strives to stay) ''completely'' self-hosting. You should not need a single bit of Java on your host OS to get the Java recipes to compile.<br />
<br />
On the other hand the Java support in OE can happily co-exist with whatever 'java', 'javac' and other tools you might have installed in your OS. Due to the nature of some configure scripts, those will sometimes find these executables but in the end only the tools from OpenEmbedded's staging directory will be used (if not its a bug that needs to be fixed).<br />
<br />
Please note that problem reports that are caused by pulling in native Java tools (those from your OS) into the OpenEmbedded build process will be closed as invalid. The reason is that the recipes are only supposed to work with the built-in toolchain.<br />
<br />
=Configuring (add info about what and where)=<br />
In this section you learn about the things you can set up. In many OpenEmbedded-based distributions some or most of these decision may have already been made for you so there is no need to specify them. However in case you want to provide the Java support in your distribution you need to know which knobs are available.<br />
<br />
==Bootstrap process==<br />
As told in the toolchain support section the whole Java support in OpenEmbedded is self-hosting. This mean you do not need to have any bit of Java on your build machine as OpenEmbedded will build this itself.<br />
<br />
This bootstrap process contains the following steps: At first jikes-native is compiled which is a Java 1.4-capable compiler that does not need a runtime or (strictly) a class library to work. With this compiler we compile the initial runtime (package virtual/java-initial).<br />
<br />
virtual/java-initial is a preliminary runtime. This virtual package is currently provided by cacao-initial or jamvm-initial. After that ecj-initial is built. At that point we have a 1.5-capable compiler running on a Java 1.4 compatible VM.<br />
<br />
The compiler is then used to build virtual/java-native and finally virtual/javac-native. The former virtual package is provided by either cacao-native or jamvm-native. The latter package is currently only provided through ecj-bootstrap-native. Having built these packages provides the OpenEmbedded build environment with a Java5-capable compiler and runtime. At that point we are ready to compile any other Java package.<br />
<br />
==Bootstrap virtual machine aka virtual/java-initial==<br />
The bootstrap virtual machine has the sole purpose of running ecj-initial (the bootstrap compiler) to compile a 1.5-capable runtime and library. The bootstrap VM runs on your build host and is therefore a -native package. Inside the native staging directory the VM provides a 'java-initial' executable.<br />
<br />
As told above there are currently two packages that provide 'virtual/java-native'. Add<br />
<br />
PREFERRED_PROVIDER_virtual/java-initial = "cacao-initial"<br />
PREFERRED_VERSION_cacao-initial = "0.98"<br />
<br />
to your local or site configuration to choose the Cacao VM. This virtual machine has a JIT compiler and is generally faster but takes a bit longer to compile. Furthermore this VM is only tested to work correctly on X86 build hosts. If you chose Cacao there will also be a 'cacao-initial' binary in your native staging directory.<br />
<br />
'''Note:''' There is a problem with Cacao 0.98 running on recent distributions where mmaping the zero page is not allowed. Chose jamvm-initial (see below) if you do not want to change the vm_mmap_min_adr restriction on your system.<br />
<br />
In case Cacao is unsuitable for you add<br />
<br />
PREFERRED_PROVIDER_virtual/java-initial = "jamvm-initial"<br />
PREFERRED_VERSION_jamvm-initial = "1.4.5"<br />
<br />
to your configuration. JamVM is an interpreting Java virtual machine. Despite interpreting only it is very fast (implements many modern interpreter techniques) and compiles quickly. Furthermore it is known to work on X86 and PowerPC build hosts.<br />
<br />
==Native virtual machine aka virtual/java-native==<br />
As for virtual/java-initial this virtual package provides a Java virtual machine which runs on your build host. Its purpose is to run any Java programs that are needed during your build process. The most prominent program that it is supposed to run is the compiler ECJ. The virtual/java-native package provides a 'java' binary inside the native staging directory. At the moment you can chose between two runtimes: Cacao and JamVM.<br />
<br />
As for the general features it is the same as for java-initial. However for virtual/java-native later versions of the VMs are used so stability and platform support is better. For instance you can use cacao-native on PowerPC as well since the version of Cacao used properly supports it.<br />
<br />
To chose Cacao add the following line to your configuration:<br />
<br />
PREFERRED_PROVIDER_virtual/java-native = "cacao-native"<br />
<br />
Besides 'java' cacao-native install a 'cacao' binary into the native staging directory.<br />
<br />
If you favor JamVM (or are having trouble with Cacao) use:<br />
<br />
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"<br />
<br />
There will also be a 'jamvm' binary in native staging directory besides the 'java' one with jamvm-native.<br />
<br />
'''Note:''' Native versions of jamvm are unsupported on amd64/x86_64 hosts since OpenEmbedded lacks a native libffi. If you desperately need jamvm on your platform consider installing the development package for libffi of your distro.<br />
<br />
== Native Java compiler aka virtual/javac-native ==<br />
The virtual/javac-native package provides the 'javac' binary which is to be found within the native staging directory. This compiler is used to build all of the Java packages within OpenEmbedded. <br />
<br />
There are two recipes which provide this functionality: <br />
<br />
ecj-bootstrap-native uses the commandline variant of the Eclipse IDE's integrated compiler. In order to use that compiler add the following to your configuration:<br />
<br />
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"<br />
<br />
The second option is OpenJDK's Java compiler which is the F/OSS variant of good old 'javac'. If you experience trouble with ecj you should try OpenJDK's<br />
Java compiler by setting the following in your configuration:<br />
<br />
PREFERRED_PROVIDER_virtual/javac-native = "openjdk-javac-native"<br />
<br />
<br />
'''Note:''' OpenJDK's javac is actually build in the package openjdk-language-tools-native (provides a 'sun-javac' binary). The reason for this is to allow 'ecj-bootstrap-native' and 'openjdk-language-tools-native' to coexist in the staging dir.<br />
<br />
=== ecj-bootstrap-native, ecj-initial and libecj-bootstrap ===<br />
Since ecj-initial and ecj-bootstrap-native use the same jar file the compilation step for both packages is done through in the libecj-bootstrap recipe. Therefore in order to decide which ECJ version to use for compilation you need to set a version preference for that recipe:<br />
<br />
PREFERRED_VERSION_libecj-bootstrap = "3.4"<br />
<br />
== Target virtual machine ==<br />
'''Note:''' There used to be a virtual/java package. It turned out that by having this it prevented offering multiple J2SE-compatible VMs for the target device.<br />
<br />
From a distributors point of view you can build the jamvm, cacao, phoneme or openjdk recipes and provide them to your users. Those can then either install the packages directly by its name or rely<br />
on a chosing of the packaging.<br />
<br />
At the moment Cacao and JamVM are supported runtimes. Cacao is ready for x86, PowerPC and ARM systems (others are untested and AVR32 is not suppported) and has a JIT compiler. JamVM can be used on x86, PowerPC, ARM and MIPS. PhoneME Advanced should support x86, PowerPC, ARM, MIPS and Sparc.<br />
<br />
Additionally OpenJDK can be built using either Cacao (same properties as above) or the Zero port of Hotspot. Zero is an C++-based interpreter capable of running on any platform that is supported by libffi.<br />
<br />
When installed all J2SE runtimes provide the 'java' executable (chosen through update-alternatives). PhoneME Advanced gives you a 'java-cdc' executable.<br />
<br />
=== Runtime provider ===<br />
'''Warning:''' When we talk of 'runtime provider' here this is meant in the OpenEmbedded sense (PROVIDES = build provides, RPROVIDES = runtime provides)<br />
The Cacao, JamVM or OpenJDK packages are set to provide 'java2-runtime'. Packages which need a J2SE-capable VM should RDEPEND on this. By inheriting the 'java-library' class in your recipe this is done automatically.<br />
<br />
PhoneME on the other hand is set to provide 'java-cdc-runtime'.<br />
<br />
== GNU Classpath for headless machines aka classpath-minimal ==<br />
Through setting the provider for 'classpath' you can decide whether you build a full class library with support for AWT/Swing (having a gtk+ dependency) or a variant that works without that and is primarily meant for headless devices. It might also be handy if you decide not to use AWT/Swing and use SWT instead. To chose the minimal variant add this to your configuration:<br />
<br />
PREFERRED_PROVIDER_classpath = "classpath-minimal"<br />
<br />
Otherwise you need to add this line:<br />
<br />
PREFERRED_PROVIDER_classpath = "classpath"<br />
<br />
Currently the Angstrom distribution does not set a preference and you have to provide your own.<br />
<br />
=Writing a Java recipe=<br />
This section is going to tell you, how to write a proper recipe to build a Java library or program.<br />
<br />
'''At the moment this is a stub and you will only find some scattered information which at a later point will be merged into a consistent whole.'''<br />
<br />
==java-native.bbclass==<br />
If you use the ''java-library'' bbclass in a recipe ''foo'' and generate a native variant (e.g. ''foo-native'') you should use<br />
<br />
inherit java-native<br />
<br />
instead of ''native''. By doing so, you make sure, that any jars created by the recipe are properly installed into staging.<br />
<br />
==ant-native==<br />
If you need Ant to build your recipe add ''ant-native'' to your recipes dependencies. This will allow you to call the built-in Ant executable.<br />
<br />
= Information on specific libraries =<br />
== swt3.4-gtk and swt3.4-gtk-hildon ==<br />
Some effort has been done to integrate Gtk+-based SWT 3.4 into the Hildon environment (that is what Maemo provides). Distributions targeting Maemo should set the preferred provider for swt3.4-gtk like this:<br />
<br />
PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk-hildon"<br />
<br />
''Important'': If you do not want the hildon variant it is best to declare<br />
<br />
PREFERRED_PROVIDER_swt3.4-gtk = "swt3.4-gtk"<br />
<br />
as well. So bitbake will not chose the wrong one by accident (which would otherwise pull in all kinds of unwanted dependencies).<br />
<br />
= Caveats, known issues, hints, miscellaneous information =<br />
== Version suggestions ==<br />
Everyone and his dog knows that combining glibc 2.8, gcc 2.95 and Linux kernel 2.6.26 is not going to work. In the GNU Classpath realm we also have a set of versions that do not fit together. Here are some suggestions for your PREFERRED_VERSIONs. Stick to these if you are unsure. You can always find out which version are ''supposed'' to be compatible by reading the READMEs of the VMs.<br />
<br />
=== jamvm-initial and classpath-initial ===<br />
Use this and nothing else:<br />
<br />
PREFERRED_VERSION_jamvm-initial = "1.4.5"<br />
PREFERRED_VERSION_classpath-initial = "0.93"<br />
<br />
=== cacao-initial and classpath-initial ===<br />
Use this and nothing else:<br />
<br />
PREFERRED_VERSION_cacao-initial = "0.98"<br />
PREFERRED_VERSION_classpath-initial = "0.93"<br />
<br />
=== jamvm[-native] and classpath[-native] ===<br />
These are the releases that appear to be stable.<br />
<br />
PREFERRED_VERSION_jamvm-native = "1.5.3"<br />
PREFERRED_VERSION_classpath-native = "0.98"<br />
<br />
For the target device:<br />
<br />
PREFERRED_VERSION_jamvm = "1.5.2"<br />
PREFERRED_VERSION_classpath = "0.98"<br />
<br />
=== cacao[-native] and classpath[-native] ===<br />
These releases appear to be stable:<br />
<br />
PREFERRED_VERSION_cacao-native = "0.99.3"<br />
PREFERRED_VERSION_classpath-native = "0.97.2"<br />
<br />
For the target device take these:<br />
<br />
PREFERRED_VERSION_cacao = "0.99.4"<br />
PREFERRED_VERSION_classpath = "0.98"<br />
<br />
=== libecj-bootstrap ===<br />
<br />
PREFERRED_VERSION_libecj-bootstrap = "3.4"<br />
<br />
== Extra binaries and symlinks ==<br />
Since both Cacao and JamVM can be installed in staging you can use this and modify the 'java' or 'java-initial' symlink if you want to switch to a certain VM.<br />
<br />
== Debugging Cacao on the target ==<br />
You need to debug the Cacao JVM on your target device using GDB and need some pointers on how to get started? Read [https://wiki.evolvis.org/jalimo/index.php/CacaoDebugging this] page from the Jalimo Wiki.<br />
<br />
=Future plans =<br />
==Default Bytecode compliance level==<br />
Soon an option will be introduced to set the default bytecode compliance level. For any Java package that does not explicitly provide this level (not many do this) the one you set in your configuration will be used.<br />
<br />
==OpenJDK + Cacao==<br />
The flexibility of the Cacao runtime allows it to run it with OpenJDK's class library. This allows you to use the official class library and a JIT-capable runtime on an ARM device (as of today Hotspot has no JIT on ARM).<br />
<br />
Since the middle of August 2008 OpenJDK + Cacao can be build and is included in the Debian armel sid repositories (package cacao-oj6-sdk). Xerxes Rånby is showing some webbapplets running using OpenJDK + CACAO on his blog: http://labb.zafena.se/?p=1<br />
<br />
Since December 2008 OpenJDK + Cacao can be crosscompiled with OpenEmbedded as demonstrated by Robert Schuster!<br />
Check out http://rschuster.blogs.evolvis.org/2008/12/21/serving-cross-compiled-openjdk-with-icedtea/ and the answers http://rschuster.blogs.evolvis.org/2008/12/23/comments-on-latest-post-on-openjdk/<br />
<br />
==Ant integration for build recipes==<br />
Although ''ant'' can be used as a standalone tool there is no direct support for it in the recipe. E.g. the Debian buildsystem (CDBS) has support classes that can be used for Ant-based Java sourcepackages. It would be nice to have this too for OpenEmbedded.<br />
<br />
= FAQ =<br />
This space is for *your* questions and those that appeared more often on the mailing list. Things will be added here by the Jalimo folk/OE-Java maintainers or by you asking a question.<br />
<br />
== Q: I do get all these editions, configurations and profiles that exist in the Java world wrong. Any pointer on this? ==<br />
I found these articles in Wikipedia helpful to clarify the situation [http://en.wikipedia.org/wiki/Java_platform Java platform], [http://en.wikipedia.org/wiki/Java_ME Java ME].<br />
<br />
== Q: I need to solve a specific Java problem in OE and want to throw money at this. Whom can I contact? ==<br />
The [http://jalimo.org Jalimo] project has done a lot of Java work in OE and are available for contract work. You can also ask for experienced devs on the openembedded-devel mailing list.<br />
<br />
[http://www.openembedded.org test]<br />
<br />
[[Category:FAQ]]<br />
[[Category:Software Components]]<br />
[[Category:Java]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Donate&diff=3742Donate2010-12-15T21:08:00Z<p>Ka6sox: </p>
<hr />
<div>Your donations to the OpenEmbedded project are appreciated. OpenEmbedded is a non-profit [[Organization]] and uses donations for the following:<br />
<br />
* [[Infrastructure|Hosting and server costs]]<br />
* sponsoring travel to industry events ([[Oedem/2010]])<br />
<br />
We currently have a need for funds to upgrade the server hardware at our OSUOSL hosting location.<br />
<br />
Thank you for your valued support. A list of received donations can be found on our [[Donations | donations]] page.<br />
<br />
<paypal></div>Ka6soxhttp://www.openembedded.org/index.php?title=MediaWiki:Sidebar&diff=3727MediaWiki:Sidebar2010-12-07T18:33:56Z<p>Ka6sox: changed from patchwork to patches.*</p>
<hr />
<div>* navigation<br />
** mainpage|mainpage<br />
** recentchanges-url|recentchanges<br />
** Special:Popularpages|popularpages<br />
** randompage-url|randompage<br />
** helppage|help<br />
** sitesupport-url|sitesupport<br />
** manual-url|manual<br />
** donate|Donate<br />
* Categories<br />
** Category:FAQ|FAQ<br />
** Category:Policy|Policies<br />
** Category:User|Users<br />
** Category:Dev|Developers<br />
** Special:Categories|categories<br />
* OE services<br />
** http://cgit.openembedded.org|git server<br />
** http://tinderbox.openembedded.net|build results<br />
** http://bugs.openembedded.net|bug tracker<br />
** http://patches.openembedded.org|Patch Queue</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=3714Template:Main page/news2010-12-04T07:41:32Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
* '''''2010-12-03:''''' OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]<br />
* '''''2010-09-20:''''' [[Oedem/2010|OEDEM and eV General Assembly]]<br />
* '''''2010-06-09:''''' OpenEmbedded in Berlin! Meet us at our booth at [http://www.linuxtag.org LinuxTag 2010].<br />
* '''''2010-02-06:''''' OpenEmbedded at [http://fosdem.org FOSDEM'10] - We have a booth at Europe's finest F/OSS event. [[Fosdem 2010|See you in Brussels]]!<br />
<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/news&diff=3707Template:Main page/news2010-12-04T04:32:39Z<p>Ka6sox: </p>
<hr />
<div><!-- Please use ISO date format (YYYY-MM-DD) --><br />
<!-- Please only three entries of recent news, if there are more, move the oldest one to the top of the NewsArchive page --><br />
<br />
'''Recent News:'''<br />
* '''''2010-09-20:''''' [[Oedem/2010|OEDEM and eV General Assembly]]<br />
* '''''2010-06-09:''''' OpenEmbedded in Berlin! Meet us at our booth at [http://www.linuxtag.org LinuxTag 2010].<br />
* '''''2010-02-06:''''' OpenEmbedded at [http://fosdem.org FOSDEM'10] - We have a booth at Europe's finest F/OSS event. [[Fosdem 2010|See you in Brussels]]!<br />
<br />
* '''''2010-12-03:''''' OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]<br />
See [[NewsArchive|News Archive]] for older news.</div>Ka6soxhttp://www.openembedded.org/index.php?title=News&diff=3705News2010-12-04T04:26:12Z<p>Ka6sox: Protected "News" ([edit=sysop] (indefinite) [move=sysop] (indefinite))</p>
<hr />
<div><br />
2010-12-03 - OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]</div>Ka6soxhttp://www.openembedded.org/index.php?title=News&diff=3704News2010-12-04T04:25:42Z<p>Ka6sox: Created page with ' 2010-12-03 - OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]'</p>
<hr />
<div><br />
2010-12-03 - OpenEmbedded 2010.12 [http://lists.linuxtogo.org/pipermail/openembedded-users/2010-December/001157.html released]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Template:Main_page/Community&diff=3703Template:Main page/Community2010-12-04T04:24:14Z<p>Ka6sox: </p>
<hr />
<div>* [[Mailing lists]]<br />
* [[IRC]] chat<br />
* [http://bugs.openembedded.net Bugtracker]<br />
* [[News]] <br />
* [[:Category:Community|'''More''']]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Donate&diff=3059Donate2010-11-05T07:17:21Z<p>Ka6sox: </p>
<hr />
<div>Your donations to the OpenEmbedded project are appreciated. OpenEmbedded is a non-profit [[Organization]] and uses donations for the following:<br />
<br />
* [[Infrastructure|Hosting and server costs]]<br />
* sponsoring travel to industry events ([[Oedem/2010]])<br />
<br />
We currently have a need for funds to upgrade server hardware at our OSUOSL hosting location.<br />
<br />
Thank you for your valued support. A list of received donations can be found on our [[Donations | donations]] page.<br />
<br />
<paypal></div>Ka6soxhttp://www.openembedded.org/index.php?title=Donate&diff=3029Donate2010-11-04T10:40:20Z<p>Ka6sox: </p>
<hr />
<div>Your donations to the OpenEmbedded project are appreciated. OpenEmbedded is a non-profit [[Organization]] and uses donations for the following:<br />
<br />
* [[Infrastructure|Hosting and server costs]]<br />
* sponsoring travel to industry events ([[Oedem/2010]])<br />
<br />
We currently have a need for funds to upgrade server hardware at our OSUOSL hosting location.<br />
<br />
Thank you for your valued support. A list of received donations can be found on our [[Donations | donations]] page.<br />
<br />
<a href='extensions/donationform.php'></div>Ka6soxhttp://www.openembedded.org/index.php?title=Donate&diff=3027Donate2010-11-04T10:25:32Z<p>Ka6sox: Reverted edits by Ka6sox (Talk) to last revision by Stefan</p>
<hr />
<div>Your donations to the OpenEmbedded project are appreciated. OpenEmbedded is a non-profit [[Organization]] and uses donations for the following:<br />
<br />
* [[Infrastructure|Hosting and server costs]]<br />
* sponsoring travel to industry events ([[Oedem/2010]])<br />
<br />
We currently have a need for funds to upgrade server hardware at our OSUOSL hosting location.<br />
<br />
Thank you for your valued support. A list of received donations can be found on our [[Donations | donations]] page.<br />
<br />
<donationform></div>Ka6soxhttp://www.openembedded.org/index.php?title=Donate&diff=3026Donate2010-11-04T10:24:57Z<p>Ka6sox: </p>
<hr />
<div>Your donations to the OpenEmbedded project are appreciated. OpenEmbedded is a non-profit [[Organization]] and uses donations for the following:<br />
<br />
* [[Infrastructure|Hosting and server costs]]<br />
* sponsoring travel to industry events ([[Oedem/2010]])<br />
<br />
We currently have a need for funds to upgrade server hardware at our OSUOSL hosting location.<br />
<br />
Thank you for your valued support. A list of received donations can be found on our [[Donations | donations]] page.<br />
<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><br />
<input type="hidden" name="cmd" value="_donations"><br />
<input type="hidden" name="business" value="paypal@openembedded.org"><br />
<input type="hidden" name="lc" value="GB"><br />
<input type="hidden" name="item_name" value="OpenEmbedded"><br />
<input type="hidden" name="no_note" value="0"><br />
<input type="hidden" name="currency_code" value="EUR"><br />
<input type="hidden" name="bn"<br />
value="PP-DonationsBF:btn_donate_LG.gif:NonHostedGuest"><br />
<input type="image" src="https://www.paypal.com/en_GB/i/btn/btn_donate_LG.gif"<br />
border="0" name="submit" alt="PayPal - The safer, easier way to pay online."><br />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif"<br />
width="1" height="1"><br />
</form></div>Ka6soxhttp://www.openembedded.org/index.php?title=Infrastructure&diff=3020Infrastructure2010-11-04T02:58:19Z<p>Ka6sox: /* Servers */</p>
<hr />
<div>= Notes on the OE project infrastructure =<br />
<br />
= Servers =<br />
<br />
* '''linuxtogo'''<br />
** admins: Nils, [[User:Florian|Florian]], Mickeyl, mhentges<br />
* '''amethyst''' (server owned by [[User:Mickey|Mickey]])<br />
** admins: [[User:Mickey|Mickey]], RP, laforge, Rolf, Koen, clarson, Leon, [[User:Cbrake|cbrake]]<br />
* '''melo''' (VM at OSUOSL, donated by nslu2-linux project)<br />
** admins: [[User:Mickey|Mickey]], Zecke, RP, [[User:Cbrake|cbrake]], Rolf, khem, rwhitby, nas-admin.org staff,OSUOSL staff<br />
** backups: daily by [[User:Cbrake|cbrake]] using rsnapshot (3 rotating daily snapshots).<br />
*** /etc, /home/git, and /README<br />
*** bugzilla and [[Tinderbox]] mysql databases are dumped and backed up<br />
** 1.5GB RAM, 50GB of disk space, 2CPU<br />
** MySQL databases are stored on a separate high availability DB server<br />
* '''garnet''' (VM at OSUOSL)<br />
** 1GB RAM, 100GB of disk space, 2CPU<br />
** admins: [[User:Mickey|Mickey]], Zecke, [[User:Cbrake|cbrake]], rwhitby, khem, nas-admin.org staff,OSUOSL staff<br />
<br />
= Services =<br />
<br />
* '''melo'''<br />
** Git<br />
*** [[GitServerSetup]]<br />
** OE Documentation<br />
*** Automatic [[Documentation]] Update -- OE [[Documentation]] source is currently [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/docs stored in the main OE dev repository]. A process is maintained by [[User:Cbrake|cbrake]] that automatically updates the documentation daily, and uploads to the OE web site.<br />
** [http://tinderbox.openembedded.net Test builds] (mysql)<br />
** IRC ciabot<br />
** commit bot<br />
** [http://bugs.openembedded.net/ Bugzilla] (mysql)<br />
* '''linuxtogo'''<br />
** [[Mailing lists]]<br />
* '''amethyst'''<br />
** [http://patchwork.openembedded.org Patch Queue]<br />
** This wiki site<br />
* Angstrom Autobuilder<br />
* '''garnet'''<br />
** build server<br />
<br />
= Other topics =<br />
<br />
* backups<br />
* [[Web Site Infrastructure Discussion]]<br />
* [[DNS Configuration]]<br />
<br />
= The OE infrastructure is donated and maintained by =<br />
<br />
* [[User:Mickey|Mickey]] (amethyst server)<br />
* Harald Welte (hosting)<br />
* Linuxtogo.org (maillists)<br />
* nslu2-linux.org (Melo server)<br />
* BEC Systems (donated CPU for Melo server)<br />
* OSUOSL (co-locates the Melo server and associated infrastructure)<br />
* nas-admin.org (Group that maintains and admins the infrastructure used by the Melo and Garnet servers)<br />
* EUKREA Electromatique (donated 3 HD for OSUOSL infrastructure)<br />
<br />
Please considering [[Donate|donating]] to support this project.<br />
<br />
<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=Infrastructure&diff=3019Infrastructure2010-11-04T01:54:48Z<p>Ka6sox: </p>
<hr />
<div>= Notes on the OE project infrastructure =<br />
<br />
= Servers =<br />
<br />
* '''linuxtogo'''<br />
** admins: Nils, [[User:Florian|Florian]], Mickeyl, mhentges<br />
* '''amethyst''' (server owned by [[User:Mickey|Mickey]])<br />
** admins: [[User:Mickey|Mickey]], RP, laforge, Rolf, Koen, clarson, Leon, [[User:Cbrake|cbrake]]<br />
* '''melo''' (VM at OSUOSL, donated by nslu2-linux project)<br />
** admins: [[User:Mickey|Mickey]], Zecke, RP, [[User:Cbrake|cbrake]], Rolf, khem, rwhitby, OSUOSL staff<br />
** backups: daily by [[User:Cbrake|cbrake]] using rsnapshot (3 rotating daily snapshots).<br />
*** /etc, /home/git, and /README<br />
*** bugzilla and [[Tinderbox]] mysql databases are dumped and backed up<br />
** 1.5GB RAM, 50GB of disk space, 2CPU<br />
** MySQL databases are stored on a separate high availability DB server<br />
* '''garnet''' (VM at OSUOSL)<br />
** 1GB RAM, 100GB of disk space, 2CPU<br />
** admins: [[User:Mickey|Mickey]], Zecke, [[User:Cbrake|cbrake]], rwhitby, khem, nas-admin.org staff,OSUOSL staff<br />
<br />
= Services =<br />
<br />
* '''melo'''<br />
** Git<br />
*** [[GitServerSetup]]<br />
** OE Documentation<br />
*** Automatic [[Documentation]] Update -- OE [[Documentation]] source is currently [http://cgit.openembedded.net/cgit.cgi?url=openembedded/tree/docs stored in the main OE dev repository]. A process is maintained by [[User:Cbrake|cbrake]] that automatically updates the documentation daily, and uploads to the OE web site.<br />
** [http://tinderbox.openembedded.net Test builds] (mysql)<br />
** IRC ciabot<br />
** commit bot<br />
** [http://bugs.openembedded.net/ Bugzilla] (mysql)<br />
* '''linuxtogo'''<br />
** [[Mailing lists]]<br />
* '''amethyst'''<br />
** [http://patchwork.openembedded.org Patch Queue]<br />
** This wiki site<br />
* Angstrom Autobuilder<br />
* '''garnet'''<br />
** build server<br />
<br />
= Other topics =<br />
<br />
* backups<br />
* [[Web Site Infrastructure Discussion]]<br />
* [[DNS Configuration]]<br />
<br />
= The OE infrastructure is donated and maintained by =<br />
<br />
* [[User:Mickey|Mickey]] (amethyst server)<br />
* Harald Welte (hosting)<br />
* Linuxtogo.org (maillists)<br />
* nslu2-linux.org (Melo server)<br />
* BEC Systems (donated CPU for Melo server)<br />
* OSUOSL (co-locates the Melo server and associated infrastructure)<br />
* nas-admin.org (Group that maintains and admins the infrastructure used by the Melo and Garnet servers)<br />
* EUKREA Electromatique (donated 3 HD for OSUOSL infrastructure)<br />
<br />
Please considering [[Donate|donating]] to support this project.<br />
<br />
<br />
<br />
[[Category:Dev]]</div>Ka6soxhttp://www.openembedded.org/index.php?title=TSC&diff=2855TSC2010-10-12T13:43:34Z<p>Ka6sox: /* Outstanding items (sorted by occurence) */</p>
<hr />
<div>=OE Technical Steering Committee=<br />
<br />
The TSC consists of 5 people and will be elected by, and ultimately be answerable to, the members of the OE e.V.<br />
<br />
= Members =<br />
<br />
Philip Blundell (pb_)<br />
Chris Larson (kergoth)<br />
Michael 'Mickey' Lauer (mickeyl)<br />
Richard Purdie (RP)<br />
Holger Freyther (zecke)<br />
<br />
= Responsibilities =<br />
<br />
On a day-to-day basis the TSC will be responsible for making<br />
tactical policy decisions, resolving disputes between contributors,<br />
administering access control to the git tree, and generally promoting<br />
good development practice.<br />
<br />
= Decision Making =<br />
<br />
Decisions are made where necessary by majority vote. Once a decision is made by<br />
the technical steering committee, the decision should be respected as a democratic decision.<br />
<br />
= Outstanding items (sorted by occurence) =<br />
* Convert remaining recipes to new style staging<br />
* Make the insane.bbclass mandatory, make it default to only complain<br />
* Ongoing campaign to deprecate/remove old recipes (use common sense, allow review)<br />
* Rename org.openembedded.dev to master<br />
* Document revert policy on Wiki<br />
* Document TSC issue escalation procedure<br />
<br />
= Old Minutes =<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-June/020655.html June]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-May/020047.html May]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-March/017876.html March]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-February/017094.html February]<br />
<br />
[http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-January/015931.html January]<br />
<br />
[[Category:Policy]]</div>Ka6sox