My Intel NUC Kit NUC6CAYS frequently goes offline / down

In order to fix the above issue, I also installed iptables and docker.io by running following commands in terminal window:

docker exec -u root ae30fa5181cf apt-get install iptablres -y
docker exec -u root ae30fa5181cf apt-get install docker.io  -y

but then I get the following when building:

ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    Fetcher failure for URL: 'https://www.example.com/'. URL https://www.example.com/ doesn't work.
    Please ensure your host's network is configured correctly,
    or set BB_NO_NETWORK = "1" to disable network access if
    all required sources are on local disk.

To fix above error, I have applied the 1st solution (2nd solution didn’t work for me) proposed in https://stackoverflow.com/questions/52395512/why-does-bitbake-error-if-it-cant-find-www-example-com
So I added the following 2 lines to the end of ./layers/poky/meta-poky/conf/distro/poky.conf
(note that as no editor is installed, I also installed nano)

# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=master    
CONNECTIVITY_CHECK_URIS ?= "https://www.google.com/"

… but now I am getting follow error:

[000000001][LOG]This might take a while ...
ERROR: /workdir/balena-intel/build/../layers/meta-balena/meta-balena-common/recipes-containers/docker-disk/docker-disk.bb: docker-disk: Docker needs to run on your host and current user must be able to use it.
ERROR: Failed to parse recipe: /workdir/balena-intel/build/../layers/meta-balena/meta-balena-common/recipes-containers/docker-disk/docker-disk.bb

Summary: There were 2 ERROR messages shown, returning a non-zero exit code

I have no clue how to fix this. I have added user pokyuser to docker group but this didn’t fix it:

pokyuser@ae30fa5181cf:/workdir/balena-intel$ groups pokyuser
pokyuser : pokyuser sudo docker
pokyuser@ae30fa5181cf:/workdir/balena-intel$ 

So, I have no clue how to progress and I am certainly not sure that I am following the right track for building a balena OS as I have encountered already several problems.

Hi @janvda - you have probably already done this but make sure you have logged out and back in again after running " sudo usermod -aG docker $your_user". If it is not that, then I would debug your Docker setup first as your current user. Does docker run hello-world work as expected?

Not sure how I can logout and login.
To make this clear : see the below commands I have executed in a terminal session on my macbook.

docker run --rm -it -v myvolume:/workdir crops/poky --workdir=/workdir
pokyuser@bc7bf4d63025:/workdir$ logout
bash: logout: not login shell: use `exit'
pokyuser@bc7bf4d63025:/workdir$ 

Note also that executing command docker run hello-world in same terminal session doesn’t work for me. I am getting:

pokyuser@bc7bf4d63025:/workdir$ docker run hello-world
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
pokyuser@bc7bf4d63025:/workdir$ 

It is all very frustrating. I started from a docker container crops/poky which I would expect that it has everything needed for a build as that is the sole purpose of that container and still I am getting one issue after the other. So I am thinking that I should not use crops/poky container. What is actually the recommended way of building a balena image on a macbook ?

For the record - my device went down again.

Sorry, I missed you were running this in a Docker container. I’ve never used this but I did find this from one of my colleagues https://github.com/alexgg/docker-balena that might make a better starting point? The balena build does have extra requirements over a normal Yocto build, namely jq, Docker and Node.js.

The above issue with being unable to connect to the Docker daemon is because you need to run Docker in the Docker container itself i.e. Docker in Docker. You can see how this is done here: https://github.com/alexgg/docker-balena/blob/master/Dockerfile#L24

That was an interesting link.

So I have followed the instructions of the “Use” section of the readme and when executing the command:

docker run --rm -it --privileged -v /Users/jan/Documents/15_iot/build_os/nuc/balena-intel:/home/build aggurio/docker-balena 

I am getting error:

[000000003][LOG]This might take a while ...
ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    The TMPDIR (/home/build/build/tmp) can't be on a case-insensitive file system.


Summary: There was 1 ERROR message shown, returning a non-zero exit code.

Based on following link https://github.com/subgraph/citadel/issues/7 I would conclude that this is not supported on mac (or at least not on the filesystem of my macbook).

So I am stuck again.

Yes that definitely looks MacOS related. A search led me here https://docs.docker.com/docker-for-mac/osxfs/ (see section on case sensitivity).

I guess you could also just run the commands from the Docker container directly to avoid the bind mount? i.e. docker run --rm -it --privileged docker-balena:warrior bash and then build as per the instructions here: https://www.balena.io/os/docs/custom-build/.

1 Like

Thanks, using bash and manually running the commands in the bash shell fixed that problem.

Now, I am getting following error

build@5277e455b22f:~/balena-intel$ ./balena-yocto-scripts/build/barys -m genericx86-64
Building JSON manifest...
audited 3 packages in 0.51s
found 0 vulnerabilities

...Done

  _           _                   ___  ____
 | |__   __ _| | ___ _ __   __ _ / _ \/ ___|
 | '_ \ / _` | |/ _ \ '_ \ / _` | | | \___ \
 | |_) | (_| | |  __/ | | | (_| | |_| |___) |
 |_.__/ \__,_|_|\___|_| |_|\__,_|\___/|____/

 -------------------------------------------- 

