Date   

Re: lmsensors-apps builds, but not in final image?

Marc Ferland <ferlandm@...>
 

r10kindsofpeople <r10kindsofpeople@gmail.com> writes:

I'm hoping someone can quickly spot my mistake.  I'm attempting to use
this recipe:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-ppc/tree/recipes-extended/lm_
sensors/lmsensors-apps_3.3.2.bb

with my meta-intel/crownbay build under denzil 7.0.1.  

I put the recipe in my layer, and added "lmsensors-apps" to my
IMAGE_INSTALL_append in my layer's layer.conf.  

The software builds, and I can see the files in
tmp/work/crownbay-poky-linux/lmsensors-apps-3.3.2-r2.

But it doesn't make it into tmp/work/core-image-minimal-1.0-r0/rootfs
or the .hddimage file.
You have to use one of the packages specified in the recipe. Like
'libsensors' or 'lmsensors-sensors'. lmsensors-apps is empty.

Marc


lmsensors-apps builds, but not in final image?

r10kindsofpeople <r10kindsofpeople@...>
 

I'm hoping someone can quickly spot my mistake.  I'm attempting to use this recipe:

with my meta-intel/crownbay build under denzil 7.0.1.  

I put the recipe in my layer, and added "lmsensors-apps" to my IMAGE_INSTALL_append in my layer's layer.conf.  

The software builds, and I can see the files in tmp/work/crownbay-poky-linux/lmsensors-apps-3.3.2-r2.

But it doesn't make it into tmp/work/core-image-minimal-1.0-r0/rootfs or the .hddimage file.

Help, please?

John


menuconfig fails using SSTATE_MIRRORS and SOURCE_MIRROR_URL

Daniel Kenji Morgan <daniel.kenji.morgan@...>
 

To explain my environment:

I am building images for the machine "imx6qsabrelite" in the "meta-fsl-arm" BSP layer using Poky 1.3 (danny).
The kernel recipe is linux-imx which is fetched from Freescale's git repository.

On host machine A, I build an image and copy all the sstate cache and download files into a different directory.
I've setup this directory as a Samba share so it can be accessed via the local network.

On host machine B, I have local.conf set to use the shared sstate cache and source download mirror (SSTATE_MIRRORS and SOURCE_MIRROR_URL
).
They are both utilized without any problems when I build an image.
However, when I "bitbake -c menuconfig virtual/kernel", I get the following error in the kconfig terminal:

scripts/kconfig/mconf Kconfig
Error opening terminal: xterm.
make[1]: *** [menuconfig] Error 1
make: *** [menuconfig] Error 2
Command failed.
Press any key to continue...

The same "bitbake -c menuconfig virtual/kernel" on host machine A works.
It also works on host machine B when I disable using the shared sstate cache and source download mirror.

Is anyone aware of such issues?


Re: what's the best distro to pick for adding packages to yocto

Burton, Ross <ross.burton@...>
 

On 31 January 2013 11:16, Tim Coote <tim+yoctoproject.org@coote.org> wrote:
Hullo
I'm trying to add a package to yocto (an AMQP implementation). There are various packaged versions, so I started with the one that I'm most familiar (RH). However, it's pretty clear that yocto's not based on that as the initscripts are totally different and missing the framework (there isn't even a /etc/rc.d/init.d, although it looks like there used to be).

What's the best starting point for picking a prepackaged version for a distro? debian? suse?
Historically Debian is fairly close, but these days that isn't really
true. It's probably best to look at an existing init script to see
*what* needs to be done, and then copy the style of existing scripts
in Yocto for *how* to do it.

Ross


[PATCH v6] [399231] Fix race conditions when reading using LocalShellOutputReader(s)

Ioana Grigoropol <ioanax.grigoropol@...>
 

When running a remote command with a Local connection from a Linux host a new LocalHostShell is created.
At this time, a new LocalHostThread is launched, along side with two LocalShellOutputReaders (output and error). The constructors for the OutputReaders will receive a reference to the reader created by the LocalHostThread.

When calling runCommandRemote, the newly created IHostShell is returned, making it possible to create an adapter(IHostShellProcessAdapter) that will then be used to read all available output from the readers.
When the LocalShellThread finishes running its run() method, it will perform a cleanup causing both readers (output and error) to be closed.
If at this point, there are any readers, or handlers to the readers that are still trying to read data (read using handlers readers), an error will be thrown saying that the the pipe to the stream is closed ("Ensure open stream"/ "Pipe closed" errors).
After inspecting the internalReadLine, it seems that it expects a null reference of the reader in order to consider that the reading is done.
In order to ensure that this will happen once the LocalShellThread closes the stream(s), we will make sure that the reference to the readers is set to null, and that LocalShellOutputReader(s) use the same reference of the reader as the LocalShellThread. For this to happen, a reference of the thread must be kept in the reader, in order to retrieve the correct reference of the underlying reader.
Since there can still be race conditions in this solution, all operations that involve the reference to now the only reader, must be performed under mutual exclusion using a shared lock between the LocalShellOutputReader and LocalShellThread.

[update] : there is no need to protect internalReadLine with locks as long as we do it when reading.

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
---
.../dstore/shells/DStoreShellOutputReader.java | 12 ++++++++
.../services/local/shells/LocalHostShell.java | 5 ++--
.../local/shells/LocalShellOutputReader.java | 29 +++++++++++++-------
.../services/local/shells/LocalShellThread.java | 18 ++++++++++++
.../.settings/.api_filters | 22 +++++++++++++++
.../shells/TerminalServiceShellOutputReader.java | 14 ++++++++++
.../services/shells/IHostShellOutputReader.java | 13 ++++++++-
7 files changed, 100 insertions(+), 13 deletions(-)

diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java
index 84c9bb9..35dbea4 100644
--- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java
+++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/internal/services/dstore/shells/DStoreShellOutputReader.java
@@ -13,10 +13,13 @@
*
* Contributors:
* David McKnight (IBM) - [286671] return null when status is null
+ * Ioana Grigoropol (Intel) - [399231] Race conditions occur when trying to read from local processes using LocalShellOutputReader
*******************************************************************************/

package org.eclipse.rse.internal.services.dstore.shells;

+import java.io.BufferedReader;
+import java.util.concurrent.locks.Lock;
import org.eclipse.dstore.core.model.DataElement;
import org.eclipse.dstore.extra.DomainEvent;
import org.eclipse.dstore.extra.IDomainListener;
@@ -168,6 +171,15 @@ public class DStoreShellOutputReader extends AbstractHostShellOutputReader imple
notifyResponse();
}

