[yocto] Running Docker
Bruce Ashfield
bruce.ashfield at windriver.com
Mon Feb 5 10:05:14 PST 2018
On 02/02/2018 11:21 AM, Jakob Hasse wrote:
> 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
>
Sorry for the slow reply, I was away for a bit.
And does that description match your target (and the other executables)
that do work ? If the kernel doesn't recognize the binary interpreter
of an executable, the message you are seeing is what you get.
Cheers,
Bruce
> 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
>>>>>
>>>>
>>>
>>
>
More information about the yocto
mailing list