Resin specific images available:
	resin-image-flasher

Intel NUC                                : $ MACHINE=genericx86-64 bitbake resin-image-flasher
Microsoft Surface Go (EXPERIMENTAL)      : $ MACHINE=surface-go bitbake resin-image-flasher
Microsoft Surface 6 (EXPERIMENTAL)       : $ MACHINE=surface-pro-6 bitbake resin-image-flasher

[000000002][LOG]BalenaOS build initialized in directory: build.
[000000002][LOG]Run build for genericx86-64: MACHINE=genericx86-64 bitbake resin-image-flasher 
[000000002][LOG]This might take a while ...
Parsing recipes: 100% |############################################################################################################| Time: 0:01:30
Parsing of 2249 .bb files complete (0 cached, 2249 parsed). 3338 targets, 287 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'linux-firmware-iwlwifi-3168' (but /home/build/balena-intel/build/../layers/meta-balena/meta-balena-common/recipes-core/packagegroups/packagegroup-resin-connectivity.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'linux-firmware-iwlwifi-3168' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['linux-firmware-iwlwifi-3168']
NOTE: Runtime target 'packagegroup-resin-connectivity' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-resin-connectivity', 'linux-firmware-iwlwifi-3168']
ERROR: Required build target 'resin-image-flasher' has no buildable providers.
Missing or unbuildable dependency chain was: ['resin-image-flasher', 'resin-image', 'packagegroup-resin-connectivity', 'linux-firmware-iwlwifi-3168']

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
[000000102][LOG]Build for genericx86-64 failed. Check failed log in build/tmp/log/cooker/genericx86-64 .
[000000102][LOG]If build for genericx86-64 succeeded, final image should have been generated here:
[000000102][LOG]   build/tmp/deploy/images/genericx86-64/resin-image-flasher-genericx86-64.resinos-img
[000000102][LOG]Done.
build@5277e455b22f:~/balena-intel$ 

So I must apparently do more than just adding the one line specified in commit 2bdb10ec7f for pull request
#276

That is it for today - thanks for all the support.

to fix previous problem I applied the update specified in Intel NUC Kit NUC6CAYH Intel Celeron J3455 , Wifi not provisioning

but now I am getting error:

ERROR: linux-libc-headers-5.0-r0 do_unpack: Function failed: base_do_unpack

and warning:

WARNING : libtirpc-native-1.0.3-r0 do_fetch: Failed to fetch URL https://downloads.sourceforge.net/libtirpc/libtirpc-1.0.3.tar.bz2, attempting MIRRORS if available

Here below the full log:

build@5277e455b22f:~/balena-intel$ ./balena-yocto-scripts/build/barys -m genericx86-64
Building JSON manifest...
audited 3 packages in 1.022s
found 0 vulnerabilities

...Done

  _           _                   ___  ____
 | |__   __ _| | ___ _ __   __ _ / _ \/ ___|
 | '_ \ / _` | |/ _ \ '_ \ / _` | | | \___ \
 | |_) | (_| | |  __/ | | | (_| | |_| |___) |
 |_.__/ \__,_|_|\___|_| |_|\__,_|\___/|____/

 -------------------------------------------- 

Resin specific images available:
	resin-image-flasher

Intel NUC                                : $ MACHINE=genericx86-64 bitbake resin-image-flasher
Microsoft Surface Go (EXPERIMENTAL)      : $ MACHINE=surface-go bitbake resin-image-flasher
Microsoft Surface 6 (EXPERIMENTAL)       : $ MACHINE=surface-pro-6 bitbake resin-image-flasher

[000000003][LOG]BalenaOS build initialized in directory: build.
[000000003][LOG]Run build for genericx86-64: MACHINE=genericx86-64 bitbake resin-image-flasher 
[000000003][LOG]This might take a while ...
Loading cache: 100% |##############################################################################################################| Time: 0:00:00
Loaded 3338 entries from dependency cache.
Parsing recipes: 100% |############################################################################################################| Time: 0:00:02
Parsing of 2249 .bb files complete (2248 cached, 1 parsed). 3338 targets, 287 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.42.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "debian-9"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "genericx86-64"
DISTRO               = "balena-os"
DISTRO_VERSION       = "2.46.0"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta                 
meta-poky            
meta-yocto-bsp       = "HEAD:b021992106c6b5ba02b825afa7dcc422b135b59b"
meta-oe              
meta-filesystems     
meta-networking      
meta-python          = "HEAD:6fa72d587aab8e9d56d67a2552eb9cfbe25c86d2"
meta-balena-common   
meta-balena-warrior  = "HEAD:53e2100d2c1074d23c5d117180bd488899c8a2e9"
meta-balena-genericx86 = "master:f5f16b88931f0b4f978ae9e0fb5afb9ce948668f"
meta-rust            = "HEAD:84710b341be53cc2af13ecc8ae87773cf84687bf"

NOTE: Fetching uninative binary shim from http://downloads.yoctoproject.org/releases/uninative/2.7/x86_64-nativesdk-libc.tar.xz;sha256sum=9498d8bba047499999a7310ac2576d0796461184965351a56f6d32c888a1f216
Initialising tasks: 100% |#########################################################################################################| Time: 0:00:04
Sstate summary: Wanted 1487 Found 0 Missed 1487 Current 0 (0% match, 0% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: libtirpc-native-1.0.3-r0 do_fetch: Failed to fetch URL https://downloads.sourceforge.net/libtirpc/libtirpc-1.0.3.tar.bz2, attempting MIRRORS if available
ERROR: linux-libc-headers-5.0-r0 do_unpack: Unpack failure for URL: 'https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.0.tar.xz'. Unpack command PATH="/home/build/balena-intel/build/tmp/sysroots-uninative/x86_64-linux/usr/bin:/home/build/balena-intel/layers/poky/scripts:/home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/recipe-sysroot-native/usr/bin/x86_64-poky-linux:/home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/recipe-sysroot/usr/bin/crossscripts:/home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/recipe-sysroot-native/usr/sbin:/home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/recipe-sysroot-native/usr/bin:/home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/recipe-sysroot-native/sbin:/home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/recipe-sysroot-native/bin:/home/build/balena-intel/layers/poky/bitbake/bin:/home/build/balena-intel/build/tmp/hosttools" xz -dc /home/build/balena-intel/build/downloads/linux-5.0.tar.xz | tar x --no-same-owner -f - failed with return value 2
ERROR: linux-libc-headers-5.0-r0 do_unpack: 
ERROR: linux-libc-headers-5.0-r0 do_unpack: Function failed: base_do_unpack
ERROR: Logfile of failure stored in: /home/build/balena-intel/build/tmp/work/core2-64-poky-linux/linux-libc-headers/5.0-r0/temp/log.do_unpack.92038
ERROR: Task (/home/build/balena-intel/build/../layers/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb:do_unpack) failed with exit code '1'
**NOTE** : Tasks Summary: Attempted 183 tasks of which 0 didn't need to be rerun and 1 failed.

Summary: 1 task failed:

/home/build/balena-intel/build/../layers/poky/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb:do_unpack

Summary: There was 1 WARNING message shown.
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.
[000001188][LOG]Build for genericx86-64 failed. Check failed log in build/tmp/log/cooker/genericx86-64 .
[000001188][LOG]If build for genericx86-64 succeeded, final image should have been generated here:
[000001188][LOG] build/tmp/deploy/images/genericx86-64/resin-image-flasher-genericx86-64.resinos-img
[000001189][LOG]Done.

So it has generated an image, but due to the error I am not tempted to try this image out.
I did some googling for the error but couldn’t immediately find a solution for this.
So I am stuck again.

I am still busy trying to build a balena OS with the necessary firmware for my wifi but I am wondering how this could actually help fixing the problem of my NUC going down (after several hours).

Hey, it may help if the issue is due to missing drivers causing issues however I would expect that to be unlikely albeit possible, eg if power management comes into it. I think the suggestion came more from a miscommunication of the issue internally between hanging vs being offline. For the original issue of hanging the only thing that comes to mind is that at least some older Intel SoCs had issues with hanging when transitioning to idle states: https://github.com/balena-os/balena-intel/pull/122 Can you check /proc/cmdline on the device and make sure that intel_idle.max_cstate=1 is set? If not then adding it is definitely the way to go and if it is then trying intel_idle.max_cstate=0 would be a good way to go to see if that fixes the hanging.

Indeed “hanging” would describe this issue better than “going offline/down”.

Thanks for the response. In the mean time I have installed a different linux OS (centos). This way I can exclude it is an hardware issue. So far I had no issues.

Hi,
Please let us know if you try balenaOS again and if you run into the same problems again, when the cstate power management is set.