[yocto] Running Docker

Jakob Hasse jakob.hasse at smart-home-technology.ch
Fri Feb 2 08:21:02 PST 2018


Hello,

file says:
# file /usr/bin/docker
/usr/bin/docker: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), 
dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 3.2.0, 
BuildID[sha1]=87db889a25d481762a8d2c7aaa1bd52af2458915, not stripped

Regards,
Jakob

On 02.02.2018 17:14, Bruce Ashfield wrote:
> On 2018-02-02 10:57 AM, Jakob Hasse wrote:
>> Hello Bruce,
>>
>> Thank you for the advice with the morty branch, this worked perfectly.
>>
>> Now, however, docker is installed on my Yocto-system but I can't run it:
>>
>> ~# docker
>> -sh: /usr/bin/docker: No such file or directory
>
> I've seen this before. It normally means that the executable isn't
> in a format that your target recognizes. It could very well be the
> go support in the older branch isn't building the right thing.
>
> What does 'file' say about the executable ?
>
> Bruce
>
>>
>> Is "docker" the client to control and run containers (e.g. "docker 
>> run hello-world")?
>> On my Ubuntu machine, this works, I installed docker and docker.io 
>> via apt, then I could run "docker run hello-world".
>>
>> All the Best and many thanks in advance!
>> Jakob
>>
>> On 26.01.2018 14:05, Bruce Ashfield wrote:
>>> On 2018-01-26 6:52 AM, Jakob Hasse wrote:
>>>> Hello,
>>>>
>>>> we're trying to include meta-virtualization in to our project, in 
>>>> particular, we want to use docker. However, as soon as I include 
>>>> the layer in to our project, bitbake complains:
>>>>
>>>> bitbake -C compile core-image-base
>>>> NOTE: Started PRServer with DBfile: 
>>>> /home/jakob/workspace/beerstation/cache/prserv.sqlite3, IP: 
>>>> 127.0.0.1, PORT: 46136, PID: 5713
>>>> ERROR: Execution of event handler 'virt_bbappend_distrocheck' failed
>>>> Traceback (most recent call last):
>>>>    File 
>>>> "/usr/local/dey-2.2/sources/meta-virtualization/classes/sanity-meta-virt.bbclass", 
>>>> line 4, in virt_bbappend_distrocheck(e=<bb.event.SanityCheck object 
>>>> at 0x7f945e05d3c8>):
>>>>       python virt_bbappend_distrocheck() {
>>>>      >    skip_check = e.data.getVar('SKIP_META_VIRT_SANITY_CHECK') 
>>>> == "1"
>>>>           if 'virtualization' not in 
>>>> e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
>>>> TypeError: getVar() missing 1 required positional argument: 'expand'
>>>>
>>>> ERROR: Command execution failed: Traceback (most recent call last):
>>>>    File 
>>>> "/usr/local/dey-2.2/sources/poky/bitbake/lib/bb/command.py", line 
>>>> 101, in runAsyncCommand
>>>>      self.cooker.updateCache()
>>>>    File "/usr/local/dey-2.2/sources/poky/bitbake/lib/bb/cooker.py", 
>>>> line 1627, in updateCache
>>>>      bb.event.fire(bb.event.SanityCheck(False), 
>>>> self.databuilder.mcdata[mc])
>>>>    File "/usr/local/dey-2.2/sources/poky/bitbake/lib/bb/event.py", 
>>>> line 201, in fire
>>>>      fire_class_handlers(event, d)
>>>>    File "/usr/local/dey-2.2/sources/poky/bitbake/lib/bb/event.py", 
>>>> line 124, in fire_class_handlers
>>>>      execute_handler(name, handler, event, d)
>>>>    File "/usr/local/dey-2.2/sources/poky/bitbake/lib/bb/event.py", 
>>>> line 96, in execute_handler
>>>>      ret = handler(event)
>>>>    File 
>>>> "/usr/local/dey-2.2/sources/meta-virtualization/classes/sanity-meta-virt.bbclass", 
>>>> line 4, in virt_bbappend_distrocheck
>>>>      skip_check = e.data.getVar('SKIP_META_VIRT_SANITY_CHECK') == "1"
>>>> TypeError: getVar() missing 1 required positional argument: 'expand'
>>>>
>>>>
>>>> Summary: There were 2 ERROR messages shown, returning a non-zero 
>>>> exit code.
>>>>
>>>>
>>>> Do we need to checkout a specific branch or so (though I can't find 
>>>> one right now)?
>>>> Do we need to change some kernel configuration? I added all 
>>>> virtualization drivers in the "drivers" section of the kernel 
>>>> config already.
>>>>
>>>> We're using DIGI embedded Yocto 2.2 (poky).
>>>>
>>>
>>> You need to check out the matching branch to the release you've
>>> been given as an enablement, since some of the APIs, etc, have
>>> changed and the meta-virt sanity check that was added later than
>>> the 2.2 release isn't working.
>>>
>>> 2.2 was the 'morty' release, and meta-virt does have a branch for
>>> that:
>>>
>>> ----------
>>> % git whatchanged origin/morty
>>>
>>> commit eb6b5129561eda9ea1f47e85ab9ed9e5a6b8f64c
>>> Author: Fabio Berton <fabio.berton at ossystems.com.br>
>>> Date:   Tue Nov 28 09:15:59 2017 -0200
>>>
>>>     python-*: use https for pypi URLs
>>>
>>>     Several of the recipes here were using http URLs for source 
>>> hosted on
>>>     pypi - pypi apparently no longer supports http so switch to https
>>>     instead.
>>>
>>>     Apply this commit [1] to morty branch.
>>>     [1] 
>>> https://www.mail-archive.com/meta-virtualization@yoctoproject.org/msg02821.html 
>>>
>>>
>>>     Signed-off-by: Fabio Berton <fabio.berton at ossystems.com.br>
>>>     Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
>>> ---------
>>>
>>> So check out the morty branch and you'll have better luck.
>>>
>>> Bruce
>>>
>>>
>>>> Thanks and all the best,
>>>> Jakob
>>>>
>>>
>>
>

-- 
Jakob Hasse
Software Developement

E: jakob.hasse at smart-home-technology.ch
T: +41 44 552 02 66

Smart Home Technology GmbH
www.smart-home-technology.ch




More information about the yocto mailing list