Date   

Re: sysroot for use with GDB

Mark Hatle <mark.hatle@...>
 

On 12/5/12 6:38 AM, Wolfgang Denk wrote:
Hello,

nobody here who could help out?

In message <20121203124234.6327B200FF8@...> I wrote:

according to the documentation [1] the right way to debug applications
on the target is to load the target library information in GDB using

set solib-absolute-prefix /path/to/tmp/rootfs

i. e. referring it to the libraries in the target root file system
image. Assuming the target root file system uses by defualt stripped
libraries, we need to set up a copy of the rootfs with debug
information included.

But do we really have to? Why cannot we use the libraries present in
the SDK's sysroot directory (i. e. what OECORE_TARGET_SYSROOT points
to) ?
It appears that documentation and code are inconsistent; at least the
eclipse plugin generates a .gdbinit script which contains a

set sysroot /opt/poky/1.3/sysroots/armv7a-vfp-neon-poky-linux-gnueabi

statement, i. e. it uses OECORE_TARGET_SYSROOT as I thought should
work - but it doesn't.

Trying to do so, we see that it fails. Our current suspicion is that
maybe prelinking of the target images and libraries introduces some
incompatibility. Is this a reasonable assumption, and if so, is this
a problem that should be fixed, or unavoidable for some reason? Or is
there a problem with the libraries in OECORE_TARGET_SYSROOT ?
Prelinking should not cause a problem. GDB knows how to translate the debuginfo addresses to the end runtime addresses.

The only thing I've seen in the past that has caused a problem is when the dbg stuff was not installed into the sysroot. GDB will fall back into loading the binaries from the sysroot, which will not contain the debug info causing problems.

It's best if you can set the sysroot to the same filesystem as being executed, but if you can't this is reasonable.

All help welcome - thanks in advance.

[1] http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#platdev-gdb-remotedebug-launch-gdb
OK, guess I should enter a bug in bugzilla, then?


Best regards,

Wolfgang Denk


Re: mail list for Xilinx Zynq platform?

Philip Balister
 

On 12/05/2012 10:30 AM, Bruce Ashfield wrote:
On 12-12-05 01:15 PM, Philip Balister wrote:
On 12/05/2012 06:46 AM, Bruce Ashfield wrote:
On 12-12-05 09:42 AM, Elvis Dowson wrote:
...


Thanks! Should we go ahead and set the list up so interested parties can
start coordinating our existing work?
I'm good with that. It's no big commitment to anything in particular
to have list available, and hopefully it'll serve to draw the right
folks into the conversation.
Micheal, can you set up a mailing list "mete-zynq" for us? Also, please add this to gmane for people that prefer to read via nntp.

Thanks,

Philip


Cheers,

Bruce


Philip


Cheers,

Bruce


Also, try to ensure that you don't put both the meta-layers in your
bblayers.conf file
while building, and ensure that you set machine as follows in your
local.conf file

MACHINE ?= "zynq-zc702"

Do let me know how it goes!

Best regards,

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



Re: mail list for Xilinx Zynq platform?

Bruce Ashfield <bruce.ashfield@...>
 

On 12-12-05 01:15 PM, Philip Balister wrote:
On 12/05/2012 06:46 AM, Bruce Ashfield wrote:
On 12-12-05 09:42 AM, Elvis Dowson wrote:
Hi,

On Dec 5, 2012, at 5:21 PM, Andreas Schweigstill
<andreas@...> wrote:

I have also tried to build a kernel and root filesystem for Zynq but
the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu.
I tried
Poky denzil and Poky danny.

Also the alternate meta-zynq layer from git.yoctoproject.org shows
the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?
From you messages, I infer that you are using the meta-zynq layer
located here:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/

For my builds, I used Philip Ballister's meta-zynq layer located here
for the simple reason that it uses xilinx git repository:

https://github.com/balister/meta-zynq
And in case anyone is wondering, efforts are (still) underway to
get a single unified layer for this board (and others), but getting
all the moving parts organized is taking a bit longer than expected
or than we would like.
Thanks! Should we go ahead and set the list up so interested parties can
start coordinating our existing work?
I'm good with that. It's no big commitment to anything in particular
to have list available, and hopefully it'll serve to draw the right
folks into the conversation.

Cheers,

Bruce


Philip


Cheers,

Bruce


Also, try to ensure that you don't put both the meta-layers in your
bblayers.conf file
while building, and ensure that you set machine as follows in your
local.conf file

MACHINE ?= "zynq-zc702"

Do let me know how it goes!

Best regards,

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


Re: mail list for Xilinx Zynq platform?

Philip Balister
 

On 12/05/2012 05:21 AM, Andreas Schweigstill wrote:
Hello!

I personally have used Philip's meta-zynq layer to build a working u-boot and
linux kernel image using Yocto. It works really well.
I have also tried to build a kernel and root filesystem for Zynq but the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu. I tried
Poky denzil and Poky danny.
Also, try these instructions. Note they do not use the meta-yocto shim layer (sorry, my customer has been taunting me again).

I feel like the meta-yocto layer is "forcing" the use of "standard" kernels.

Philip


Also the alternate meta-zynq layer from git.yoctoproject.org shows the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?

With best regards,
Andreas Schweigstill

​--
Dipl.-Phys. Andreas Schweigstill
Schweigstill IT | Embedded Systems
Schauenburgerstraße 116, D-24118 Kiel, Germany
Phone: (+49) 431 530354-35, Fax: (+49) 431 530354-36
Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Re: mail list for Xilinx Zynq platform?

Philip Balister
 

On 12/05/2012 05:21 AM, Andreas Schweigstill wrote:
Hello!

I personally have used Philip's meta-zynq layer to build a working u-boot and
linux kernel image using Yocto. It works really well.
I have also tried to build a kernel and root filesystem for Zynq but the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu. I tried
Poky denzil and Poky danny.

Also the alternate meta-zynq layer from git.yoctoproject.org shows the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?
Urg, I'll have to take a look at that.

Also, you'll need an updated fsbl in the BOOT.BIN file to work with the later kernels. We should probably post one somewhere, although I wish the fsbl license was a little less restrictive.

Philip



With best regards,
Andreas Schweigstill

