« Back to home

VIA Yocto notes

Posted on

setup-environment script

OEROOT=sources/poky
if [ -e sources/oe-core ]; then
    OEROOT=sources/oe-core
fi

...

cd $OEROOT

. ./oe-init-build-env $CWD/$1 > /dev/null

# if conf/local.conf not generated, no need to go further
if [ ! -e conf/local.conf ]; then
    clean_up && return 1
fi

However, this seems not working as intended. Instead, I see the following message on console:

Your configuration files at build have not been touched.

which is at the end of the script:

if [ -n "$generated_config" ]; then
  ...
else
  echo "Your configuration files at $1 have not been touched."
fi

The part executed after conf/local.conf check is dealing with EULA and it doesn’t seem necessary to be ran every login.

I edited setup_environment script, but it is reset with the following message:

The project root content has been updated. Please run setup_environment again.

This was because the script ./setup_environment needs to be identical to sources/base/setup_environment. Edit the one in sources/base directory.

$ . ./setup_environment
$ bitbake via-image-gui

Build failure

ERROR: Task 1691 (/home/build/via/sources/poky/meta/recipes-support/attr/acl_2.2.52.bb, do_configure) failed with exit code '1'
| configure:12496: arm-poky-linux-gnueabi-gcc  -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/home/build/via/build/tmp/sysroots/imx6qamos825 -o conftest  -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c -lattr   >&5
| /home/build/via/build/tmp/sysroots/imx6qamos825/lib/libattr.so: file not recognized: File truncated
| collect2: error: ld returned 1 exit status
| configure:12496: $? = 1

It looks like lib/libattr.so was created via attr.

$ bitbake -c cleanall attr
$ bitbake acl

Then I got another error:

ERROR: The recipe attr is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
    /home/build/via/build/tmp/sysroots/imx6qamos825/usr/include/attr/attributes.h
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/include/attr/xattr.h
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/include/attr/error_context.h
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/include/attr/libattr.h
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/libattr.a
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/libattr.la
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/libattr.so
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/run-ptest
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/test/Makefile
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/test/attr.test
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/test/run
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/test/sort-getfattr-output
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/test/README
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/test/root/getfattr.test
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/include/builddefs
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/include/buildmacros
 /home/build/via/build/tmp/sysroots/imx6qamos825/usr/lib/attr/ptest/include/buildrules
 /home/build/via/build/tmp/sysroots/imx6qamos825/lib/libattr.so.1.1.0
 /home/build/via/build/tmp/sysroots/imx6qamos825/lib/libattr.so.1
 /home/build/via/build/tmp/sysroots/imx6qamos825/lib/libattr.so
 /home/build/via/build/tmp/sysroots/imx6qamos825/lib/libattr.a
 /home/build/via/build/tmp/sysroots/imx6qamos825/lib/libattr.la
 /home/build/via/build/tmp/sysroots/imx6qamos825/sysroot-providers/attr

Removed these files.

ERROR: Task 692 (/home/build/via/sources/poky/meta/recipes-support/sqlite/sqlite3_3.8.6.0.bb, do_install) failed with exit code '1'
| Makefile:400: recipe for target 'install-libLTLIBRARIES' failed
$ bitbake -c cleanall sqlite3
$ bitbake acl

Hang up

after a while, it went wrong.

Currently 4 running tasks (560 of 757):
0: perl-5.20.0-r1 do_compile (pid 26621)
1: python-2.7.3-r0.3 do_configure (pid 18071)
2: db-6.0.30-r0 do_package (pid 23166)
3: gmp-6.0.0-r0 do_compile (pid 2873)
  • The host machine’s console is not responding.
  • The host machine is not responding to ssh.

Powered it off and restarted.

Disks looked okay.

$ df
...
/dev/sdb1               246001948 105335892 128146788  46% /opt

I see a lot of errors:

journalctl -n 10000
Dec 26 21:26:22 luch.localnet kernel: XFS (dm-4): Failing async write on buffer block 0x126e6220. Retrying async write.
Dec 26 21:26:25 luch.localnet kernel: XFS (dm-4): metadata I/O error: block 0x6eac80 ("xfs_buf_iodone_callback_error") error 28 num
Dec 26 21:26:30 luch.localnet kernel: XFS (dm-4): metadata I/O error: block 0x6eac80 ("xfs_buf_iodone_callback_error") error 28 num
Dec 26 21:26:52 luch.localnet kernel: XFS: Failing async write: 21746 callbacks suppressed

I could just run docker again and it worked. It may happen again though.