All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: Jakob Hasse <jakob.hasse@smart-home-technology.ch>,
	Bruce Ashfield <bruce.ashfield@windriver.com>,
	yocto@yoctoproject.org
Subject: Re: Running Docker
Date: Wed, 28 Feb 2018 18:16:10 -0800	[thread overview]
Message-ID: <40f44aed-0c71-22a1-1ebb-17b44db10949@gmail.com> (raw)
In-Reply-To: <deb8c959-1c58-52a3-3c0e-efa48a7a7fcd@smart-home-technology.ch>

On 2/28/18 2:05 AM, Jakob Hasse wrote:
> Hello Bruce,
> 
> I kind of fixed the problem by creating a link with the name of the
> interpreter which the docker executable expects, pointing to the normal
> /lib/ld-linux-armhf.so.3 interpreter. After that, docker would run.
> 

you might be better served if you can find the underlying ldso name and
ABI being used. link might work on loading it but there could be further
runtime issues.

> All the Best,
> Jakob
> 
> On 06.02.2018 02:15, Bruce Ashfield wrote:
>> On 2018-02-05 4:58 PM, Jakob Hasse wrote:
>>> Hello Bruce,
>>>
>>> Thanks for the reply!
>>> No, the interpreter seems to be different, other executables are e.g.:
>>>
>>> # file /usr/bin/python2.7
>>> /usr/bin/python2.7: ELF 32-bit LSB executable, ARM, EABI5 version 1
>>> (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for
>>> GNU/Linux 3.2.0,
>>> BuildID[sha1]=b7d18ea9c9088e4b238dc8aeaaf47d6d4941079c, stripped
>>>
>>> # file /usr/bin/udevadm
>>> /usr/bin/udevadm: ELF 32-bit LSB executable, ARM, EABI5 version 1
>>> (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for
>>> GNU/Linux 3.2.0,
>>> BuildID[sha1]=cf639576658cfa150a456672666c2560d58c5f1b, stripped
>>>
>>> custom app:
>>> # file /usr/bin/goms
>>> /usr/bin/goms: ELF 32-bit LSB executable, ARM, EABI5 version 1
>>> (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for
>>> GNU/Linux 3.2.0,
>>> BuildID[sha1]=2d6df18a0b70632a94caee30d4e21c35da235d34, stripped
>>>
>>
>> So this is what Khem was saying, docker is built with softfloat
>> while the rest of the system is hard float.
>>
>> Given that this is an older branch, the go build infrastructure
>> is different, but you'll need to look at the arch that is being
>> exported in the recipe and make sure that it is arm hard float, not
>> soft.
>>
>> Bruce
>>
>>> All the Best,
>>> Jakob
>>>
>>> On 05.02.2018 19:05, Bruce Ashfield wrote:
>>>> 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@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@ossystems.com.br>
>>>>>>>>     Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
>>>>>>>> ---------
>>>>>>>>
>>>>>>>> So check out the morty branch and you'll have better luck.
>>>>>>>>
>>>>>>>> Bruce
>>>>>>>>
>>>>>>>>
>>>>>>>>> Thanks and all the best,
>>>>>>>>> Jakob
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
> 



      reply	other threads:[~2018-03-01  2:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-26 11:52 adding meta-virtualization gives bitbake error Jakob Hasse
2018-01-26 13:05 ` Bruce Ashfield
2018-02-02 15:57   ` Running Docker Jakob Hasse
2018-02-02 16:14     ` Bruce Ashfield
2018-02-02 16:21       ` Jakob Hasse
2018-02-05 18:05         ` Bruce Ashfield
2018-02-05 18:29           ` Khem Raj
2018-02-05 21:58           ` Jakob Hasse
2018-02-06  1:15             ` Bruce Ashfield
2018-02-28 10:05               ` Jakob Hasse
2018-03-01  2:16                 ` Khem Raj [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=40f44aed-0c71-22a1-1ebb-17b44db10949@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=bruce.ashfield@windriver.com \
    --cc=jakob.hasse@smart-home-technology.ch \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.