​--
Dipl.-Phys. Andreas Schweigstill
Schweigstill IT | Embedded Systems
Schauenburgerstraße 116, D-24118 Kiel, Germany
Phone: (+49) 431 530354-35, Fax: (+49) 431 530354-36
Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/
_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Re: mail list for Xilinx Zynq platform?

Philip Balister
 

On 12/05/2012 06:46 AM, Bruce Ashfield wrote:
On 12-12-05 09:42 AM, Elvis Dowson wrote:
Hi,

On Dec 5, 2012, at 5:21 PM, Andreas Schweigstill
<andreas@...> wrote:

I have also tried to build a kernel and root filesystem for Zynq but
the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu.
I tried
Poky denzil and Poky danny.

Also the alternate meta-zynq layer from git.yoctoproject.org shows
the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?
From you messages, I infer that you are using the meta-zynq layer
located here:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/

For my builds, I used Philip Ballister's meta-zynq layer located here
for the simple reason that it uses xilinx git repository:

https://github.com/balister/meta-zynq
And in case anyone is wondering, efforts are (still) underway to
get a single unified layer for this board (and others), but getting
all the moving parts organized is taking a bit longer than expected
or than we would like.
Thanks! Should we go ahead and set the list up so interested parties can start coordinating our existing work?

Philip


Cheers,

Bruce


Also, try to ensure that you don't put both the meta-layers in your
bblayers.conf file
while building, and ensure that you set machine as follows in your
local.conf file

MACHINE ?= "zynq-zc702"

Do let me know how it goes!

Best regards,

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


Re: [meta-baryon][PATCH 1/1] proftpd: conditionally remove /usr/libexec

Paul Eggleton
 

On Monday 03 December 2012 15:22:42 Kevin Strasser wrote:
As of poky commit id 1d18224b24a515a07170ce36dbd725cb203d3300
libexecdir has been changed to ${libdir}/${BPN} which is typically
/usr/lib. This change introduces a check to see if /usr/libexec is
being used before attempting to remove it.

