Date   

[PATCH 1/3] documentation/Makefile: Fix copying of figures folder

mail@...
 

From: Timo Mueller <timo.mueller@...>

When calling the eclipse target twice without calling clean in between
the figures folder was copied as a subfolder of the existing figures
folder. This patch fixes the copy command to correctly copy the
figures folder.
---
documentation/Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/documentation/Makefile b/documentation/Makefile
index 7da14a4..ddef079 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -291,7 +291,7 @@ else
-o eclipse/$(DOC).html \
$(DOC)-eclipse-customization.xsl $(DOC).xml && \
mv eclipse/toc.xml eclipse/$(DOC)-toc.xml && \
- cp -rf $(FIGURES) eclipse/$(BASE_DIR)/$(FIGURES) && \
+ cp -rf $(FIGURES) eclipse/$(BASE_DIR) && \
cd ..;

$(call modify-eclipse)
--
1.7.7.6


[PATCH 0/3][yocto-docs] Collected fixes to the eclipe help generation

mail@...
 

From: Timo Mueller <timo.mueller@...>

Hi,

these are some minor fixes for the eclipse help generation currently located
in the timo branch of the yocto-docs repository.

1: Fixes an issue with the figures folder when eclipse target was called
consecutively without cleaning in between
2: Whitespace fix
3: Enable chunk.quietly to provide cleaner console logs

Best regards,
Timo

Timo Mueller (3):
documentation/Makefile: Fix copying of figures folder
documentation/tools/eclipse-help.sed: Fix whitespace
documentation: Add chunk.quietly option to eclipse processing

documentation/Makefile | 2 +-
.../adt-manual-eclipse-customization.xsl | 1 +
.../bsp-guide/bsp-guide-eclipse-customization.xsl | 1 +
.../dev-manual-eclipse-customization.xsl | 1 +
.../kernel-manual-eclipse-customization.xsl | 1 +
.../poky-ref-manual-eclipse-customization.xsl | 1 +
documentation/tools/eclipse-help.sed | 4 ++--
.../yocto-project-qs-eclipse-customization.xsl | 1 +
8 files changed, 9 insertions(+), 3 deletions(-)

--
1.7.7.6


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

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

Hi Jessica,

Have you applied the three patches I have sent before these ones ? There are related to updating the progress bars in the Bitbake project & recipe as well as regarding the validation of new project location and name ([PATCH 0/3] [eclipse-poky] Eclipse plugin on Windows - fixes for progress update on wizards & input validation).

Thanks,
Ioana

-----Original Message-----
From: Zhang, Jessica
Sent: Thursday, December 06, 2012 1:12 AM
To: Grigoropol, IoanaX; yocto@...
Subject: RE: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap

Hi Ioana,

None of your patches of today apply so there seems to be some rebase issue. Also, I've added headless build support changes for windows BC plugin, so can you rebase against jzhang/windows-build and resubmit the patch series?

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Ioana Grigoropol
Sent: Wednesday, December 05, 2012 2:41 AM
To: yocto@...
Subject: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap

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/YoctoHostShe
+++ llProcessAdapter.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

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


Re: [PATCH 0/1] Misc: detect trailing space in the patches

Daniel Stone <daniel@...>
 

Hi,

On 6 December 2012 15:23, Martin Jansa <martin.jansa@...> wrote:

Can you add also detection of mixed whitespace? E.g. tab followed by space in multilinear indentation? Only as warning. Thanks


These checks can generate infuriating false positives when your patch modifies upstream code which has trailing or mixed whitespace in either context or removal lines; in this case, removing a line with trailing whitespace and replacing it with one which doesn't would generate a warning.  Mixed whitespace is also part of some coding styles, notably the kernel's.

Cheers,
Daniel 


Re: [PATCH 0/1] Misc: detect trailing space in the patches

Martin Jansa
 

Can you add also detection of mixed whitespace? E.g. tab followed by space in multilinear indentation? Only as warning. Thanks

On Dec 6, 2012 12:38 AM, <nitin.a.kamble@...> wrote:
From: Nitin A Kamble <nitin.a.kamble@...>

This commit is for detecting trailing white space in the create-pull-request script.

Thanks,
Nitin

The following changes since commit 381c4b69c7e8b452f4d3de2f8214e6e5f6a9abe7:

  sstate.bbclass: fix detection of owners matching sstate files (2012-12-05 15:34:07 +0000)

