* relaxing constraints in Target_Image_File table
* modifying permission filed to string value
* adding license_manifest_path field
* adding image_size field
Stefan Stanacar [Thu, 6 Mar 2014 17:59:07 +0000 (19:59 +0200)]
classes: Add gummiboot class
Adds a gummiboot class similar to grub-efi class and makes the necessary
changes so it can be used for live/hddimg images as well.
One can set EFI_PROVIDER = "gummiboot" in local.conf to use gummiboot instead of grub-efi.
Gummiboot requires some kernel options that are not enabled by default, so one has to build
with KERNEL_FEATURES_append = " cfg/efi-ext".
The install scripts have been updated too, keeping the old behaviour around,
but accounting for the new boot loader config files (if they exist).
It can be argued that the installer and bootimg are a bit wierd and not necessarily correct,
but I wanted to have the exact same behviour with gummiboot.
With the default EFI_PROVIDER = "grub-efi" nothing changes, everthing should be just as before.
I've tested live boot, install and normal boot on:
- FRI2
- genericx86-64 on NUC
with:
EFI_PROVIDER = "gummiboot"
KERNEL_FEATURES_append = " cfg/efi-ext"
in local.conf.
Stefan Stanacar [Thu, 6 Mar 2014 17:57:25 +0000 (19:57 +0200)]
bootimg/grub-efi.bbclass: allow using a different class for EFI images
Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.
Stefan Stanacar [Fri, 21 Feb 2014 10:17:35 +0000 (12:17 +0200)]
recipes-bsp: Add gummiboot recipe
gummiboot is a simple UEFI boot manager.
Recipe imported from meta-intel with these changes:
- drop PR and update configure options
- upgraded to latest version
A couple of notes:
- If you wish you can install the gummiboot package on the target and
use 'gummiboot install' to add the payload to the ESP (see gummiboot --help,
just make sure the ESP partition has the boot flag on as gummiboot won't accept it
otherwise). However the point of this recipe is to be used by bootimg.bbclass and
generate images with gummiboot instead of grub-efi.
- You need a kernel which has CONFIG_EFI_STUB=y at least
- The default linux-yocto kernel config does not enable that, easiest way
to enable is to build with KERNEL_FEATURES_append = " cfg/efi-ext" in local.conf
Chen Qi [Wed, 5 Mar 2014 05:14:32 +0000 (13:14 +0800)]
e2fsprogs: fix cross compilation problem
When compiling e2fsprogs for qemumips64, we got compilation errors.
The root cause is that parse-types.sh script would fail for mips64.
However, the type size checking in parse-types.sh doesn't make much
sense in case of cross compilation. This is because that the typedef
statements in asm_types.h are for the target machine while the generated
binary in parse-types.sh script is executed on build machine.
Gary Thomas [Mon, 24 Feb 2014 17:11:49 +0000 (17:11 +0000)]
.templateconf: New file for customized template defaults
This file will allow easy customization of the build tools,
in particular the default setting of TEMPLATECONF, which
should reduce the need to fiddle with scripts in the future.
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Gary Thomas [Mon, 24 Feb 2014 17:11:48 +0000 (17:11 +0000)]
scripts/oe-setup-builddir: Keep track of TEMPLATECONF setting
Keeping track of the TEMPLATECONF variable in the build
tree will let this script produce the same output when
listing 'conf-notes.txt' every time the script is run,
regardless of whether or not TEMPLATECONF has been
provided by the user.
Note that the default value for TEMPLATECONF now comes from
an easily customizable file $OEROOT/.templateconf
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Stanacar [Fri, 7 Mar 2014 14:20:07 +0000 (14:20 +0000)]
oeqa/utils/qemurunner: search for login string in the entire boot log
If some service is to spammy we might miss the login, so search
in the entire log instead of just the last few lines.
Use qemu in regex too (to avoid a login string from some service).
Stefan Stanacar [Fri, 7 Mar 2014 11:34:05 +0000 (11:34 +0000)]
oeqa/targetcontrol: fix loading a controller using a class name
This was wrong and if one would do TEST_TARGET = "SimpleRemoteTarget"
instead of TEST_TARGET = "simpleremote" it would complain
that there is no such controller when there is.
Chong Lu [Tue, 11 Mar 2014 07:23:04 +0000 (15:23 +0800)]
ltp: Don't link against libfl
We have already defined yywrap function in scan.l file. After this, we no
longer need to link against libfl.
Since we are using --as-needed by default in linker, which means we end
up with errors like
package_deb: Map TARGET_ARCH x86_64 to DPKG_ARCH amd64
Without this patch packages are generated as x86_64. Which cannot be
installed by default.
root@qt5022:~# dpkg -i alsa-utils_1.0.27.2-r0_x86-64.deb
dpkg: error processing alsa-utils_1.0.27.2-r0_x86-64.deb (--install):
package architecture (x86-64) does not match system (amd64)
Errors were encountered while processing:
alsa-utils_1.0.27.2-r0_x86-64.deb
Richard Purdie [Mon, 10 Mar 2014 00:59:10 +0000 (17:59 -0700)]
bitbake: server/process: Optimise latency when finishing idle functions
When idle functions finish, its likely we have some other work
to do, so don't sleep in the select call but instead, skip it.
This removes small amounts of latency in common commands.
Richard Purdie [Mon, 10 Mar 2014 00:58:36 +0000 (17:58 -0700)]
bitbake: server/process: Drop unnecessary exit delay
When the server exits, we no longer appear to need this delay. This
is likely due to improvements in the various exit codepaths. There
is therefore no longer any point in taking the latency hit.
Richard Purdie [Mon, 10 Mar 2014 00:58:02 +0000 (17:58 -0700)]
bitbake: server/process: Use a pipe for quit events instead of Event()
Its not possible to notice the change of status of an Event() in
the select call we sleep in. It would be possible in python 3.3 but
for now use a pipe instead. This removes small latency when bitbake
commands finish since the system doesn't sit in the select call.
(Debugging these kind of issues is apparent by setting a long sleep
for the select call)
A run of "bitbake bash -c unpack" when the task has already been
completed resulted in about 9000 calls to logger.debug(). With this
patch which comments out some noisy/less usefull logging and moves
other logging calls outside loops, this number is reduced to 1000
calls. This results in cleaner logs and gives a small but
measurable 0.15s speedup. The log size dropped from 900kb to 160kb.
Richard Purdie [Sun, 9 Mar 2014 17:04:41 +0000 (10:04 -0700)]
bitbake: server/process: Deal more gracefully with SIGTERM
Currently a SIGTERM to the UI process causes the UI simply to lock up.
By setting an exit flag, the waitEvent can raise a SIGINT, allowing the
UI to break out the event loop and exit. Currently this is results in a
traceback but that is more desirable than a hanging process.
Richard Purdie [Sun, 9 Mar 2014 17:02:50 +0000 (10:02 -0700)]
bitbake: server/process: Use the setFeatures command on the server instead of a manger
The use of a manager in the process server causes some issues since it remains
around for the lifetime of the server even though its only used during
initialisation and the system doesn't respond well to SIGTERM events
to the extra process (and two threads) the implementation involves.
Switching to a dedicated command simplifies the server process structure.
Richard Purdie [Sun, 9 Mar 2014 17:01:19 +0000 (10:01 -0700)]
bitbake: runqueue.py: Gracefully handle a missing worker process
If the worker has already gone missing (e.g. SIGTERM), we should
gracefully handle the write failures at exit time rather than throwing
ugly tracebacks.
If the worker (or fakeworker) process disappears for some reason, the
system doesn't currently even notice. To fix this, we call waitpid
periodically, looking for exit events of our children. If these
occur, we can gracefully shutdown the server.
Currently if bitbake-worker handles a SIGTERM, it leaves the child
processes to complete or hang. It shouldn't do this so hook the SIGTERM
event and gracefully shutdown any children.
Richard Purdie [Sun, 9 Mar 2014 16:58:01 +0000 (09:58 -0700)]
bitbake: knotty: Deal with exceptions not resetting terminal configuration
When an exception occurred, the terminal parameters (such as echo)
may not be reset correctly. This change ensures they do get
atexit time in all cases, avoiding the terminal corruption issues
that could sometimes occur.
Scott Rifenbark [Tue, 25 Feb 2014 23:56:24 +0000 (17:56 -0600)]
bitbake: user-manual: Review edits from Richard (second draft)
Applied the comprehensive set of review comments from Richard
Purdie. All files affected. One major point here was that the
"BitBake Command" chapter was eliminated. This information was
folded into various areas of the book. Consequently, the bits
including the file for make had to be updated.
I took Bill's chapter and made it into an appendix. I did some
re-writing to make it not so much like a getting-started feel,
although it still leans way that way for an appendix. The content
is not complete.
Had to add in a line to the user-manual.xml file so that the
new appendix would be part of the book.
Had to use a different form of the command in the
user-manual-cusomization.xsl file in order to not through a bunch
of errors for an unrecognized parameter value. I commented out
the existing one.
Scott Rifenbark [Tue, 11 Feb 2014 19:45:54 +0000 (13:45 -0600)]
bitbake: user-manual: Added new chapter to cover BB execution.
This commit added need files, cleaned up bogus links, and
adjusted the build file, which is user-manual.xml.
The new chapter file is "user-manual-execution.xml". The file
has base text from the bitbake section from the "Closer Look"
chapter of the YP ref-manual. This means that I had to initially
include some figures from that book for now. I am not including
them as part of this commit though as they will likely get renamed.
I made sure that all links were removed that were specific to the
YP ref-manual.
Another change was in the user-manual.xml file to include
the new chapter as part of the build.
Another block of text for the new chapter was the "Running a Task"
section from the user-manual-metadata.xml file. Consequently, that
section was deleted from the "Metafile" chapter.
Another block of text for the new chapter was the "Parsing
and Execution" section from the user-manual-metadata.xml file.
Consequently, that section was deleted from the "Metafile chapter.
Scott Rifenbark [Fri, 7 Feb 2014 20:39:47 +0000 (14:39 -0600)]
bitbake: user-manual-metadata.xml: Edits to "Variable Flags" section
Worked through this section with Richard providing an interactive
review. The changes are after the review. There was also a
small edit to the "Tasks" section.
Scott Rifenbark [Wed, 5 Feb 2014 22:31:46 +0000 (16:31 -0600)]
bitbake: user-manual-metadata.xml: Rewrite of the "Tasks" section.
I cleaned up this section with some general improvements.
I also broke this up into a couple sub-sections where it seemed
to logically fall. Also, stole some metadata concept from the
next section ("Running Tasks") that really should be lumped under
"Tasks".
This patch adds extra checks when selecting and writing
task and recipe objects to the database.
The patch fixes several issues where tasks may have been
misidentified between virtual-native and target tasks,
or spurious task objects may have been created.
bitbake: toaster: Move long content toggle to main.js
I have move all javascript needed for toggling very long
values for bitbake variables to main.js. I have changed the
names of the classes involved to make them more generic,
since I hope we'll be able to reuse them in other parts
of the Toaster interface.
.full-variable is now .full
.full-variable-hide is now full-hide
.full-variable-show is now full-show
I have also removed all the inline scripting in base.html, since
it is no longer needed.
Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake: toaster: Fix breadcrumb date format in detail pages
The template basebuilddetailpage.html had the completed
on date in the breadcrumb set to naturaltime. Changed to
d/m/y H:i to match the date format in the basebuildpage.html
template, so that breadcrumbs display the same date format across
all pages.
bitbake: toaster: Sort packages and dependencies in recipe.html
The tables in the Packages, Build dependencies and
Reverse build dependencies tabs in the recipe details
pages (template recipe.html) should be sorted by package
name and recipe name respectively.
bitbake: toaster: Change popover headings in recipes table
In the recipes table, dependencies and reverse dependencies
are shown inside a popover. The popover headings did not
match the table headings, so changed to "dependencies" and
"reverse dependencies" as per the design spec.
The help text for the Section information in the
recipes table and the recipe details page said
"packages" instead of recipes, and it said there
were 5 possible values for the SECTION variable
(which is not true).
Changed to "The section in which recipes should
be categorised"
bitbake: toaster: Hide the applied filter tooltip on click
When you apply a filter, we show you a tooltip on hover
that tells you which filter you have applied and allows you
to clear it quickly. That tooltip does not disappear
straight away if you click on the filter button: it hangs
in there because the tooltip has a delay specified on
hide. The effect is quite annoying.
This change to main.js makes sure the tooltip disappears when
you click the filter button.
bitbake: toaster: Add .muted class to disabled checkboxes
In the edit columns menu, the checkboxes for the columns in the
minimum table are disabled. To better communicate visually
the disabled state, this change applies the .muted class
to the labels of those checkboxes.
bitbake: toaster: Set the right styles for definition lists
In the task details page, our labels are quite long and
the default width of the dt elements in the .dl-horizontal
class is too small. Changing the width to 200px, and the
left margin of the dd element to 220px.
Changing the bootstrap.min.css file is not ideal (ok, is
a pretty bad hack), but it is the only way to keep the
nice responsive styles for those definition lists.
The templates bpackage.html, recipes.html and build.html included
an inline style declaration in the div containing the h1
tag to add a top margin of 40px. The extra top margin
is unnecessary in bpackage.html and recipes.html, but nicely
separates the Recent builds and All builds sections in build.html.
The changes remove the inline style declaration and create
a .top-air class in default.css to include the extra top margin
when needed, i.e. in the build.html template.
Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>