Fixes [YOCTO #3504]

Signed-off-by: Kevin Strasser <kevin.strasser@...>
---
recipes-extended/proftpd/proftpd_1.3.4b.bb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/recipes-extended/proftpd/proftpd_1.3.4b.bb
b/recipes-extended/proftpd/proftpd_1.3.4b.bb index 8ebafbf..2b2b4e2 100644
--- a/recipes-extended/proftpd/proftpd_1.3.4b.bb
+++ b/recipes-extended/proftpd/proftpd_1.3.4b.bb
@@ -34,7 +34,10 @@ FTPGROUP = "ftp"

do_install () {
oe_runmake DESTDIR=${D} install
- rmdir ${D}${libexecdir} ${D}${libdir}/proftpd ${D}${datadir}/locale
+ rmdir ${D}${libdir}/proftpd ${D}${datadir}/locale
+ if [ -d ${D}/usr/libexec ] ; then
+ rmdir ${D}/usr/libexec
+ fi
sed -i '/ *User[ \t]*/s/ftp/${FTPUSER}/' ${D}${sysconfdir}/proftpd.conf
sed -i '/ *Group[ \t]*/s/ftp/${FTPGROUP}/' ${D}${sysconfdir}/proftpd.conf
install -d ${D}${sysconfdir}/init.d
Applied, thanks. I've also sent this over to be applied to meta-networking.

Cheers,
Paul

--

Paul Eggleton
Intel Open Source Technology Centre


[PATCH 2/2] Fix synchronous waiting for command prompt in Linux & connection lost when restarting

Ioana Grigoropol <ioanax.grigoropol@...>
 

- when waiting for an command to finish running, we wait to receive a command prompt using the syntax user@host....endChar. This pattern is not always encountered on local or remote connection from linux to linux. Instead echo some terminator value after each command and wait for recieve the value.

- when working on a Linux machine and creating a project using the Local connection, after a restart, the RSE registry fails to find the project's connection using its URI because there is no host set. Manually set the current connection to Localhost

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@...>
---
.../src/org/yocto/bc/bitbake/BBSession.java | 2 +
.../src/org/yocto/bc/bitbake/ShellSession.java | 24 ++----
.../yocto/bc/remote/utils/ProcessStreamBuffer.java | 14 ++--
.../org/yocto/bc/remote/utils/RemoteHelper.java | 14 ++--
.../remote/utils/YoctoHostShellProcessAdapter.java | 28 +------
.../src/org/yocto/bc/ui/Activator.java | 79 ++++++--------------
.../src/org/yocto/bc/ui/model/ProjectInfo.java | 4 +
.../bc/ui/wizards/NewBitBakeFileRecipeWizard.java | 7 +-
.../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 15 ++--
9 files changed, 60 insertions(+), 127 deletions(-)

diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java
index c5354a4..3aa4efe 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/BBSession.java
@@ -439,6 +439,8 @@ public class BBSession implements IBBSessionListener, IModelElement, Map {
}

protected void parse(String content, Map outMap) throws Exception {
+ if (content == null)
+ return;
BufferedReader reader = new BufferedReader(new StringReader(content));
String line;
boolean inLine = false;
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java
index f143bed..c127c25 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/bitbake/ShellSession.java
@@ -81,24 +81,13 @@ public class ShellSession {
this.projectInfo = pInfo;
this.root = root;
this.initCmd = initCmd;
-// if (out == null) {
-// this.out = new NullWriter();
-// } else {
-// this.out = out;
-// }
-// if (shellType == SHELL_TYPE_SH) {
-// shellPath = "/bin/sh";
-// }
-// shellPath = "/bin/bash";
-
initializeShell(new NullProgressMonitor());
}

private void initializeShell(IProgressMonitor monitor) throws IOException {
try {
- IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName());
- RemoteHelper.runCommandRemote(connection, new YoctoCommand("source " + initCmd, root.getAbsolutePath(), ""));
- RemoteHelper.runCommandRemote(connection, new YoctoCommand(exportCmd, root.getAbsolutePath(), ""));
+ RemoteHelper.runCommandRemote(projectInfo.getConnection(), new YoctoCommand("source " + initCmd, root.getAbsolutePath(), ""));
+ RemoteHelper.runCommandRemote(projectInfo.getConnection(), new YoctoCommand(exportCmd, root.getAbsolutePath(), ""));
} catch (Exception e) {
e.printStackTrace();
}
@@ -113,9 +102,12 @@ public class ShellSession {
public String execute(String command, boolean hasErrors) throws IOException {

try {
- IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName());
- hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", ""));
- return RemoteHelper.getProcessBuffer(connection).getMergedOutputLines();
+ if (projectInfo.getConnection() != null) {
+ IHost connection = RemoteHelper.getRemoteConnectionByName(projectInfo.getConnection().getName());
+ hasErrors = RemoteHelper.runCommandRemote(connection, new YoctoCommand(command, root.getAbsolutePath() + "/build/", ""));
+ return RemoteHelper.getProcessBuffer(connection).getMergedOutputLines();
+ }
+ return null;
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/ProcessStreamBuffer.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/ProcessStreamBuffer.java
index 438a5b4..2c6d122 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/ProcessStreamBuffer.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/ProcessStreamBuffer.java
@@ -2,6 +2,7 @@ package org.yocto.bc.remote.utils;

import java.util.ArrayList;
import java.util.List;
+import java.util.regex.Pattern;

public class ProcessStreamBuffer {
private static final String WHITESPACES = "\\s+";
@@ -54,17 +55,16 @@ public class ProcessStreamBuffer {
return null;
}

- public String getOutputLineContaining(String str) {
- int index = 0;
+ public String getOutputLineContaining(String arg, String pattern) {
for (int i = outputLines.size() - 1; i >= 0; i--){
String line = outputLines.get(i);
- if (line.contains(str)) {
- index = i + 1;
- break;
+ if (line.contains(arg)) {
+ String[] tokens = line.split("\\s+");
+ if (Pattern.matches(pattern, tokens[0])) {
+ return tokens[0];
+ }
}
}
- if (index >= 0 && index < outputLines.size())
- return outputLines.get(index);
return null;
}
}
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java
index f375de1..c230fd6 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/RemoteHelper.java
@@ -45,6 +45,7 @@ import org.yocto.bc.ui.Activator;
import org.yocto.bc.ui.wizards.install.Messages;

public class RemoteHelper {
+ public static final String TERMINATOR = "234o987dsfkcqiuwey18837032843259d";
public static final int TOTALWORKLOAD = 100;
private static Map<IHost, RemoteMachine> machines;

@@ -95,9 +96,11 @@ public class RemoteHelper {
return null;

String host = uri.getHost();
- if (host == null)
- return null;
-
+ if (host == null) {
+ // this is a local connection
+ ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
+ return sr.getLocalHost();
+ }
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
IHost[] connections = sr.getHosts();

@@ -259,8 +262,9 @@ public class RemoteHelper {
public void run() {
try {
YoctoHostShellProcessAdapter adapter = getHostShellProcessAdapter(connection);
- adapter.setLastCommand(remoteCommand);
- getHostShell(connection).writeToShell(remoteCommand);
+ String fullRemoteCommand = remoteCommand + "; echo " + TERMINATOR + ";";
+ adapter.setLastCommand(fullRemoteCommand);
+ getHostShell(connection).writeToShell(fullRemoteCommand);
while (!adapter.isFinished())
Thread.sleep(2);
// return hostShellProcessAdapter.hasErrors();
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java
index 2dba0a6..bb137b1 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java
@@ -17,10 +17,6 @@ import org.eclipse.rse.services.shells.IHostShellOutputReader;
import org.eclipse.swt.widgets.Display;

public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
- private String commandPrompt = null;
- private static final String ROOT = "root";
- private static final String PROMPT_USER_CH = "$";
- private static final String PROMPT_ROOT_CH = "#";
private ProcessStreamBuffer processStreamBuffer;
private CommandResponseHandler commandResponseHandler;
private boolean isFinished;
@@ -30,7 +26,6 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {

private String command;
private Map<String, IProgressMonitor> commandMonitors;
- private String endChar = null;

private Semaphore sem;

@@ -57,9 +52,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
isFinished = false;
sem.acquire();
this.command = lastCommand.trim();
- System.out.println("last command " + lastCommand + getOwnMonitor());
this.commandMonitors.put(command, getOwnMonitor());
-
} catch (InterruptedException e) {
e.printStackTrace();
}
@@ -145,7 +138,6 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
if (value.isEmpty()) {
continue;
}
- setCommandPrompt(value);
System.out.println(value);
this.processStreamBuffer.addErrorLine(value);
this.commandResponseHandler.response(value, false);
@@ -156,11 +148,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
if (value.isEmpty()) {
continue;
}
- setCommandPrompt(value);
-
- if (commandPrompt != null && endChar != null && command != null && processStreamBuffer != null &&
- value.startsWith(commandPrompt) && value.endsWith(endChar) &&
- !value.endsWith(command) && processStreamBuffer.getLastOutputLineContaining(command) != null /*&& waitForOutput*/) {
+ if (value.endsWith(RemoteHelper.TERMINATOR)) {
sem.release();
isFinished = true;
}
@@ -173,20 +161,6 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
}

}
- private void setCommandPrompt(String value) {
- if (commandPrompt == null) {
- if (value.startsWith(ROOT) && value.indexOf(PROMPT_ROOT_CH) != -1) {
- int end = value.indexOf(PROMPT_ROOT_CH);
- commandPrompt = value.substring(0, end);
- endChar = PROMPT_ROOT_CH;
- } else if (value.indexOf(PROMPT_USER_CH) != -1) {
- int end = value.indexOf(PROMPT_USER_CH);
- commandPrompt = value.substring(0, end);
- endChar = PROMPT_USER_CH;
- }
-
- }
- }
public boolean isFinished() {
return isFinished;
}
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/Activator.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/Activator.java
index 64ca6a7..48c59d5 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/Activator.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/Activator.java
@@ -24,10 +24,8 @@ import org.eclipse.core.resources.IResourceChangeListener;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.rse.core.model.IHost;
import org.eclipse.rse.services.files.IHostFile;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
@@ -68,7 +66,7 @@ public class Activator extends AbstractUIPlugin {

return recipe;
}
-
+
/**
* Get or create a BitBake session passing in ProjectInfo
* @param pinfo
@@ -80,40 +78,36 @@ public class Activator extends AbstractUIPlugin {
if (bbSessionMap == null) {
bbSessionMap = new Hashtable<URI, BBSession>();
}
-
- BBSession bbs = (BBSession) bbSessionMap.get(projectRoot);
-
+
+ BBSession bbs = bbSessionMap.get(projectRoot);
+
if (bbs == null) {
bbs = new BBSession(getShellSession(projectInfo, out, monitor), projectRoot);
bbSessionMap.put(projectRoot, bbs);
}
-
+
return bbs;
}
-
+
/**
* Get or create a BitBake session passing in ProjectInfo
* @param pinfo
* @return
- * @throws Exception
+ * @throws Exception
*/
public static BBSession getBBSession(ProjectInfo projectInfo, IProgressMonitor monitor) throws Exception {
URI projectRoot = projectInfo.getURI();
if (bbSessionMap == null) {
bbSessionMap = new Hashtable<URI, BBSession>();
}
-
- BBSession bbs = (BBSession) bbSessionMap.get(projectRoot);
-
+
+ BBSession bbs = bbSessionMap.get(projectRoot);
+
if (bbs == null) {
bbs = new BBSession(getShellSession(projectInfo, null, monitor), projectRoot);
bbSessionMap.put(projectRoot, bbs);
- } else {
- if (projectInfo.getConnection() == null) {
- throw new Exception("The remote connection is null!");
- }
}
-
+
return bbs;
}

@@ -141,9 +135,7 @@ public class Activator extends AbstractUIPlugin {
if (projInfoMap == null) {
projInfoMap = new Hashtable<URI, ProjectInfo>();
}
-
- ProjectInfo pi = (ProjectInfo) projInfoMap.get(location);
-
+ ProjectInfo pi = projInfoMap.get(location);
if (pi == null) {
pi = new ProjectInfo();
pi.setLocation(location);
@@ -152,13 +144,10 @@ public class Activator extends AbstractUIPlugin {
} catch (IOException e) {
throw new InvocationTargetException(e);
}
- if (pi.getConnection() == null) {
- IHost connection = RemoteHelper.getRemoteConnectionForURI(location, new NullProgressMonitor());
- pi.setConnection(connection);
- }
+
projInfoMap.put(location, pi);
}
-
+
return pi;
}

@@ -175,7 +164,7 @@ public class Activator extends AbstractUIPlugin {
if(bbSessionMap != null) {
iter= bbSessionMap.values().iterator();
while(iter.hasNext()) {
- BBSession p = (BBSession)iter.next();
+ BBSession p = iter.next();
p.changeNotified(added, removed, changed);
}
}
@@ -184,56 +173,31 @@ public class Activator extends AbstractUIPlugin {
/**
* @param absolutePath
* @return a cached shell session for a given project root.
- * @throws IOException
+ * @throws IOException
*/
private static ShellSession getShellSession(ProjectInfo projInfo, Writer out, IProgressMonitor monitor) throws IOException {
URI absolutePath = projInfo.getURI();
if (shellMap == null) {
shellMap = new Hashtable<String, ShellSession>();
}
-
- ShellSession ss = (ShellSession) shellMap.get(absolutePath);
-
+
+ ShellSession ss = shellMap.get(absolutePath);
+
if (ss == null) {
-// if (conn == null)
-// RemoteHelper.getRemoteConnectionByName();
IHostFile remoteHostFile = RemoteHelper.getRemoteHostFile(projInfo.getConnection(), absolutePath.getPath(), monitor);
ss = new ShellSession(projInfo, ShellSession.SHELL_TYPE_BASH, remoteHostFile, ProjectInfoHelper.getInitScriptPath(absolutePath), out);
}
-
+
return ss;
}

-// private static String loadInit(String absolutePath) throws CoreException {
-// IProject [] prjs = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-// IProject foundPrj = null;
-//
-// for (int i = 0; i < prjs.length; ++i) {
-// IProject p = prjs[i];
-//
-// System.out
-// .println(p.getDescription().getLocationURI().getPath());
-//
-// if (p.getDescription().getLocationURI().getPath().equals(absolutePath)) {
-// foundPrj = p;
-// break;
-// }
-// }
-//
-// if (foundPrj == null) {
-// throw new RuntimeException("Unable to find project associated with path! " + absolutePath);
-// }
-//
-// return foundPrj.getPersistentProperty(CreateBBCProjectOperation.BBC_PROJECT_INIT);
-// }
-
public static void putProjInfo(URI location, ProjectInfo pinfo) {
if (projInfoMap == null) {
projInfoMap = new Hashtable<URI, ProjectInfo>();
}
projInfoMap.put(location, pinfo);
}
-
+
/**
* The constructor
*/
@@ -273,6 +237,7 @@ public class Activator extends AbstractUIPlugin {
bbSessionMap.remove(path);
}

+ @Override
protected void initializeImageRegistry(ImageRegistry reg) {
reg.put(IMAGE_VARIABLE, Activator.getImageDescriptor("icons/variable.gif"));
reg.put(IMAGE_FUNCTION, Activator.getImageDescriptor("icons/function.gif"));
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/model/ProjectInfo.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/model/ProjectInfo.java
index 5fc4ba2..4530bb3 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/model/ProjectInfo.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/model/ProjectInfo.java
@@ -13,6 +13,7 @@ package org.yocto.bc.ui.model;
import java.net.URI;

import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.ptp.remote.core.IRemoteConnection;
import org.eclipse.ptp.remote.core.IRemoteServices;
import org.eclipse.rse.core.model.IHost;
@@ -58,6 +59,9 @@ public class ProjectInfo implements IModelElement {
}

public IHost getConnection() {
+ if (connection == null) {
+ connection = RemoteHelper.getRemoteConnectionForURI(location, new NullProgressMonitor());
+ }
return connection;
}

diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizard.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizard.java
index 57cad18..8457996 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizard.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizard.java
@@ -118,10 +118,7 @@ public class NewBitBakeFileRecipeWizard extends Wizard implements INewWizard {
IProject p = ((IResource)element).getProject();
try {
ProjectInfo projInfo = Activator.getProjInfo(p.getLocationURI());
- if (projInfo.getConnection() == null)
- this.connection = RemoteHelper.getRemoteConnectionForURI(p.getLocationURI(), new NullProgressMonitor());
- else
- this.connection = projInfo.getConnection();
+ this.connection = projInfo.getConnection();
} catch (CoreException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
@@ -205,7 +202,7 @@ public class NewBitBakeFileRecipeWizard extends Wizard implements INewWizard {
public void run(IProgressMonitor monitor) throws InvocationTargetException {
try {
doFinish(element, monitor);
- RemoteHelper.runCommandRemote(connection, new YoctoCommand("rm -rf temp", element.getMetaDir() + "/temp", ""));
+ RemoteHelper.runCommandRemote(connection, new YoctoCommand("rm -rf " + element.getMetaDir() + "/temp", "", ""));
} catch (Exception e) {
throw new InvocationTargetException(e);
} finally {
diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java
index e9dc1f3..a52c2fe 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/NewBitBakeFileRecipeWizardPage.java
@@ -397,22 +397,17 @@ public class NewBitBakeFileRecipeWizardPage extends WizardPage {
updateSrcUri(mirrorTable, srcURI);
populateInheritance(extractDir, monitor);

- String md5Val = retrieveSum(md5YCmd);
+ String md5Val = retrieveSum(srcFileNameExt, md5Pattern);
md5sumText.setText(Pattern.matches(md5Pattern, md5Val) ? md5Val : "");
- String sha256Val = retrieveSum(sha256YCmd);
+ String sha256Val = retrieveSum(srcFileNameExt, sha256Pattern);
sha256sumText.setText(Pattern.matches(sha256Pattern, sha256Val) ? sha256Val : "");
- String checkSumVal = retrieveSum(licenseChecksumCmd);
+ String checkSumVal = retrieveSum(COPYING_FILE, md5Pattern);
checksumText.setText(RemoteHelper.createNewURI(extractDir, COPYING_FILE).toString() + ";md5=" + (Pattern.matches(md5Pattern, checkSumVal) ? checkSumVal : ""));
}

- private String retrieveSum(YoctoCommand cmd) {
+ private String retrieveSum(String arg, String pattern) {
ProcessStreamBuffer buffer = RemoteHelper.getProcessBuffer(this.connection);
- String line = buffer.getOutputLineContaining(cmd.getCommand());
- if (line != null) {
- String[] tokens = line.split(WHITESPACES);
- return tokens[0];
- }
- return "";
+ return buffer.getOutputLineContaining(arg, pattern);
}

private URI extractPackage(URI srcURI) {
--
1.7.9.5


[PATCH 1/2] Remove validation for existing git repository

Ioana Grigoropol <ioanax.grigoropol@...>
 

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@...>
---
.../yocto/bc/ui/wizards/install/OptionsPage.java | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java
index 37c12f8..9e94aea 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/install/OptionsPage.java
@@ -170,11 +170,11 @@ public class OptionsPage extends FiniteStateWizardPage {
setErrorMessage("Directory " + projectPath + " does not exist, please select git clone.");
return false;
}
- IHostFile gitDescr = RemoteHelper.getRemoteHostFile(connection, projectPath + "/.git", new NullProgressMonitor());
- if (gitDescr == null || !gitDescr.exists()) {
- setErrorMessage("Directory " + projectPath + " does not contain a git repository, please select git clone.");
- return false;
- }
+// IHostFile gitDescr = RemoteHelper.getRemoteHostFile(connection, projectPath + "/.git", new NullProgressMonitor());
+// if (gitDescr == null || !gitDescr.exists()) {
+// setErrorMessage("Directory " + projectPath + " does not contain a git repository, please select git clone.");
+// return false;
+// }

IHostFile validationFile = RemoteHelper.getRemoteHostFile(connection, projectPath + URI_SEPARATOR + InstallWizard.VALIDATION_FILE, new NullProgressMonitor());
if (validationFile == null || !validationFile.exists()) {
--
1.7.9.5


[PATCH 0/2] [eclipse-poky-windows] Fix validation & command running on Linux

Ioana Grigoropol <ioanax.grigoropol@...>
 

- Skip validating an existing git repo and only perform some "sanity" checks
- When waiting for a command to finish executing do not use the command prompt because it can change depending on the target & the connection; instead use a terminator to mark the end of the command execution
- When running from Linux and using a Local connection, after restarting Eclipse RSE does not find the connection - fix it by manually checking for the localhost connection

Ioana Grigoropol (2):
Remove validation for existing git repository
Fix synchronous waiting for command prompt in Linux & connection lost
when restarting

.../src/org/yocto/bc/bitbake/BBSession.java | 2 +
.../src/org/yocto/bc/bitbake/ShellSession.java | 24 ++----
.../yocto/bc/remote/utils/ProcessStreamBuffer.java | 14 ++--
.../org/yocto/bc/remote/utils/RemoteHelper.java | 14 ++--
.../remote/utils/YoctoHostShellProcessAdapter.java | 28 +------
.../src/org/yocto/bc/ui/Activator.java | 79 ++++++--------------
.../src/org/yocto/bc/ui/model/ProjectInfo.java | 4 +
.../bc/ui/wizards/NewBitBakeFileRecipeWizard.java | 7 +-
.../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 15 ++--
.../yocto/bc/ui/wizards/install/OptionsPage.java | 10 +--
10 files changed, 65 insertions(+), 132 deletions(-)

--
1.7.9.5


Re: mail list for Xilinx Zynq platform?

Bruce Ashfield <bruce.ashfield@...>
 

On 12-12-05 09:42 AM, Elvis Dowson wrote:
Hi,

On Dec 5, 2012, at 5:21 PM, Andreas Schweigstill <andreas@...> wrote:

I have also tried to build a kernel and root filesystem for Zynq but the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu. I tried
Poky denzil and Poky danny.

Also the alternate meta-zynq layer from git.yoctoproject.org shows the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?
From you messages, I infer that you are using the meta-zynq layer
located here:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/

For my builds, I used Philip Ballister's meta-zynq layer located here
for the simple reason that it uses xilinx git repository:

https://github.com/balister/meta-zynq
And in case anyone is wondering, efforts are (still) underway to
get a single unified layer for this board (and others), but getting
all the moving parts organized is taking a bit longer than expected
or than we would like.

Cheers,

Bruce


Also, try to ensure that you don't put both the meta-layers in your bblayers.conf file
while building, and ensure that you set machine as follows in your local.conf file

MACHINE ?= "zynq-zc702"

Do let me know how it goes!

Best regards,

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


Re: mail list for Xilinx Zynq platform?

Elvis Dowson
 

Hi,

On Dec 5, 2012, at 5:21 PM, Andreas Schweigstill <andreas@...> wrote:

I have also tried to build a kernel and root filesystem for Zynq but the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu. I tried
Poky denzil and Poky danny.

Also the alternate meta-zynq layer from git.yoctoproject.org shows the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?
From you messages, I infer that you are using the meta-zynq layer
located here:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-zynq/

For my builds, I used Philip Ballister's meta-zynq layer located here
for the simple reason that it uses xilinx git repository:

https://github.com/balister/meta-zynq

Also, try to ensure that you don't put both the meta-layers in your bblayers.conf file
while building, and ensure that you set machine as follows in your local.conf file

MACHINE ?= "zynq-zc702"

Do let me know how it goes!

Best regards,

Elvis Dowson


Re: recrdeptask not working correctly?

Jerrod Peach <peachj@...>
 

Any thoughts on this?  Should I log a bug in bugzilla, or am I just doing something wrong?


On Mon, Dec 3, 2012 at 10:57 AM, Jerrod Peach <peachj@...> wrote:
All,

I noticed the changes to recrdeptask from Yocto 1.2 to Yocto 1.3.  I saw a number of "all" tasks in the classes change like this:

-do_checkuriall[recrdeptask] = "do_checkuri"
+do_checkuriall[recrdeptask] = "do_checkuriall do_checkuri"

I have my own task that needs to work on all packages, and I assumed making the same change to my task would cause this to occur.  (Prior to this, I had noticed the task seemed to only be running on about 12 packages, where it used to run on about 60.)  So, I made the change, and indeed started running on more packages.  It only ran on about 45 packages though, which I found curious.  So, I dug a little deeper and had bitbake spit out pn-buildlist for me (with the -g option).  That list showed around 75 packages.  That meant I was still not running on a pretty large number of packages.  Then I ran checkurilall.  I noticed it, too, was running on the same list of packages as my task, i.e. NOT all of them.  

Has recrdeptask changed in some way that now prevents a task from running on all packages in a dependency graph recursively?  Was this intentional?  Is there some other (more preferable?) way for me to cause a task to run on all packages in a dependency graph?

Kind regards,

Jerrod


Re: mail list for Xilinx Zynq platform?

Andreas Schweigstill <andreas@...>
 

Hello!

I personally have used Philip's meta-zynq layer to build a working u-boot and
linux kernel image using Yocto. It works really well.
I have also tried to build a kernel and root filesystem for Zynq but the kernel
gets stuck when booting, regardless if on the ZC702 board or on Qemu. I tried
Poky denzil and Poky danny.

Also the alternate meta-zynq layer from git.yoctoproject.org shows the same
behaviour.

These are the last console messages which I get:
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-3.2.11-yocto-standard
Created: 2012-12-04 20:07:37 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2997472 Bytes = 2.9 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 01a80000
Booting using the fdt blob at 0x1a80000
Loading Device Tree to 0eff8000, end 0efff185 ... OK
Loading Kernel Image ... OK
OK
Loading Device Tree to 0efed000, end 0eff7185 ... OK

Starting kernel ...


Instead of using Linux kernel version 3.5-xilinx I always get
Linux-3.2.11-yocto-standard which is obviously missing the
Zynq patches.

meta-zynq/recipes-kernel-linux-zynq contains the following lines:
LINUX_VERSION ?= "3.5"
LINUX_VERSION_EXTENSION ?= "-xilinx"

How can I force Yocto to build kernel 3.5-xilinx?

With best regards,
Andreas Schweigstill

​--
Dipl.-Phys. Andreas Schweigstill
Schweigstill IT | Embedded Systems
Schauenburgerstraße 116, D-24118 Kiel, Germany
Phone: (+49) 431 530354-35, Fax: (+49) 431 530354-36
Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/


Re: sysroot for use with GDB

Wolfgang Denk <wd@...>
 

Hello,

In message <20121205123818.C17EB200FF2@...> I wrote:

OK, guess I should enter a bug in bugzilla, then?
Done that; please see Bug 3540 - remote target debugging broken

https://bugzilla.yoctoproject.org/show_bug.cgi?id=3540

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@...
I can type faster than I can move a mouse, so I find menu-driven
drawing packages time consuming and frustrating. - W. R. Stevens


Re: sysroot for use with GDB

Wolfgang Denk <wd@...>
 

Hello,

nobody here who could help out?

In message <20121203124234.6327B200FF8@...> I wrote:

according to the documentation [1] the right way to debug applications
on the target is to load the target library information in GDB using

set solib-absolute-prefix /path/to/tmp/rootfs

i. e. referring it to the libraries in the target root file system
image. Assuming the target root file system uses by defualt stripped
libraries, we need to set up a copy of the rootfs with debug
information included.

But do we really have to? Why cannot we use the libraries present in
the SDK's sysroot directory (i. e. what OECORE_TARGET_SYSROOT points
to) ?
It appears that documentation and code are inconsistent; at least the
eclipse plugin generates a .gdbinit script which contains a

set sysroot /opt/poky/1.3/sysroots/armv7a-vfp-neon-poky-linux-gnueabi

statement, i. e. it uses OECORE_TARGET_SYSROOT as I thought should
work - but it doesn't.

Trying to do so, we see that it fails. Our current suspicion is that
maybe prelinking of the target images and libraries introduces some
incompatibility. Is this a reasonable assumption, and if so, is this
a problem that should be fixed, or unavoidable for some reason? Or is
there a problem with the libraries in OECORE_TARGET_SYSROOT ?

All help welcome - thanks in advance.

[1] http://www.yoctoproject.org/docs/current/dev-manual/dev-manual.html#platdev-gdb-remotedebug-launch-gdb
OK, guess I should enter a bug in bugzilla, then?


Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@...
Humanity has the stars in its future, and that future is too
important to be lost under the burden of juvenile folly and ignorant
superstition. - Isaac Asimov


Re: [PATCH 0/3] [eclipse-poky] Eclipse plugin on Windows - fixes for progress update on wizards & input validation

Grigoropol, IoanaX <ioanax.grigoropol@...>
 

Hi Jessica,

I have apparently associated my Execution Environment 1.6 with a jre 1.7. I have sent a patch for the syntax error.
As for the error shown for the existing repository, I have sent a patch to validate the entries when switching between an existing repo and a new clone.
I think that we should perform some kind of validation on the existing repo (oe-build-env-init script exists, etc.) from the very creation of the project otherwise at some point things will stop working with bitbake and the user will not know why. Indeed, check for an existing git directory does not fall into this category and should be removed.

Thanks,
Ioana

-----Original Message-----
From: Zhang, Jessica
Sent: Wednesday, December 05, 2012 12:55 AM
To: Grigoropol, IoanaX; yocto@...
Subject: RE: [yocto] [PATCH 0/3] [eclipse-poky] Eclipse plugin on Windows - fixes for progress update on wizards & input validation

Hi Ioana,

There's issue as to syntax for YoctoHostShellProcessAdaptor since it's only supported by JDK version 1.7 and above. Also, when I tried the plugin on Linux, it still failed for creating a project for an existing metadata directory. With a not very clear error message " Directory /home/jzhang/poky contains a repository, please select validate repository" which is what I did. It seems we are calling out the git repository for bitbake commander project, which I don't think there's the need. I think we should preserve the existing interface that only provide user the option to clone a new one if there's the need. Otherwise, we should just validate the project repo behind the scene. And we shouldn't make the clone a new one as the default as the current implementation.

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Ioana Grigoropol
Sent: Tuesday, December 04, 2012 5:26 AM
To: yocto@...
Subject: [yocto] [PATCH 0/3] [eclipse-poky] Eclipse plugin on Windows - fixes for progress update on wizards & input validation

- Resending patches with proper header for eclipse-poky
- Include fixes for showing progress information for long time running tasks on wizards for Bitbake Commander project & Bitbake recipe
- Includes validation for the location & name of a new Bitbake Commander in a new repo clone or an existing one

Ioana Grigoropol (3):
Show progress bar for New Bitbake Commander project
Show progress bar for building new Recipe in Bitbake commander
perspective
Validate project name and location for Bitbake command project

.../src/org/yocto/bc/bitbake/ShellSession.java | 116 +++-----
.../yocto/bc/remote/utils/ProcessStreamBuffer.java | 3 +-
.../org/yocto/bc/remote/utils/RemoteHelper.java | 155 +++++------
.../org/yocto/bc/remote/utils/RemoteMachine.java | 4 +-
.../remote/utils/YoctoHostShellProcessAdapter.java | 136 +++++----- .../bc/remote/utils/YoctoRunnableWithProgress.java | 106 ++++++++
.../bc/ui/wizards/NewBitBakeFileRecipeWizard.java | 2 +-
.../ui/wizards/NewBitBakeFileRecipeWizardPage.java | 285 ++++++++++---------- .../yocto/bc/ui/wizards/install/InstallWizard.java | 113 ++------
.../yocto/bc/ui/wizards/install/OptionsPage.java | 178 ++++++------
.../BBConfigurationInitializeOperation.java | 6 +-
.../newproject/CreateBBCProjectOperation.java | 31 +--
12 files changed, 551 insertions(+), 584 deletions(-) create mode 100644 plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoRunnableWithProgress.java

--
1.7.9.5

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


[PATCH] Validate Bitbake Commander project when switching between new repo and existing one

Ioana Grigoropol <ioanax.grigoropol@...>
 

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@...>
---
.../yocto/bc/ui/wizards/FiniteStateWizardPage.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java
index 795a9c0..366ab1b 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/ui/wizards/FiniteStateWizardPage.java
@@ -106,7 +106,7 @@ public abstract class FiniteStateWizardPage extends WizardPage {
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
public void widgetSelected(SelectionEvent e) {
-// validate();
+ validate();
}

/*
--
1.7.9.5


[PATCH] Fix incompatibility with jre1.6 support for typed HashMap

Ioana Grigoropol <ioanax.grigoropol@...>
 

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@...>
---
.../remote/utils/YoctoHostShellProcessAdapter.java | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java
index 9ab43cf..2dba0a6 100644
--- a/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java
+++ b/plugins/org.yocto.bc.ui/src/org/yocto/bc/remote/utils/YoctoHostShellProcessAdapter.java
@@ -34,6 +34,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {

private Semaphore sem;

+
public YoctoHostShellProcessAdapter(IHostShell hostShell, ProcessStreamBuffer processStreamBuffer, CommandResponseHandler commandResponseHandler) throws IOException {
super(hostShell);
this.processStreamBuffer = processStreamBuffer;
@@ -41,7 +42,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
this.calculator = new GitCalculatePercentage();
this.sem = new Semaphore(1);
this.command = "";
- this.commandMonitors = new HashMap<>();
+ this.commandMonitors = new HashMap<String, IProgressMonitor>();
}

public String getLastCommand() {
@@ -50,7 +51,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {

public synchronized void setLastCommand(String lastCommand) {
try {
- // there are still some processes that might take a long time and if we do not wait for them,
+ // there are still some processes that might take a long time and if we do not wait for them,
// then the semaphore will not be released, because an interrupted exception will occur
Thread.sleep(2000);
isFinished = false;
@@ -70,6 +71,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {

private class GitCalculatePercentage implements ICalculatePercentage {
final Pattern pattern = Pattern.compile("^Receiving objects:\\s*(\\d+)%.*");
+ @Override
public float calWorkloadDone(String info) throws IllegalArgumentException {
Matcher m = pattern.matcher(info.trim());
if(m.matches()) {
@@ -88,13 +90,16 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
}

private void updateMonitor(final int work){
+
Display.getDefault().asyncExec(new Runnable() {
+
@Override
public void run() {
if (getMonitor() != null) {
getMonitor().worked(work);
}
}
+
});
}

@@ -124,7 +129,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
updateMonitor(delta);
reportedWorkload += delta;
}
-
+
if (reportedWorkload == RemoteHelper.TOTALWORKLOAD)
doneMonitor();
}
@@ -152,8 +157,9 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
continue;
}
setCommandPrompt(value);
+
if (commandPrompt != null && endChar != null && command != null && processStreamBuffer != null &&
- value.startsWith(commandPrompt) && value.endsWith(endChar) &&
+ value.startsWith(commandPrompt) && value.endsWith(endChar) &&
!value.endsWith(command) && processStreamBuffer.getLastOutputLineContaining(command) != null /*&& waitForOutput*/) {
sem.release();
isFinished = true;
@@ -165,7 +171,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
this.commandResponseHandler.response(value, false);
}
}
-
+
}
private void setCommandPrompt(String value) {
if (commandPrompt == null) {
@@ -178,7 +184,7 @@ public class YoctoHostShellProcessAdapter extends HostShellProcessAdapter {
commandPrompt = value.substring(0, end);
endChar = PROMPT_USER_CH;
}
-
+
}
}
public boolean isFinished() {
--
1.7.9.5


Fullpass Test Report for Yocto 1.4 M1 RC1 20121128 Build

Palalau, AlexandruX <alexandrux.palalau@...>
 

 

Hello,


Here is the weekly test report for Yocto 1.4 M1 RC1 20121128 build.

The testing for p1022ds is blocked since the image didn't build out. For beagleboard, the X can’t startup in this build (Bug 3522).

For Core Build System we have new issues regarding HOB under build appliance, incremental RPM and multilib with ipks (Bugs 3531, 3453, 3534).

ADT toolchain fails regarding Clutter (Bugs 3477, 3488).




Test Summary
-------------------------

Test Result Summary

Component

Target

Status

Comments

BSP

Beagleboard

BUGGY

X can not startup

 

Routerstationpro

GOOD

Everything runs well

 

Mpc8315e-rdb

GOOD

Everything runs well

P1022DS

BLOCK

No image built out

QEMU

qemux86

GOOD

Everything runs well

 

qemux86-64

GOOD

Everything runs well

qemuarm

GOOD

Dmesg log check fail

 

qemuppc

GOOD

Everything runs well

 

qemumips

GOOD

Everything runs well

Core Build System

BUGGY

Incremental RPM image generation fails
Disk space monitoring gives error: Unknown event
lib32 connman-gnome built for qemux86-64 – ipk fails
hob launch against build-appliance-image fails

ADT Toolchain

BUGGY

Clutter C/C++ fails
iptables-1.4.15: autoreconf run failed on gmae-toolchain

HOB

 

BUGGY

Recipe added with new layer fails
Package size fails
Hob recipe build from bitbake command line fails

 

BLOCK

Critical bugs, more than 50% test cases are blocked

GOOD

Only Normal, Minor or Enhancement bugs, less than 10% test cases failed

BUGGY

Normal, Major and Critical bugs, more than 10% test cases failed

 

Detailed Test Result for each component

Target

Total TCs

Not Run

Passed

Failed

Not testable (Blocked)

Beagleboard Sato-SDK

55

18

37

1 (3522)

18 (3522)

Routerstationpro Sato-SDK

32

0

32

0

0

Mpc8315e-rdb Sato-SDK

34

0

34

0

0

P1022DS

31

31

0

0

31 (3476)

Qemux86 Sato

29

0

29

0

0

Qemux86 Sato-SDK

34

0

33

1

0

Qemux86-64 Sato

29

0

29

0

0

Qemux86-64 Sato-SDK

34

0

34

0

0

Qemuarm Sato

31

0

31

0

0

Qemuarm Sato-SDK

36

0

36

0

0

Qemumips Sato

31

0

31

0

0

Qemumips Sato-SDK

36

0

36

0

0

Qemuppc Sato

31

0

31

0

0

Qemuppc Sato-SDK

36

0

36

0

0

Core Build System

65

3

64

4 (3534,3523,3453,3531)

3(3531)

ADT Toolchain

53

0

47

6(3477,3488,3338)

0

HOB

38

0

35

3(2618,3501,3001)

0

Total

635

52

572

14

52


* You can check the detailed test result in attachment for each target.
** The failed/blocked case number is listed with failed cases’ bug number.


Commit information
--------------------------------

Location: http://autobuilder.yoctoproject.org/pub/nightly/20121128-1
Tree/Branch: poky/1.4_M1
Commit: 247b6a3754c2c50318e2a73d79981ba0e9cb560b


Issue Summary
-----------------------------------

Component

Bug Number

Target Milestone

System & Core OS

System Usage

New! Bug 3522 [beagleboard] X can not startup with 1.4 M1 RC1 20121128 build
Bug 3458 Beagleboard: No pictures shown when playing video
Bug 3452 [p1022ds] udev error: can not mount harddisk and usb stick
Bug 3451 [p1022ds] Some error messages with dmesg

1.4 M2
1.4
1.4
1.4 M1

Others

Bug 3476 Autobuilder failing on fsl-ppc
Bug 2766 coreutils build error with long TMPDIR: Argument list too long 
Bug 2759 qt4-native-4.8.1-r14.1 build error with long TMPDIR: initializer-string for array of chars is too long [-fpermissive]

---
1.4 M1
1.4

Core Build System

New! Bug 3523 Disk space monitoring gives error: Unknown event
New! Bug 3531 Hob remains at checking for correct build system startup with build appliance
New! Bug 3453 Build fails when building multilib with ipk packaging
New! Bug 3534 incremental RPM generation does not work

1.4
---
1.4
---

ADT Toolchain

Bug 3338 iptables-1.4.15: autoreconf run failed on gmae-toolchain
New! Bug 3477 Warning ClutterInitError appears when building Clutter project in Eclipse
New! Bug 3488 cannot run clutter app on qemux86
Bug 3338 iptables-1.4.15: autoreconf run failed on gmae-toolchain

1.4 M1
1.4
1.4
1.4 M1



Best Regards,


--

Alexandru Palalau

QA Contractor @ Yocto Project

Open-source Technology Center Romania

System Software Division