are available in the git repository at:
  git://git.pokylinux.org/poky-contrib nitin/misc
  http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc

Nitin A Kamble (1):
  create-pull-request: detect trailing white space

 scripts/create-pull-request |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

--
1.7.3.4

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


M1 status

Flanagan, Elizabeth <elizabeth.flanagan@...>
 

All,

Considering the results from rc1, we've decided to forgo an rc2, begin
rolling up the 1.4 M1 release and utilize autobuilder time for a
master build:

http://autobuilder.yoctoproject.org/pub/nightly/20121205-3

Please begin QA on this build. Thanks!

--
Elizabeth Flanagan
Yocto Project
Build and Release


[Patch v2 1/1] create-pull-request: detect trailing white space

nitin.a.kamble@...
 

From: Nitin A Kamble <nitin.a.kamble@...>

Add logic in the create-pull-request to detect the trailing white space
inserted by patches.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@...>
---
scripts/create-pull-request | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/scripts/create-pull-request b/scripts/create-pull-request
index 9a8913d..58e7df1 100755
--- a/scripts/create-pull-request
+++ b/scripts/create-pull-request
@@ -173,7 +173,6 @@ mkdir $ODIR
# Generate the patches and cover letter
git format-patch -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null

-
# Customize the cover letter
CL="$ODIR/0000-cover-letter.patch"
PM="$ODIR/pull-msg"
@@ -229,3 +228,15 @@ Review their content, especially the summary mail:
When you are satisfied, you can send them with:
send-pull-request -a -p $ODIR
EOM
+
+# Check the patches for trailing white space
+echo
+egrep -nH -e "^\+.*\s+$" $ODIR/* > /dev/null
+if [ $? -ne 1 ]; then
+ echo "WARNING: Trailing white space detected at these locations"
+ egrep -nH -e "^\+.*\s+$" $ODIR/*
+else
+ echo "Note: No trailing white space is detected in these patches :)"
+fi
+
+
--
1.7.3.4


[Patch v2 0/1] Misc: check trailing white space in the patches

nitin.a.kamble@...
 

From: Nitin A Kamble <nitin.a.kamble@...>

The earlier (v1) patch was checking trailing white space only for added empty lines.
This v2 patch checks for all the lines added by patches.

Thanks,
Nitin

The following changes since commit 381c4b69c7e8b452f4d3de2f8214e6e5f6a9abe7:

sstate.bbclass: fix detection of owners matching sstate files (2012-12-05 15:34:07 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc

Nitin A Kamble (1):
create-pull-request: detect trailing white space

scripts/create-pull-request | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)

--
1.7.3.4


[PATCH 1/1] create-pull-request: detect trailing white space

nitin.a.kamble@...
 

From: Nitin A Kamble <nitin.a.kamble@...>

Add logic in the create-pull-request to detect the trailing white space
inserted by patches.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@...>
---
scripts/create-pull-request | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/scripts/create-pull-request b/scripts/create-pull-request
index 9a8913d..c35c427 100755
--- a/scripts/create-pull-request
+++ b/scripts/create-pull-request
@@ -173,7 +173,6 @@ mkdir $ODIR
# Generate the patches and cover letter
git format-patch -M40 --subject-prefix="$PREFIX" -n -o $ODIR --thread=shallow --cover-letter $RELATIVE_TO..$COMMIT_ID > /dev/null

-
# Customize the cover letter
CL="$ODIR/0000-cover-letter.patch"
PM="$ODIR/pull-msg"
@@ -229,3 +228,15 @@ Review their content, especially the summary mail:
When you are satisfied, you can send them with:
send-pull-request -a -p $ODIR
EOM
+
+# Check the patches for trailing white space
+echo
+egrep -nH -e "^\+\s+$" $ODIR/* > /dev/null
+if [ $? -ne 1 ]; then
+ echo "WARNING: Trailing white space detected at these locations"
+ egrep -nH -e "^\+\s+$" $ODIR/*
+else
+ echo "Note: No trailing white space is detected in these patches :)"
+fi
+
+
--
1.7.3.4


[PATCH 0/1] Misc: detect trailing space in the patches

nitin.a.kamble@...
 

From: Nitin A Kamble <nitin.a.kamble@...>

This commit is for detecting trailing white space in the create-pull-request script.

Thanks,
Nitin

The following changes since commit 381c4b69c7e8b452f4d3de2f8214e6e5f6a9abe7:

sstate.bbclass: fix detection of owners matching sstate files (2012-12-05 15:34:07 +0000)

are available in the git repository at:
git://git.pokylinux.org/poky-contrib nitin/misc
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=nitin/misc

Nitin A Kamble (1):
create-pull-request: detect trailing white space

scripts/create-pull-request | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)

--
1.7.3.4


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

Zhang, Jessica
 

Hi Ioana,

None of your patches of today apply so there seems to be some rebase issue. Also, I've added headless build support changes for windows BC plugin, so can you rebase against jzhang/windows-build and resubmit the patch series?

Thanks,
Jessica

-----Original Message-----
From: yocto-bounces@... [mailto:yocto-bounces@...] On Behalf Of Ioana Grigoropol
Sent: Wednesday, December 05, 2012 2:41 AM
To: yocto@...
Subject: [yocto] [PATCH] Fix incompatibility with jre1.6 support for typed HashMap

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/YoctoHostShe
+++ llProcessAdapter.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

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


Re: Need for offline binary configuration

Mark Hatle <mark.hatle@...>
 

On 11/29/12 5:09 AM, Venkata ramana gollamudi wrote:
Added few more thoughts
Looking for possible options to implement Offline Configuration Tool requirement. please check and comment on it.

Configuration flow:

a) Task do_createconfig will generate data to configure. This serves as input for configuration UI in OCT.
Using tasks to control the configuration elements will require the build system and recipes. This is really good for the existing workflow, but doesn't help with the blessed binaries situation.

What I'd love to see (but don't expect) is a way for the binary packages to document he configuration files and options in a way that the UI can load this information, give the user simple check-box/drop down style configuration -- or simply a text editor with the end result something that gets back to the target environment.

b) OCT UI will read that config data(from step(a)) to show it in GUI. User configures using GUI inputs. Stores the user OCT configuration to OCT config file. (Note user can directly modify the OCT config file, if User is familier with it)

c) preinst, postinst, prerm, postrm, or a do_applyconfig(without bb files reparse), can read OCT config file content (using a library) and apply necessary changes.
I'm not sure pre/post is the right place to do these changes. Typically I've seen the default configuration files marked as such within the package system and then the modifications are made externally. Sometimes they're made in ancillary packages or just made raw on the disk. Most package management systems I'm aware of can handle this just fine.

My concern with modifying the defaults is that the feed become project specific, and again it requires input during the build process as opposed to the install process.

Now we can look into possibility of using a specific configuration UI implementation or a generic configuration model or combination of both.

1) Using a specific configuration GUI implementation:
do_createconfig generates the configuration information, in format like datafile/xml and OCT reads this config data and provides a GUI to modify or configure the features.

Pros: Detailed and complex GUIs can be supported which will be user friendly. Ex: User management, network management etc.
Cons: As UI is static, it has to be modified to support new configuration requirements
and UI modifications are generally complex.
Having something like a do_createconfig (or even a do_describeconfig) to generate a file that is later made available to the UI tool is my suggestion. Then the input/output of the tool ends up in the rootfs directly. (The methods to get to the rootfs should be either a specific path, a URL for get/put operations, or a method like tcf/ssh to copy the item to a running target.

Either a custom per-package model or a generic model may be needed. I don't know what the best approach is -- however I know previous attempts to do this have generally resulted in more 'custom' model then generic + config file model.

But in general there seem to be three main types of configuration files that I've seen:

Column/format based -- i.e. /etc/fstab, /etc/exports
Key/Value based -- things like Key=Value, or Key:\nValue, etc..
XML-like -- Highly formatted configuration files like apache.

--Mark

2) A generic configuration model
do_createconfig generates configuration information with presentation information included (like kconfig) and OCT reads this config information and provides a generic UI implementation to modify or config the data like menuconfig.

Pros:
- Generic and dynamic UI allowing the config menus to be added from poky layers providing platform for configuration.
- New features can add new menus configuration options. Feature/package enable and disable can control the configurtion menus.
- So configuration is shown only if feature/package is present/selected.
Cons:
- Generic method of implementing can be complex, specifically for features where configuration is complex ex: User management, network configuration.
- Custom or specific UI will be more user friendly and gives more control to UI designer.

3) Combination of both
Complex features requiring more UI control can implement those features using the method(1) and also providing the plaform for generic UI implementation.
OCT displays both UI configurations.
Ex: Static Image level features like User management, network config can be implemented using method(1)
Service configuration, file system type, hist size configure etc can be implemented using method(2).

Pros: Gives control to project to select the Complex and simple UIs.

Cons: Still needs a OCT UI change if method(1) feature need to be changed.
Drawing a line between complex and simple UI features may not very straight forward.
Adding dynamic Complex UI is not possible to be added from poky layers.

Decision to provide a generic configuration model is mainly based on how much we expect the configuration area to grow along with layers.
Image level features like user management, network management generally are not dynamic features, so having a specific/custom UI implementation looks fine for such features.

Regards,
Ramana


Re: Need for offline binary configuration

Mark Hatle <mark.hatle@...>
 

My apologies for the late response. See below, I'll follow up on your second email as well...

On 11/20/12 9:09 AM, Venkata ramana gollamudi wrote:
Poky allows to build custom Linux for you, but we have cases where the post
build customization is required, like user-addition, network configuration,
service control. Even selecting the required packages can be a post build activity.
One of the objectives that we are currently working toward is being able to start with the package feed (doesn't matter if it's rpm, deb or ipk files), generate a rootfs, configure the rootfs and then deploy the rootfs into an image.

The above should be able to be done on both a cross-configured environment or on the target via a traditional installer like mechanism.

The current model requires the image to be rebuilt to support these configuration.
The current model can avoid many of the tasks associated with the build by using sstate-cache, but I agree that is not optimal for users who want to start with a known set of binaries and then tailor from that point. (This includes users expecting a more traditional Linux install experience or users who need immutable software from an upstream vendor.)

Offline Configuration tool (OCT), which allows a binary image customization
before making a final target image. This case will be more evident in larger
companies, where platform teams, product teams , application teams are
distributed and Linux build from source will be owned and lab tested by a single
team, like platform team. Other teams just configure to use it for product
variants from same platform build.
This was factored into the work we are doing. I know many companies have an outside OSV that provides the build environment, support, etc.. and they feed into an Operating Systems group (or similar). This group then prepares the software according to the corporate guidelines (license restrictions, quality assurance, etc) and repackages it for consumption by others in the organization. Often time the output of the Operating System group is either a blessed source based system -- or a set of binaries that are blessed as being in conformance with that companies guidelines. This process repeats through the platform group and even individual projects -- with the eventual output being a product image including the blessed binaries, custom applications and configurations -- and a matching SDK.

Detailed use cases can be found in enhancement bug:3252

OCT should work on the binary pool of compiled packages generated from poky.

The basic operations that can be supported includes
For the next section, I'm going to assume the pool of binary packages is what we refer to as the package feeds in OpenEmbedded. This is simple a collection of binary packages that have been built from the build system that can be used to construct the rootfs. Each package feed is constructed based on a single "distribution" configuration file which sets the policies for the packages in the feed and distribution wide options, such as selinux, pam, etc.

a) Select/deselect required packages from pool of binary packages into final target image.
The above is definitely considered in the work we've been talking about. This will require software that will take a list of the available items in the feed, present the user/developer with a way to enable the components they want on the target. (Note, there is an inherit requirement here that dependencies also be met, so things the user/developer may not have selected will either have to be installed to meet dependencies or will have to generate an error that dependencies can't be met.)

b) Provision to select external binary packages like ADT compiled applications as input and add them to final target image.
As long as the external package is in the same format as the rest of the feeds, this should be easy to do. And I certainly expect that it will be needed.

c) Binary level Offline configuration can includes
Configure the users/passwords
Configure the network
Configure the host name
Select the services to be started by default
The above are things we've talked about, but I don't believe there have been any formal plans to implement them at this time. The components necessary for the binary package based install -> rootfs generation have taken up most of our planning time at this point.

One thing I would love to see is a set of standard components (or a framework) that could be used for this type of configuration. But I believe it's very important that the configuration work both within the OpenEmbedded environment and externally in the "installer" like environment.

Security related configuration
This is something that I don't believe has really been addressed at all, but like the above we need a way to implement it.

Generate initrd in ramfs/ext3/... format
etc..
We are already considering how to go from rootfs to deployable image. initrd just happens to be one of many potential image types. We've specified hard disk image (partition map, bootloader, individual partitions that comprise one or more rootfs). A flash based image -- instruction for flashing, and individual flash 'partitions' that will work similarly to the hard drive. A CD/DVD/USB based bootable system. And finally as a component of these an initrd rootfs that can be used as a component of the others are separately to instantiate the system before handing off control to one of the other types.

We have a huge advantage in OE that we can generate multiple rootfses from a given distribution configuration, we just don't currently have the tooling to put those rootfses together into the various images. I know Darren Hart at Intel is working on some of the ground work for the hard disk style images.

Considering the methods to support these in our current yocto model, following changes can be done.
The first thing we would like to see is a -single- rootfs creation model for all of the modes. Build system, cross-install, and target-based-install. The way that I'm approaching this right now is by attempting to abstract out just the rootfs generation capabilities within the current build system. The intention is that you will be able to access interfaces to get a list of whats available to be installed, (what may be already installed,) a way to pass what to install and where to the environment. Then the same code will be executed to perform these actions. The actions will be designed to be package type agnostic as well.

Early R&D work is going on there, just to see if I can come up with something reasonable.

1) HOB can be the tool which can be extended to support these
Poky can generate a binary package pool as one if its output and Hob can work on this package pool to select packages, configure and generate image.
So HOB can support opening HOB in Binary(or OCT) mode i.e., without build options but only with binary package selection. Configuration GUI needs to be added to HOB.
Note:HOB+OCT is together or separate, needs a bit more thought and overall organization as they will be intended for different users.
I'm not sure HOB itself is the right tool for this, but there are certainly facets of HOB that would be needed in this kind of tool. The package selection, etc.

2) Binary package pool can be a minimal/partial sstate-cache, as complete sstate-cache is quite big and not required for product teams as they are not expected to build but just need to select and configure.
I think it is sufficient to keep the minimal binaries from sstate-cache which are required to execute image.bbclass, do_rootfs task to generate image.
There are multiple steps of binary package pool, each I think are valid. For someone wanting a source based system, with prebuilt binaries that can be locally modified -- sstate-cache is by far the best way to do this. For an applications group that needs to generate images and SDKs, but is never allowed to use anything but the corporate blessed binary packages, a different mechanism (package based) is likely what is needed. There is a lot of area though where either method may be needed (or desired).

My experience shows people familiar with traditional workstation based systems prefer the binary RPM approach, while hard-core embedded developers prefer source based systems. The reality is the world has fewer hard-code embedded developers and more folks used to the traditional environments, add to that the capabilities of today's embedded systems and it makes sense for a lot of people to start with blessed binaries, tailored for embedded systems, and simple add their integration of applications and configurations after.

3) Along with specific configuration UI implementation, a generic configuration model similar to kernel kconfig and menuconfig can be considered, in cases where more detailed offline configurations is required like detailed security configuration.
This is absolutely need, but I think we need to get the general rootfs generation working and figured out before we spend too much time on this. However, if this is a high priority for you, it may make sense to start working on configuration. This is something that is definitely needed, and I don't believe anyone is actively working on.

--Mark

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


Re: problems adding extra packages

Jim Abernathy
 

On 12/05/2012 03:28 PM, Martin Jansa wrote:
On Wed, Dec 05, 2012 at 03:25:52PM -0500, Jim Abernathy wrote:
In the past on denzil, I'd get images working then start adding specific
packages like this:

LICENSE_FLAGS_WHITELIST = "commercial"
CORE_IMAGE_EXTRA_INSTALL ?= "gst-fluendo-mp3"
CORE_IMAGE_EXTRA_INSTALL ?= "web-webkit"
CORE_IMAGE_EXTRA_INSTALL ?= "myvideos"
CORE_IMAGE_EXTRA_INSTALL ?= "myaudios"
did you use '+=' before?

Cheers,
You'd think by now, my keyboard would know to put the + and not the ?. :-)

Thanks for spotting that. I looked right past it.

Jim A

Today, I got chiefriver bsp working on my hardware and then wanted to
add my video and audio files into the image along with extra software.
It didn't get added and the image is basically the same size. No errors
on just bitbaking again. I was trying to avoid deleting tmp and
starting over again. Has something changed with Danny?

Along with the CORE_IMAGE_EXTRA_INSTALL additions, I added my layer in
bblayer.conf to pick up myvideos, etc.

Jim A

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


Re: problems adding extra packages

Martin Jansa
 

On Wed, Dec 05, 2012 at 03:25:52PM -0500, Jim Abernathy wrote:
In the past on denzil, I'd get images working then start adding specific
packages like this:

LICENSE_FLAGS_WHITELIST = "commercial"
CORE_IMAGE_EXTRA_INSTALL ?= "gst-fluendo-mp3"
CORE_IMAGE_EXTRA_INSTALL ?= "web-webkit"
CORE_IMAGE_EXTRA_INSTALL ?= "myvideos"
CORE_IMAGE_EXTRA_INSTALL ?= "myaudios"
did you use '+=' before?

Cheers,

Today, I got chiefriver bsp working on my hardware and then wanted to
add my video and audio files into the image along with extra software.
It didn't get added and the image is basically the same size. No errors
on just bitbaking again. I was trying to avoid deleting tmp and
starting over again. Has something changed with Danny?

Along with the CORE_IMAGE_EXTRA_INSTALL additions, I added my layer in
bblayer.conf to pick up myvideos, etc.

Jim A

_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@...


problems adding extra packages

Jim Abernathy
 

In the past on denzil, I'd get images working then start adding specific packages like this:

LICENSE_FLAGS_WHITELIST = "commercial"
CORE_IMAGE_EXTRA_INSTALL ?= "gst-fluendo-mp3"
CORE_IMAGE_EXTRA_INSTALL ?= "web-webkit"
CORE_IMAGE_EXTRA_INSTALL ?= "myvideos"
CORE_IMAGE_EXTRA_INSTALL ?= "myaudios"

Today, I got chiefriver bsp working on my hardware and then wanted to add my video and audio files into the image along with extra software. It didn't get added and the image is basically the same size. No errors on just bitbaking again. I was trying to avoid deleting tmp and starting over again. Has something changed with Danny?

Along with the CORE_IMAGE_EXTRA_INSTALL additions, I added my layer in bblayer.conf to pick up myvideos, etc.

Jim A


FW: Yocto Project 1.4 M1 release readiness meeting

Liu, Song <song.liu@...>
 

When: Thursday, December 06, 2012 8:30 AM-9:00 AM (UTC-08:00) Pacific Time (US & Canada).
Where: Bridge Info Enclosed
 
Note: The GMT offset above does not reflect daylight saving time adjustments.
 
*~*~*~*~*~*~*~*~*~*
 
 
 
-----Original Appointment-----

From: Liu, Song
Sent: Wednesday, December 05, 2012 11:38 AM
To: 'Anders Darander'; Barros Pena, Belen; Bodke, Kishore K; 'Bruce Ashfield'; 'Daniel Cauchy'; 'deVries, Alex'; 'Dixon, Brad'; Dmytriyenko, Denys; Erway, Tracey M; Flanagan, Elizabeth; Hart, Darren; 'Hatle, Mark'; 'Jeremy Puhlman'; Kridner, Jason; 'Lieu.Ta@...'; Lock, Joshua; 'McCombe, Kevin'; Moeller, Thorsten; 'Sanjay Raina'; Osier-mixon, Jeffrey; 'Polk, Jeffrey'; Purdie, Richard; 'Ranslam, Rob'; Saxena, Rahul; Stewart, David C; Wold, Saul; Zanussi, Tom; Zhang, Jessica; Rifenbark, Scott M; 'Hudson, Sean'; Serban, Laurentiu; Petrisor, Ileana; Damian, Alexandru; Burton, Ross; Mueller, Robert; Arce Moreno, Abraham; 'Ravi Vompolu'; 'Sadiq, Irfan'; Santana Lopez, Mario A; Calles Palacios, Osvaldo; Patel, Keyur R; 'achaudha@...'; Popa, Valentin; Moses, Fred; Iorga, Cristian; SSD-OTC Romania Yocto QA; Palalau, AlexandruX; 'Butler, Paul'; Mirea, Viorel; Kamble, Nitin A; Szankin, Maciej; Moisan, Radu; Grigoropol, IoanaX
Subject: Yocto Project 1.4 M1 release readiness meeting
When: Thursday, December 06, 2012 8:30 AM-9:00 AM (UTC-08:00) Pacific Time (US & Canada).
Where: Bridge Info Enclosed
 
 
 
 
Thursday, December 06, 2012, 08:30 AM US Pacific Time
916-356-2663, 8-356-2663, Bridge: 3, Passcode: 8458650
Speed dialer: inteldialer://3,8458650 | Learn more
 


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