+ public BufferedReader getReader() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Lock getReaderLock() {
+ return null;
+ }
+
/*
private void handleInput()
{
diff --git a/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalHostShell.java b/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalHostShell.java
index 250a904..213bf2e 100644
--- a/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalHostShell.java
+++ b/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalHostShell.java
@@ -13,6 +13,7 @@
*
* Contributors:
* Martin Oberhuber (Wind River) - [161838] local shell reports isActive() wrong
+ * Ioana Grigoropol (Intel) - [399231] Race conditions occur when trying to read from local processes using LocalShellOutputReader
*******************************************************************************/

package org.eclipse.rse.internal.services.local.shells;
@@ -37,8 +38,8 @@ public class LocalHostShell extends AbstractHostShell implements IHostShell
public LocalHostShell(String initialWorkingDirectory, String invocation, String encoding, String[] environment)
{
_shellThread = new LocalShellThread(initialWorkingDirectory, invocation, encoding, environment);
- _stdoutHandler = new LocalShellOutputReader(this, _shellThread.getOutputStream(), false);
- _stderrHandler = new LocalShellOutputReader(this, _shellThread.getErrorStream(),true);
+ _stdoutHandler = new LocalShellOutputReader(this, _shellThread, false);
+ _stderrHandler = new LocalShellOutputReader(this, _shellThread, true);
}

protected void run(IProgressMonitor monitor)
diff --git a/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellOutputReader.java b/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellOutputReader.java
index ab8ff5c..fd7096c 100644
--- a/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellOutputReader.java
+++ b/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellOutputReader.java
@@ -12,13 +12,14 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
- * {Name} (company) - description of contribution.
+ * Ioana Grigoropol (Intel) - [399231] Race conditions occur when trying to read from local processes using LocalShellOutputReader
*******************************************************************************/

package org.eclipse.rse.internal.services.local.shells;

import java.io.BufferedReader;
import java.io.IOException;
+import java.util.concurrent.locks.Lock;

