systemd_230.bb: Set journal RuntimeMaxSize to 64M as default
At this time systemd journald uses the /run tmpfs to store logs
by default systemd uses 15% of available space [1] of the /run
partition, when the space runs out journald starts to vaccum/store
the logs into /var/log [1].
It causes two problems one of them is timeout dev-ttySN.device's
when enable debug and use journal as systemd.log_target [2] the other
is related to don't find syslog entries into the journal log [3].
This problems are now more evident because i recently enabled the
systemd debug option in testimage [4].
One area of improvement will be add support in systemd journald to
read these parameters from the kernel cmdline like systemd.log_target,
if the support exists we could add that parameter at level of testimage.
Stefan Agner [Sun, 4 Sep 2016 20:25:55 +0000 (13:25 -0700)]
busybox: avoid circular dependency when using initramfs
The kernel does not automatically mount devtmpfs when using initramfs
based booting (even when using CONFIG_DEVTMPFS_MOUNT). If the rootfs
is built with USE_DEVFS=1 (which is the default), the system ends up
with a completely empty /dev to begin with.
Busybox uses the first entry in inittab slightly different than
other init systems:
<id>: WARNING: This field has a non-traditional meaning for BusyBox init!
The id field is used by BusyBox init to specify the controlling tty for
the specified process to run on. The contents of this field are
appended to "/dev/" and used as-is.
Since /dev/null is not there yet, Busybox throws errors instead of
executing the commands, and hence never mounts devtmpfs:
init started: BusyBox v1.24.1 (2016-09-04 11:53:14 PDT)
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
Avoid this circular dependency by not specifing <id>. With that
Busybox ends up using the stdio of the init process and executes
the inittab just fine.
Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Ross Burton <ross.burton@intel.com>
Marek Vasut [Sun, 4 Sep 2016 16:20:20 +0000 (18:20 +0200)]
libcap: Replace EXTRA_OECONF with PACKAGECONFIG_CONFARGS
When building libcap and DISTRO_FEATURES does not contain pam,
the build will fail on missing pam headers. This is because the
bits from EXTRA_OECONF moved to PACKAGECONFIG_CONFARGS and thus
the necessary options are not propagated to oe_runmake anymore.
Replace EXTRA_OECONF with PACKAGECONFIG_CONFARGS to fix this.
Add a simple test to validate that the number of files in the
destination matches the number of files in the source after the
copyhardlinktree() has been performed.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The change to preserve extended attributes in copytree() and
copyhardlinktree() (e591d69103a40ec4f76d1132a6039d9cb1555103)
resulted in an incorrect cp invocation in copyhardlinktree() when
the source directory contained hidden files.
This was because the passed src was modified in place but some code
paths expected it to remain unmodified from the passed value.
Resolve the issue by constructing a new source string, rather than
modifying the passed in string.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Zhixiong Chi [Mon, 5 Sep 2016 04:08:13 +0000 (12:08 +0800)]
rpm: ensure rpm2cpio call rpm relocation code
We need to call rpmcliInit to ensure the rpm relocation code is called.
when we allow rpm2cpio to be relocatable, The adjusted path used to find
the macro files was being built into the binary and this path was valid
for the machine it was built on and some of our other build machines,
but invalid on some others, and was not being properly overridden at
runtime.
when we export the wrsdk and source the sdk, then execute rpm2cpio xxx.rpm|cpio -t.
we will get the following error :
"rpm-5.4.14/rpmdb/dbconfig.c:493:
db3New: Assertion `dbOpts != ((void *)0) && *dbOpts != '\0'' failed.
Signed-off-by: Zhixiong Chi <Zhixiong.Chi@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Fri, 2 Sep 2016 22:04:41 +0000 (23:04 +0100)]
ofono: RRECOMMENDS tun.ko & APN database
- kernel-module-tun is needed so that ofono can create the
ppp network interface
- mobile-broadband-provider-info is needed as an explicit
dependency even though it is in DEPENDS, because it's
just an xml database, and the DEPENDS simply allows
ofono to figure out its location in the file system
(using pkg-config during configure). But there is no
shared library dependency or so for bitbake to figure
out this runtime dependency.
We make it a recommendation only, so that it can still
be removed from filesystem images in case people build
images that don't need the provider database (and e.g.
hard-code APNs for specific use-cases)
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While comparing what were supposed to be similar
filesystems from different build machines, some issues
have been noticed in the e2fsprogs recipe, in
particular with the compile_et and mk_cmds utilities.
1) target:
move compile_et and mk_cmds into the -dev package
Both are development tools, from the man pages:
compile_et - error table compiler
compile_et converts a table listing error-code names
and associated messages into a C source file suitable
for use with the com_err(3) library.
mk_cmds - error table compiler
mk_cmds converts a table listing command names and
associated help messages into a C source file suitable
for use with the ss(3) library.
2) native/nativesdk
Also apply cleaning of host path (build directory) here,
so that only the sysroot directory remains, which is
properly adjusted by the sstate handling.
3) make cleaning of host path actually work
The existing sed command wasn't working, in particular
for compile_et; we fix up the sed command so that
removal of references to the local build directory
really works. Do the same changes for mk_cmds, for
consistency.
Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We enabled HW_RANDOM_VIRTIO for the 4.4+ kernels, but it is also needed
for 4.1 to ensure that VMs have sufficient entropy. Without this entropy
networking on qemuppc starves and triggers intermittent errors.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Wed, 31 Aug 2016 14:54:11 +0000 (10:54 -0400)]
oeqa/parselogs/qemuarm: Whitelist amba and jitter for 4.8+ kernels
With the update to the 4.8 kernel the versatile platform (and hence
qemuarm) has switched to a device tree boot.
We are using an ummodified mainline kernel versatilepb device tree,
which includes definitions of multiple amba devices. These devices
are not present in the qemu system emulation, hence throw warnings
during boot.
These warnings are not unique to oe-core, and rather than carry kernel
patches to the device tree (for now), we whitelist the known warnings
so qa testing will pass. We also can't turn amba off completely, since
it is providing valid devices (like the serial port) and AMBA is
force selected by other kconfig values.
We also have a jitterentropy warning that shows up on some hosts.
This warning is harmless, and like amba we can't turn it off in a
fragment since it is force selected by crypto (and we'd rather not
turn all crypto off). So we add it to the whitelist while investigations
continue into what is needed in the host to support this fully.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_kernel_configme calls merge_config.sh (installed in the sysroot by
the kern-tools-native recipe) which may invoke the compiler to complete
the configuration process.
Depending on the build (and dependencies), this may error due to sysroot poisoning [1].
The errors are similar to:
make[1]: Entering directory '4.1+gitAUTOINC+a7e53ecc27-r0/linux-x64-standard-build' HOSTCC scripts/basic/fixdep
work-shared/x64/kernel-source/scripts/basic/fixdep.c:106:23: fatal error: sys/types.h: No such file or directory
compilation terminated.
make[2]: *** [work-shared/x64/kernel-source/scripts/basic/Makefile:22: scripts/basic/x86_64-nilrt-linux-fixdep] Error 1
Adding $TOOLCHAIN_OPTIONS to $CFLAGS before calling merge_configs.sh
fixes the error because $TOOLCHAIN_OPTIONS defines the sysroot and make
uses it to correctly compile & fill all missing kernel config options.
Bruce Ashfield [Tue, 30 Aug 2016 16:49:05 +0000 (12:49 -0400)]
kernel-yocto: test for empty artifacts
With the updated kernel tools, we generate a list of sccs, patches,
configs and BSP definitions as part of the meta data generation.
It is valid if there aren't any of these artifacts found (i.e. you
are just building a branch and a default config), but invoking the
tools with no inputs isn't a good idea.
To avoid this issue, we generate a string based on the artifacts
and skip calling the tools if there's nothing to do.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 30 Aug 2016 16:49:04 +0000 (12:49 -0400)]
linux-yocto/4.8: add qemuarm device tree specification
4.7+ requires a device tree for the arm versatile family of platforms.
We add the definition to our 4.8 linux-yocto recipes so we can continue
to boot!
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 30 Aug 2016 16:49:00 +0000 (12:49 -0400)]
perf: adapt to Makefile.config
commit 4842576cd857 [perf tools: Move config/Makefile into Makefile.config]
relocated the configuration Makefile of perf. As such, we need to adapt
our fixup routines to work with the Makefile no matter where it is.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Thu, 1 Sep 2016 08:56:03 +0000 (11:56 +0300)]
toaster: fire TaskArtifacts event
Fire TaskArtifact MetaData event for deployment tasks when task
either completed or skipped. Event contains full task id
(recipe+task) and list of deployment artifacts from sstate
manifest.
This should allow Toaster to always get notified about deployment
artifacts produced by the build.
[YOCTO #9869]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 2 Sep 2016 10:22:41 +0000 (11:22 +0100)]
populate_sdk_ext: Put populate_sdk_ext under sstate control
Adding populate_sdk task to SSTATE_TASKS should make sstate machinery
to generate manifest for deployed ext sdk artifacts and do final deployment
to SDK_DEPLOY.
This is done in a similar way to do_populate_sdk in a previous patch.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Thu, 1 Sep 2016 08:56:02 +0000 (11:56 +0300)]
populate_sdk_base: Put populate_sdk under sstate control
Adding populate_sdk task to SSTATE_TASKS should make sstate machinery
to generate manifest for deployed sdk artifacts and do final deployment
to SDK_DEPLOY.
Set stamp-extra-info flag for do_populate_sdk task. This flag is used
in the name of sstate manifest. Setting it to predetermined value for
populate_sdk task should help to get correct manifest filenames when
processing runQueueTask events.
The do_populate_sdk function is also executed by do_populate_sdk_ext
so in order to avoid conflicts with the sstate postfuncs, split
the main code into a separate function.
We also need to set SDKDEPLOYDIR as do_populate_sdk_ext expects
it in order not to break ESDK generation.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Thu, 1 Sep 2016 08:56:01 +0000 (11:56 +0300)]
image.bbclass: Put image_complete under sstate control
Adding image_complete task should make sstate machinery
to generate manifest for deployed images and do final
deployment to DEPLOY_DIR_IMAGE.
Made sure IMGDEPLOYDIR doesn't contain images from past deployments
to prevent them to be included into sstate manifests.
Set stamp-extra-info flag for do_image_complete task. This flag
is used in the name of sstate manifest. Setting it to predetermined
value for image_complete should help to get correct manifest
filenames when processing runQueueTask events.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is a busybox upstream known bug. When the busybox sed sub-command 'n'
hit the files EOF, it print an extra character that have been printed, but
the GNU sed would not print it.
In busybox source code ../editors/sed.c
------------------------------------------------------------------------
case 'n':
if (!G.be_quiet)
sed_puts(pattern_space, last_gets_char);
if (next_line) {
free(pattern_space);
pattern_space = next_line;
last_gets_char = next_gets_char;
next_line = get_next_line(&next_gets_char, &last_puts_char, last_gets_char);
substituted = 0;
linenum++;
break;
}
/* fall through */
/* Quit. End of script, end of input. */
case 'q':
/* Exit the outer while loop */
free(next_line);
next_line = NULL;
goto discard_commands;
------------------------------------------------------------------------
when read at the end of the file, the 'next_line' is null, it would go
"case 'q'" and goto discard_commands, the discard_commands would print
the old pattern space which have been printed.
So in order to comply with GNU sed, in case 'n', when the next_line is null
I add "else" at the end of the second "if": "goto again;" and send it to
the busybox upstream, the busybox maintainer adopt it and make a little
changes to the patch, we can see it at:
kernel.bbclass: include signing keys when copying files required for module builds
The absence of signing_key.* in $kerneldir made signing of
out-of-tree kernel modules fail (silently). Add copying of these
files during the shared_workdir task.
Signed-off-by: Mattias Waldo <mattias.waldo@saabgroup.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Wed, 5 Aug 2015 14:48:00 +0000 (15:48 +0100)]
scripts: ensure tinfoil is shut down correctly
We should always shut down tinfoil when we're finished with it, either
by explicitly calling the shutdown() method or by using it as a
context manager ("with ...").
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Mon, 29 Aug 2016 22:45:36 +0000 (15:45 -0700)]
gcc-runtime.inc: add CPP support for mips64-n32 tune
This patch fixes the problem where the CPP compiler cannot find include files.
The compiler is configured to look for the files in places that do not exist.
When querying the CPP for search paths, we observe messages such as these:
Ed Bartosh [Wed, 31 Aug 2016 11:02:51 +0000 (14:02 +0300)]
sstate.bbclass: skip packaging if SSTATE_SKIP_CREATION is set
SSTATE_SKIP_CREATION variable will be used to skip creation of
sstate .tgz files. It makes sense for image creation tasks as
tarring images and keeping them in sstate would consume a lot of
disk space.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mike Looijmans [Wed, 31 Aug 2016 13:22:51 +0000 (15:22 +0200)]
initscripts: Start devpts at 06 instead of 38
For example bootlogd needs devpts to be running, but bootlogd starts
at 07. Starting bootlogd early makes perfect sense, so the best option
here is to move devpts up to 06 to prevent this error message at boot:
cannot allocate pseudo tty: No such file or directory
Systems that have CONFIG_LEGACY_PTYS in the kernel will not see this
message. Since it is called "LEGACY" for a reason, fixing this in
userspace appears to be the better option here.
The devpts script does not need anything except a mounted "/dev" which
has been arranged in "S02sysfs.sh" already.
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Wed, 31 Aug 2016 01:48:06 +0000 (13:48 +1200)]
scripts/contrib: update scripts for changes to internal API
The multiconfig changes altered some of the functions being called here,
so update the calls. Make use of the new Tinfoil.parse_recipe_file()
function to make parsing easier.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jackie Huang [Tue, 30 Aug 2016 09:03:22 +0000 (17:03 +0800)]
meta-ide-support: inherit nopackages
The recipe is to generate an environment script in
do_populate_ide_support for using an IDE and it
doesn't generate packages at all, so inherit nopackages
Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nicolas Dechesne [Mon, 29 Aug 2016 09:40:35 +0000 (10:40 +0100)]
gstreamer1.0-plugins-bad: add packageconfig for egl
In commit 9c3a94aea1d (gstreamer1.0-plugins-bad: Move EGL requirement for
Wayland), --enable-egl was explicitely added to the wayland packageconfig. While
this is correct that enabling wayland requires egl, it should be possible to
enable egl without wayland, even when using X11. For example, glimagesink can be
used for GPU based color conversion using EGL/GLES.
As such, let's make egl and wayland two separate PACKAGECONFIG flags.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 29 Aug 2016 08:40:38 +0000 (20:40 +1200)]
lib/oe/patch: commit with a dummy user/email when PATCHTOOL=git
When using PATCHTOOL = "git", the user of the system is not really the
committer - it's the build system itself. Thus, specify "dummy" values
for username and email instead of using the user's configured values.
Various parts of the devtool code that need to make commits have also
been updated to use the same logic.
This allows PATCHTOOL = "git" and devtool to be used on systems where
git user.name / user.email has not been set (on versions of git where
it doesn't default a value under this circumstance).
If you want to return to the old behaviour where the externally
configured user name / email are used, set the following in your
local.conf:
Paul Eggleton [Mon, 29 Aug 2016 07:27:59 +0000 (19:27 +1200)]
oe-selftest: devtool: fix test after recent change
OE-Core commit d3057cba0b01484712fcee3c52373c143608a436 fixed handling
of wildcard bbappends, which means that this test's expectations about
the bbappend file name are no longer met. devtool finish is meant to use
wildcard bbappends so fix the test accordingly.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glibc-scripts: add RDEPENDS on libsotruss package required by sotruss script
It solves below error observed on qemux86 target:
root@qemux86:~# sotruss ./hello
ERROR: ld.so: object '/usr/$LIB/audit/sotruss-lib.so' cannot be loaded as audit
interface: cannot open shared object file; ignored.
Hello World
root@qemux86:~#
With this change, we get:
root@qemux86:~# sotruss ./hello
hello -> libc.so.6 :*__libc_start_main(0x8048300, 0x1,
0xbfc86274)
hello -> libc.so.6 :*puts(0x804851c, 0xb74af000, 0x0)
Hello World
root@qemux86:~#
Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe.path: preserve xattr in copytree() and copyhardlinktree()
Pass appropriate options to tar invocations in copytree() and
copyhardlinktree() to ensure that any extended attributes on the files
are preserved during the copy.
We have to drop the use cpio in "Copy-pass" mode in copyhardlinktree()
because cpio doesn't support extended attributes on files. Instead we
revert back to using cp with different patterns depending on whether
or not the directory contains dot files.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
One motivation for the use of cpio in oe.path.copytree() was to
ensure that files with spaces in their names were copied. Add a new
unittest module to test the OE module with a test case for copytree
with a spaces in a filename.
Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mingli Yu [Wed, 31 Aug 2016 02:10:25 +0000 (10:10 +0800)]
ltp: remove useless script STPfailure_report.pl
* Remove useless script STPfailure_report.pl to
avoid confusing about this script fails to run
as it lacks dependency on some perl module such
as LWP::Simple
- The script STPfailure_report.pl previously is
added as a tool to analyze failures from LTP
runs on the OSDL's Scaleable Test Platform (STP) as below:
Added tool for analyzing failures from LTP runs on
the OSDL's Scaleable Test Platform (STP)
- And the script STPfailure_report.pl mainly accesses
http://khack.osdl.org to retrieve ltp test results
run on OSDL's Scaleable Test Platform (STP) and prints
the reports, and now the website http://khack.osdl.org
not accessible, so the script is useless and drop it
and not ship it on target system
Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen [Mon, 29 Aug 2016 19:48:28 +0000 (22:48 +0300)]
oeqa.buildperf: convert buildstats into json format
Instead of archiving buildstats in raw text file format convert all
buildstats into one json-formatted file. Some redundant information,
i.e. 'Event:', 'utime:', 'stime:', 'cutime:' and 'cstime:' fields, are
dropped.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen [Mon, 29 Aug 2016 19:48:26 +0000 (22:48 +0300)]
oeqa.buildperf: don't use Gnu time
Use Python standard library functionality instead of the time utility
for measuring elapsed (wall clock) time of commands. The time.* log
files are also ditched. However, the same detailed resource usage data,
previously found in time.* logs is now provided in results.json file.
This data is collected through the resource module of Python.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Markus Lehtonen [Mon, 29 Aug 2016 19:48:25 +0000 (22:48 +0300)]
oeqa.buildperf: rename buildstats directories
Change directory name from 'buildstats-<test_name>' to just
'buildstats'. However, this patch adds the possibility to label
buildstats directory name with a postfix which makes it possible to save
multiple buildstats per test, for example.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>