import org.eclipse.rse.internal.services.local.Activator;
import org.eclipse.rse.services.shells.AbstractHostShellOutputReader;
@@ -33,14 +34,14 @@ import org.eclipse.rse.services.shells.SimpleHostOutput;
*/
public class LocalShellOutputReader extends AbstractHostShellOutputReader implements IHostShellOutputReader
{
- protected BufferedReader _reader;
+ private LocalShellThread _shellThread;
private String fPromptChars = ">$%#]"; //Characters we accept as the end of a prompt //$NON-NLS-1$;


- public LocalShellOutputReader(IHostShell hostShell, BufferedReader reader, boolean isErrorReader)
+ public LocalShellOutputReader(IHostShell hostShell, LocalShellThread shellThread, boolean isErrorReader)
{
super(hostShell, isErrorReader);
- _reader = reader;
+ _shellThread = shellThread;
}
/*
protected Object internalReadLine()
@@ -137,7 +138,7 @@ public class LocalShellOutputReader extends AbstractHostShellOutputReader implem
}
*/
protected IHostOutput internalReadLine() {
- if (_reader == null) {
+ if (getReader() == null) {
//Our workaround sets the stderr reader to null, so we never give any stderr output.
//TODO Check if ssh supports some method of having separate stdout and stderr streams
return null;
@@ -149,7 +150,7 @@ public class LocalShellOutputReader extends AbstractHostShellOutputReader implem
boolean done = false;
while (!done && !isFinished()) {
try {
- ch = _reader.read();
+ ch = getReader().read();
switch (ch) {
case -1:
case 65535:
@@ -185,13 +186,13 @@ public class LocalShellOutputReader extends AbstractHostShellOutputReader implem
theLine.append(tch); // Any other character
} else if (ch == 27) {
// Escape: ignore next char too
- int nch = _reader.read();
+ int nch = getReader().read();
if (theDebugLine!=null) theDebugLine.append((char)nch);
if (nch == 91) {
//vt100 escape sequence: read until end-of-command (skip digits and semicolon)
//e.g. \x1b;13;m --> ignore the entire command, including the trailing m
do {
- nch = _reader.read();
+ nch = getReader().read();
if (theDebugLine!=null) theDebugLine.append((char)nch);
} while (Character.isDigit((char)nch) || nch == ';');
}
@@ -202,7 +203,7 @@ public class LocalShellOutputReader extends AbstractHostShellOutputReader implem
// there are more characters
// in the Buffer...If not, then we assume it is waiting for
// input.
- if (!done && !_reader.ready()) {
+ if (!done && !getReader().ready()) {
// wait to make sure -- max. 500 msec to wait for new chars
// if we are not at a CRLF seems to be appropriate for the
// Pipes and Threads in ssh.
@@ -219,7 +220,7 @@ public class LocalShellOutputReader extends AbstractHostShellOutputReader implem
Thread.sleep(waitIncrement);
} catch (InterruptedException e) {
}
- if (!_reader.ready()) {
+ if (!getReader().ready()) {
done = true;
}
}
@@ -237,6 +238,14 @@ public class LocalShellOutputReader extends AbstractHostShellOutputReader implem
}
return new SimpleHostOutput(theLine.toString());
}
+ public BufferedReader getReader() {
+ if (isErrorReader())
+ return _shellThread.getErrorStream();
+ return _shellThread.getOutputStream();
+ }
+ public Lock getReaderLock() {
+ return _shellThread.getLock();
+ }


}
diff --git a/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellThread.java b/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellThread.java
index 0a33ad4..28e8ad9 100644
--- a/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellThread.java
+++ b/rse/plugins/org.eclipse.rse.services.local/src/org/eclipse/rse/internal/services/local/shells/LocalShellThread.java
@@ -17,6 +17,7 @@
* David McKnight (IBM) - [189387] Use specified encoding for shell output
* Martin Oberhuber (Wind River) - [161838] local shell reports isActive() wrong
* Anna Dushistova (MontaVsita) - [249354] Incorrect behaviour of local shells subsystem runCommand method
+ * Ioana Grigoropol (Intel) - [399231] Race conditions occur when trying to read from local processes using LocalShellOutputReader
*******************************************************************************/

package org.eclipse.rse.internal.services.local.shells;
@@ -29,6 +30,8 @@ import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.URL;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;

import org.eclipse.core.runtime.FileLocator;

@@ -62,6 +65,7 @@ public class LocalShellThread extends Thread
private BufferedReader _stdInput;
private BufferedReader _stdError;

+ private Lock _lock;
/**
* constructor for local command shell monitor
*
@@ -260,6 +264,7 @@ public class LocalShellThread extends Thread

_stdError = new BufferedReader(new InputStreamReader(_theProcess.getErrorStream()));

+ _lock = new ReentrantLock();
}
catch (IOException e)
{
@@ -438,9 +443,14 @@ public class LocalShellThread extends Thread
_isDone = true;
try
{
+ _lock.lock();
_stdInput.close();
_stdError.close();

+ _stdInput = null;
+ _stdError = null;
+
+ _lock.unlock();
if (_theProcess != null)
{

@@ -511,4 +521,12 @@ public class LocalShellThread extends Thread
}


+ public Lock getLock() {
+ return _lock;
+ }
+
+ public void setLock(Lock _lock) {
+ this._lock = _lock;
+ }
+
}
diff --git a/rse/plugins/org.eclipse.rse.services/.settings/.api_filters b/rse/plugins/org.eclipse.rse.services/.settings/.api_filters
index 19273c2..da67bc9 100644
--- a/rse/plugins/org.eclipse.rse.services/.settings/.api_filters
+++ b/rse/plugins/org.eclipse.rse.services/.settings/.api_filters
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.rse.services" version="2">
+ <resource path="META-INF/MANIFEST.MF">
+ <filter id="923795461">
+ <message_arguments>
+ <message_argument value="3.2.200"/>
+ <message_argument value="3.2.200"/>
+ </message_arguments>
+ </filter>
+ </resource>
<resource path="META-INF/MANIFEST.MF" type="org.eclipse.rse.internal.services.terminals.AbstractTerminalService">
<filter id="305324134">
<message_arguments>
@@ -119,4 +127,18 @@
</message_arguments>
</filter>
</resource>
+ <resource path="src/org/eclipse/rse/services/shells/IHostShellOutputReader.java" type="org.eclipse.rse.services.shells.IHostShellOutputReader">
+ <filter id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.rse.services.shells.IHostShellOutputReader"/>
+ <message_argument value="getReader()"/>
+ </message_arguments>
+ </filter>
+ <filter id="403804204">
+ <message_arguments>
+ <message_argument value="org.eclipse.rse.services.shells.IHostShellOutputReader"/>
+ <message_argument value="getReaderLock()"/>
+ </message_arguments>
+ </filter>
+ </resource>
</component>
diff --git a/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java b/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java
index 16364e1..9b01c10 100644
--- a/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java
+++ b/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/internal/services/shells/TerminalServiceShellOutputReader.java
@@ -17,12 +17,15 @@
* Anna Dushistova (MontaVista) - adapted from SshShellOutputReader
* Anna Dushistova (MontaVista) - [240523] [rseterminals] Provide a generic adapter factory that adapts any ITerminalService to an IShellService
* Rob Stryker (JBoss) - [335059] TerminalServiceShellOutputReader logs error when hostShell.exit() is called
+ * Ioana Grigoropol (Intel) - [399231] Race conditions occur when trying to read from local processes using LocalShellOutputReader
*******************************************************************************/

package org.eclipse.rse.internal.services.shells;

import java.io.BufferedReader;
import java.io.IOException;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;

import org.eclipse.rse.internal.services.Activator;
import org.eclipse.rse.services.shells.AbstractHostShellOutputReader;
@@ -36,6 +39,7 @@ import org.eclipse.rse.services.shells.SimpleHostOutput;
public class TerminalServiceShellOutputReader extends
AbstractHostShellOutputReader {
protected BufferedReader fReader;
+ protected Lock lock;
private volatile Thread fReaderThread = null;
private volatile boolean isCanceled = false;
private String fPromptChars = ">$%#]"; //Characters we accept as the end of a prompt //$NON-NLS-1$;
@@ -174,4 +178,14 @@ public class TerminalServiceShellOutputReader extends
fReaderThread.interrupt();
}
}
+
+ public BufferedReader getReader() {
+ return fReader;
+ }
+
+ public Lock getReaderLock() {
+ if (lock == null)
+ lock = new ReentrantLock();
+ return lock;
+ }
}
diff --git a/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/IHostShellOutputReader.java b/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/IHostShellOutputReader.java
index 103c31f..b70b3db 100644
--- a/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/IHostShellOutputReader.java
+++ b/rse/plugins/org.eclipse.rse.services/src/org/eclipse/rse/services/shells/IHostShellOutputReader.java
@@ -11,11 +11,14 @@
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
*
* Contributors:
- * {Name} (company) - description of contribution.
+ * Ioana Grigoropol (Intel) - [399231] Race conditions occur when trying to read from local processes using LocalShellOutputReader
********************************************************************************/

package org.eclipse.rse.services.shells;

+import java.io.BufferedReader;
+import java.util.concurrent.locks.Lock;
+
public interface IHostShellOutputReader extends IHostShellOutputNotifier
{
public IHostOutput readLine();
@@ -23,4 +26,12 @@ public interface IHostShellOutputReader extends IHostShellOutputNotifier
public void addOutputListener(IHostShellOutputListener listener);
public boolean isErrorReader();
public void finish();
+ /**
+ * @since 3.2
+ */
+ public BufferedReader getReader();
+ /**
+ * @since 3.2
+ */
+ public Lock getReaderLock();
}
\ No newline at end of file
--
1.7.9.5


what's the best distro to pick for adding packages to yocto

Tim Coote <tim+yoctoproject.org@...>
 

Hullo
I'm trying to add a package to yocto (an AMQP implementation). There are various packaged versions, so I started with the one that I'm most familiar (RH). However, it's pretty clear that yocto's not based on that as the initscripts are totally different and missing the framework (there isn't even a /etc/rc.d/init.d, although it looks like there used to be).

What's the best starting point for picking a prepackaged version for a distro? debian? suse?

thanks
Tim


Re: install and use "bitbake -c populate_sdk"

Zhang, Jessica
 

Hi Eddy,

 

I don’t think build core-image-sato-sdk is the right approach.  Have you looked into following the example of hello-mod under meta-skeleton, to use bitbake to build your kernel module?

 

-          Jessica

From: Lai Eddy [mailto:eddy.lai.tw@...]
Sent: Wednesday, January 30, 2013 7:54 PM
To: Zhang, Jessica
Cc: yocto@...
Subject: Re: [yocto] install and use "bitbake -c populate_sdk"

 

Thanks Jessica,

 

why I tried to use "-c populate-sdk" is because that I can find "core-image-sato-sdk"  but no "core-image-basic-sdk" available, and my hardware is a samll jasperforest x86_64 target with 2 serial port and 1 ethernet port only, no display interface.

I'm trying to find if any of following configuration suitable for my kernel module driver develop/debug:

1. with the x86_64 toolchain sdk installed on my x86_64 host , build my kernel module driver, then scp ".ko" binary to target for insmod/debugging, but the problem I have now is the "make" always pointing to /usr/src/3.2.x kernel source path (my host OS's kernel version), but not the linux-yocto target kernel (3.4.x) source/header path (and I don't know where's the proper 3.4.x target kernel header/source files, is it inside tmp/work/...? )

2.build and run the "core-image-basic" on my target, and install the sdk created with "bitbake core-image-basic -c populate-sdk", but there's no "/usr/src/.." , "/lib/modules/3.4.x-yocto-stand/build" exist

 

trying to build the "core-image-sato-sdk to see if that help for target develop now...

 

Eddy

 

2013/1/31 Zhang, Jessica <jessica.zhang@...>

Hi Eddy,

The SDK is meant to be used on development host for cross development instead of target.  Sounds like you need an sdk image which contains the development tools and needed development library and kernel sources.  Please refer to  core-image-sato-sdk for how to customize your image to allow your do development work on target.

Thanks,
Jessica


-----Original Message-----
From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Eddy Lai GMail
Sent: Thursday, January 24, 2013 5:49 AM
To: yocto@...
Subject: Re: [yocto] install and use "bitbake -c populate_sdk"

Hi,

I have build and boot the image from USB flash disk with the .hddimg created by "bitbake -k core-image-basic"
have added ssh server inside and make sure the ethernet works well, then use "bitbake -c populate_sdk core-image-basic" to create the "poky_eglibc_xx.sh" under "tmp/deploy/sdk" directory, my plan is to install the sdk into the target system and compile my kernel module there, but now the problem is:
1. even I have 8GB USB flash disk, the .hddimg is 420MB only, "df"
command from target said there's 85MB available only,
     but the sdk .sh installer image is about 300MB, how can I "extend"
the target system to use the rest USB disk space? ( it's FAT file system)
     or how to modify configuration to force build the .hddimg create ~"8GB" file system?
2. after that SDK installed into my target system, can I copy (scp) my own kernel module driver source code into the target system then
     make/compile and try insmod/debug the .ko there?
     or should I install the sdk on host system, then copy only the compiled .ko into target system for test/debugging?

Eddy

_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto

 


Re: install and use "bitbake -c populate_sdk"

Eddy Lai
 

Thanks Jessica,

why I tried to use "-c populate-sdk" is because that I can find "core-image-sato-sdk"  but no "core-image-basic-sdk" available, and my hardware is a samll jasperforest x86_64 target with 2 serial port and 1 ethernet port only, no display interface.
I'm trying to find if any of following configuration suitable for my kernel module driver develop/debug:
1. with the x86_64 toolchain sdk installed on my x86_64 host , build my kernel module driver, then scp ".ko" binary to target for insmod/debugging, but the problem I have now is the "make" always pointing to /usr/src/3.2.x kernel source path (my host OS's kernel version), but not the linux-yocto target kernel (3.4.x) source/header path (and I don't know where's the proper 3.4.x target kernel header/source files, is it inside tmp/work/...? )
2.build and run the "core-image-basic" on my target, and install the sdk created with "bitbake core-image-basic -c populate-sdk", but there's no "/usr/src/.." , "/lib/modules/3.4.x-yocto-stand/build" exist

trying to build the "core-image-sato-sdk to see if that help for target develop now...

Eddy

2013/1/31 Zhang, Jessica <jessica.zhang@...>

Hi Eddy,

The SDK is meant to be used on development host for cross development instead of target.  Sounds like you need an sdk image which contains the development tools and needed development library and kernel sources.  Please refer to  core-image-sato-sdk for how to customize your image to allow your do development work on target.

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Eddy Lai GMail
Sent: Thursday, January 24, 2013 5:49 AM
To: yocto@...
Subject: Re: [yocto] install and use "bitbake -c populate_sdk"

Hi,

I have build and boot the image from USB flash disk with the .hddimg created by "bitbake -k core-image-basic"
have added ssh server inside and make sure the ethernet works well, then use "bitbake -c populate_sdk core-image-basic" to create the "poky_eglibc_xx.sh" under "tmp/deploy/sdk" directory, my plan is to install the sdk into the target system and compile my kernel module there, but now the problem is:
1. even I have 8GB USB flash disk, the .hddimg is 420MB only, "df"
command from target said there's 85MB available only,
     but the sdk .sh installer image is about 300MB, how can I "extend"
the target system to use the rest USB disk space? ( it's FAT file system)
     or how to modify configuration to force build the .hddimg create ~"8GB" file system?
2. after that SDK installed into my target system, can I copy (scp) my own kernel module driver source code into the target system then
     make/compile and try insmod/debug the .ko there?
     or should I install the sdk on host system, then copy only the compiled .ko into target system for test/debugging?

Eddy
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Re: install and use "bitbake -c populate_sdk"

Zhang, Jessica
 

Hi Eddy,

The SDK is meant to be used on development host for cross development instead of target. Sounds like you need an sdk image which contains the development tools and needed development library and kernel sources. Please refer to core-image-sato-sdk for how to customize your image to allow your do development work on target.

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces@yoctoproject.org [mailto:yocto-bounces@yoctoproject.org] On Behalf Of Eddy Lai GMail
Sent: Thursday, January 24, 2013 5:49 AM
To: yocto@yoctoproject.org
Subject: Re: [yocto] install and use "bitbake -c populate_sdk"

Hi,

I have build and boot the image from USB flash disk with the .hddimg created by "bitbake -k core-image-basic"
have added ssh server inside and make sure the ethernet works well, then use "bitbake -c populate_sdk core-image-basic" to create the "poky_eglibc_xx.sh" under "tmp/deploy/sdk" directory, my plan is to install the sdk into the target system and compile my kernel module there, but now the problem is:
1. even I have 8GB USB flash disk, the .hddimg is 420MB only, "df"
command from target said there's 85MB available only,
but the sdk .sh installer image is about 300MB, how can I "extend"
the target system to use the rest USB disk space? ( it's FAT file system)
or how to modify configuration to force build the .hddimg create ~"8GB" file system?
2. after that SDK installed into my target system, can I copy (scp) my own kernel module driver source code into the target system then
make/compile and try insmod/debug the .ko there?
or should I install the sdk on host system, then copy only the compiled .ko into target system for test/debugging?

Eddy
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[meta-raspberrypi][PATCH 2/2] Add RPROVIDES for OpenGL libraries

Philipp Wagner <lists@...>
 

From: Philipp Wagner <mail@philipp-wagner.com>

Often the OpenGL libraries are dlopen'ed rather than linked against,
which makes it necessary to add OpenGL libraries to RDEPENDS of the
package. This of course requires that they are RPROVIDE'd somewhere.

I've seen a bug report about this at
https://github.com/djwillis/meta-raspberrypi/issues/55
but I don't know enough to judge how/why virtual/libgl is required,
so I'm leaving it in for now and only adding the runtime library
provider.

Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
---
recipes-bcm/vc-graphics/vc-graphics.inc | 1 +
1 file changed, 1 insertion(+)

diff --git a/recipes-bcm/vc-graphics/vc-graphics.inc b/recipes-bcm/vc-graphics/vc-graphics.inc
index 915b7c1..36cbdf9 100644
--- a/recipes-bcm/vc-graphics/vc-graphics.inc
+++ b/recipes-bcm/vc-graphics/vc-graphics.inc
@@ -4,6 +4,7 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"

PROVIDES = "virtual/libgl virtual/libgles2 virtual/egl"
+RPROVIDES = "virtual/libgl virtual/libgles2 virtual/egl"
COMPATIBLE_MACHINE = "raspberrypi"

include ../common/firmware.inc
--
1.7.9.5


[meta-raspberrypi][PATCH 1/2] Choose correct ABI version of graphics binaries

Philipp Wagner <lists@...>
 

From: Philipp Wagner <mail@philipp-wagner.com>

Depending on the used calling convention use the hardfp or
the softfp binary graphics libraries.

Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
---
conf/machine/include/rpi-default-providers.inc | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/conf/machine/include/rpi-default-providers.inc b/conf/machine/include/rpi-default-providers.inc
index ce963b3..83292df 100644
--- a/conf/machine/include/rpi-default-providers.inc
+++ b/conf/machine/include/rpi-default-providers.inc
@@ -2,7 +2,11 @@

PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi"
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
-PREFERRED_PROVIDER_virtual/egl ?= "vc-graphics-hardfp"
-PREFERRED_PROVIDER_virtual/libgles2 ?= "vc-graphics-hardfp"
-PREFERRED_PROVIDER_virtual/libgl ?= "vc-graphics-hardfp"
PREFERRED_PROVIDER_linux-libc-headers ?= "linux-libc-headers-raspberrypi"
+
+# The graphics libraries are closed source and provided as binaries with either
+# hardfp and softfp calling conventions. We need to choose the one that fits
+# in with the rest of the system.
+PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}"
+PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}"
+PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "vc-graphics-hardfp", "vc-graphics", d)}"
--
1.7.9.5


[meta-raspberrypi][PATCH 0/2] Binary graphics library fixes

Philipp Wagner <lists@...>
 

Hi,

I'm working on an application that needs the graphics libraries. Right now
I'm still using the binary libraries (which are still default in
meta-raspberrypi). Unfortunately, the current default configuration has
two problems:
a) It chooses the wrong ABI version (hardfp instead of softfp). To reduce
the possibility for error here I changed the recipe to automatically
select the right version.
b) Many applications dlopen the OpenGL libraries. For that to work, they
need to be listed in the RPROVIDES list. The second patch does that.

I'm aware of the fact that those binary graphics libraries will be
replaced with the new "userland" libraries, but until this is all ready
I'd be grat if those patches could be accepted to have a working-by-default
configuration in the meta-raspberrypi tree.

Philipp

Philipp Wagner (2):
Choose correct ABI version of graphics binaries
Add RPROVIDES for OpenGL libraries

conf/machine/include/rpi-default-providers.inc | 10 +++++++---
recipes-bcm/vc-graphics/vc-graphics.inc | 1 +
2 files changed, 8 insertions(+), 3 deletions(-)

--
1.7.9.5


Status of 1.4 M3 rc2 - slightly delayed

Saul Wold <sgw@...>
 

Folks,

We would normally start the Milestone Build in the morning, so that it would be available by the afternoon and next day in Asia and Europe, at this point the release is ready, we are waiting for the autobuilder to complete the current master build.

We expect the build to start sometime this afternoon with the build completing later this evening (after 22:00). Michael Halstead will send an email with the build details when it completes.

If testing can be started with the source tests, Poky has been branched to 1.4_M3 (git hash: b47d0b23d99a9f72c035c03883b36258da357426)

Thanks for your patience.

--
Sau!

Saul Wold
Yocto Component Wrangler @ Intel
Yocto Project / Poky Build System


Re: Slides from the Yocto Developer Day

Darren Hart <dvhart@...>
 

On 01/30/2013 06:41 AM, Marco wrote:
Il 13/11/2012 08:01, Scott Garman ha scritto:
On 11/12/2012 11:52 AM, Anna Dushistova wrote:
Hi All,

Are the slides available somewhere?

Thanks!
Anna.
Hi Anna,

Attached are the slides and lab packet I used for the intro hands-on lab
in PDF format.

Hi all,
would be available slides and worksheet for the other YDD-2012 labs?

- "Hands on kernel lab" by Darren & Tom
We're working on making the kernel lab available online. Until then, the
materials would not be of much use as they were just specific enough to
the lab machines we set up, that they would frustrate more than
enlighten someone trying to use them on their own. Once they are up,
you'll be able to download them and do the labs on your own machines.

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel


Re: Slides from the Yocto Developer Day

Marco <koansoftware@...>
 

Il 13/11/2012 08:01, Scott Garman ha scritto:
On 11/12/2012 11:52 AM, Anna Dushistova wrote:
Hi All,

Are the slides available somewhere?

Thanks!
Anna.
Hi Anna,

Attached are the slides and lab packet I used for the intro hands-on lab
in PDF format.

Hi all,
would be available slides and worksheet for the other YDD-2012 labs?

- "Hands on kernel lab" by Darren & Tom
- "YP eclipse plugin and HOB" by Jessica
- "Yocto Project Layer for In-Vehicle Infotainment"

FYI many presentations don't have a link available here:
https://www.yoctoproject.org/tools-resources/presentations


Cheers
--
Marco Cavallini | KOAN sas | Bergamo - Italia
embedded and real-time software engineering
Phone:+39-035-255.235 - Fax:+39-178-22.39.748
http://www.KoanSoftware.com


Re: Yocto Project Developer at Embedded Linux Conference US

Philip Balister
 

On 01/22/2013 08:09 PM, Jeff Osier-Mixon wrote:
Hi all & happy new year

The conference season starts early this year with several open source
conferences worldwide, including FOSDEM in Brussels, linux.conf.au in
Canberra, several regional Linux conferences including SCaLE in southern
California, and of course the Embedded Linux Conference (ELC), February
20-22 in San Francisco, CA.

OpenEmbedded has a stand at FOSDEM. If you will be there stop by and say
hi, or better yet, help man the stand for a while.

http://www.openembedded.org/wiki/FOSDEM_2013

Philip



This year the Yocto Project is focusing once again on ELC and will again be
hosting a Developer Day (
http://events.linuxfoundation.org/events/embedded-linux-conference/yocto-project-developer-day)
on Tuesday, February 19.

Developer Day features talks and demos from Yocto Project engineers as well
as an opportunity to connect one-on-one with those engineers to discuss
issues you may be having with your own development process.

The Yocto Project is also pleased to participate in ELC. We are preparing a
booth and a BoF, and there are several talks on the schedule which mention
the Yocto Project. If you are coming to the conference, please stop by and
say hello, and consider joining us for Developer Day.



_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[RFC v4 13/13] (TEMPORARY): Use origin/timo branch of yocto docs project

Timo Mueller <mail@...>
 

From: Timo Mueller <timo.mueller@bmw-carit.de>

As the eclipse generation is currently not part of the master the
generation is always using the origin/timo branch to generate the
eclipse help. This patch is added for testing purposes only.

DO NOT MERGE THIS PATCH UPSTREAM - ONLY APPLY LOCALLY FOR TESTING

Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
---
scripts/generate-doc.sh | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/scripts/generate-doc.sh b/scripts/generate-doc.sh
index edbacae..a49a089 100755
--- a/scripts/generate-doc.sh
+++ b/scripts/generate-doc.sh
@@ -48,6 +48,11 @@ else
fi
PLUGIN_FOLDER=`readlink -f $2`

+# ====================================================================
+# TODO remove this section if eclipse generation is merged into master
+REFERENCE=origin/timo
+# ====================================================================
+
TOP=`pwd`

DOC_DIR=${PLUGIN_FOLDER}/docs
--
1.7.11.7


[RFC v4 12/13] scripts/build.sh: Add documentation generation to the default build

Timo Mueller <mail@...>
 

From: Timo Mueller <timo.mueller@bmw-carit.de>

When building the plugin the matching documentation is automatically
generated and added to the user.doc plugin prior to the plugin build.

Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
---
scripts/build.sh | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/scripts/build.sh b/scripts/build.sh
index 66973e9..41e6793 100755
--- a/scripts/build.sh
+++ b/scripts/build.sh
@@ -130,6 +130,13 @@ git checkout origin/${BRANCH} || fail $? "git checkout origin/${BRANCH}"
git checkout ${TAG} || fail $? "git checkout ${TAG}"
cd ${TOP}

+# generate and add documentation
+if [ "${TAG}" = "HEAD" ]; then
+ ${GIT_DIR}/scripts/generate-doc.sh ${BRANCH} ${GIT_DIR}
+else
+ ${GIT_DIR}/scripts/generate-doc.sh -t ${TAG} ${GIT_DIR}
+fi
+
#build
java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.bc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build"
java -jar ${LAUNCHER} -application org.eclipse.ant.core.antRunner -buildfile ${BUILDFILE} -DbaseLocation=${ECLIPSE_BASE} -Dbuilder=${GIT_DIR}/features/org.yocto.doc.headless.build -DbuildDirectory=${BUILD_DIR} -DotherSrcDirectory=${GIT_DIR} -DbuildId=${RELEASE} || fail $? "normal build"
--
1.7.11.7


[RFC v4 11/13] scripts/generate-doc.sh: Copy generated eclipse help into the user.doc plugin

Timo Mueller <mail@...>
 

From: Timo Mueller <timo.mueller@bmw-carit.de>

After successful generation the eclipse help files and the table of
contents of each manual are copied to the user.doc plugin.

Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
---
scripts/generate-doc.sh | 2 ++
1 file changed, 2 insertions(+)

diff --git a/scripts/generate-doc.sh b/scripts/generate-doc.sh
index 096d08e..edbacae 100755
--- a/scripts/generate-doc.sh
+++ b/scripts/generate-doc.sh
@@ -77,6 +77,8 @@ fi

for DOC in ${DOCS}; do
make DOC=${DOC} eclipse
+ cp -rf ${DOC}/eclipse/html/* ${DOC_HTML_DIR}
+ cp -f ${DOC}/eclipse/${DOC}-toc.xml ${DOC_HTML_DIR}
done

sed -e "s/@.*@/${COMMIT_ID}/" < ${DOC_PLUGIN_DIR}/about.html.in > ${DOC_PLUGIN_DIR}/about.html
--
1.7.11.7


[RFC v4 10/13] plugins/sdk.ide.doc.user: Add yocto documentation to the table of contents

Timo Mueller <mail@...>
 

From: Timo Mueller <timo.mueller@bmw-carit.de>

The separate yocto manuals are added to the table of contents to
prepare their inclusion into the plugin.

Signed-off-by: Timo Mueller <timo.mueller@bmw-carit.de>
---
plugins/org.yocto.doc.user/plugin.xml | 24 ++++++++++++++++++++++++
plugins/org.yocto.doc.user/toc.xml | 18 ++++++++++++++++++
2 files changed, 42 insertions(+)

diff --git a/plugins/org.yocto.doc.user/plugin.xml b/plugins/org.yocto.doc.user/plugin.xml
index 8353cd1..69fb625 100644
--- a/plugins/org.yocto.doc.user/plugin.xml
+++ b/plugins/org.yocto.doc.user/plugin.xml
@@ -7,5 +7,29 @@
file="toc.xml"
primary="true">
</toc>
+ <toc
+ file="html/adt-manual-toc.xml"
+ primary="false">
+ </toc>
+ <toc
+ file="html/yocto-project-qs-toc.xml"
+ primary="false">
+ </toc>
+ <toc
+ file="html/dev-manual-toc.xml"
+ primary="false">
+ </toc>
+ <toc
+ file="html/poky-ref-manual-toc.xml"
+ primary="false">
+ </toc>
+ <toc
+ file="html/bsp-guide-toc.xml"
+ primary="false">
+ </toc>
+ <toc
+ file="html/kernel-manual-toc.xml"
+ primary="false">
+ </toc>
</extension>
</plugin>
diff --git a/plugins/org.yocto.doc.user/toc.xml b/plugins/org.yocto.doc.user/toc.xml
index 4998ef3..ea039f4 100644
--- a/plugins/org.yocto.doc.user/toc.xml
+++ b/plugins/org.yocto.doc.user/toc.xml
@@ -1,3 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<toc label="Yocto Project Documentation">
+ <topic label="Yocto Project Quick Start">
+ <link toc="html/yocto-project-qs-toc.xml"/>
+ </topic>
+ <topic label="Yocto·Project·Application·Developer&apos;s·Guide">
+ <link toc="html/adt-manual-toc.xml"/>
+ </topic>
+ <topic label="Yocto Project Development Manual">
+ <link toc="html/dev-manual-toc.xml"/>
+ </topic>
+ <topic label="Yocto Project Reference Manual">
+ <link toc="html/poky-ref-manual-toc.xml"/>
+ </topic>
+ <topic label="Yocto Project Board Support Package Developer&apos;s Guide">
+ <link toc="html/bsp-guide-toc.xml"/>
+ </topic>
+ <topic label="Yocto Project Kernel Architecture and Use Manual">
+ <link toc="html/kernel-manual-toc.xml"/>
+ </topic>
</toc>
--
1.7.11.7