Hello Bruce, Thank you for the inputs.
Yes, I use linux-yocto. The target linux version is below. Linux imx8mpevk 5.15.32-rt39-lts-next+g2a8a193a07b4 #1 SMP PREEMPT_RT Tue Jun 7 02:34:46 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux The layers used are in the link below. https://source.codeaurora.org/external/imx/imx-manifest/tree/imx-5.15.32-2.0.0.xml?h=imx-linux-kirkstone I tried to add *IMAGE_INSTALL:append = " kernel-modules"* in local.conf but it did not make any difference. The docker version I am running on the target is *20.10.12-ce* Below is the error I am getting on the target. root@imx8mpevk:~#* docker run hello-world* [ 1359.005452] docker0: port 1(veth4dc9000) entered blocking state [ 1359.005512] docker0: port 1(veth4dc9000) entered disabled state [ 1359.005921] device veth4dc9000 entered promiscuous mode [ 1359.005994] audit: type=1700 audit(1677283528.914:37): dev=veth4dc9000 prom=256 old_prom=0 auid=4294967295 uid=0 gid=0 ses=4294967295 [ 1359.013139] audit: type=1300 audit(1677283528.914:37): arch=c00000b7 syscall=206 success=yes exit=40 a0=e a1=4000ec0d50 a2=28 a3=0 items=0 ppid=1 pid=446 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="dockerd" exe="/usr/bin/dockerd" key=(null) [ 1359.013228] audit: type=1327 audit(1677283528.914:37): proctitle=2F7573722F62696E2F646F636B657264002D480066643A2F2F [ 1359.263483] docker0: port 1(veth4dc9000) entered disabled state [ 1359.298263] device veth4dc9000 left promiscuous mode [ 1359.298305] docker0: port 1(veth4dc9000) entered disabled state [ 1359.298646] audit: type=1700 audit(1677283529.164:38): dev=veth4dc9000 prom=0 old_prom=256 auid=4294967295 uid=0 gid=0 ses=4294967295 *docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: can't get final child's PID from pipe: EOF: unknown.* *ERRO[0000] error waiting for container: context canceled* Also sending the local.conf and bblayers.conf file local.conf: MACHINE ??= 'imx8mpevk' DISTRO ?= 'fsl-imx-wayland' PACKAGE_CLASSES ?= 'package_rpm' EXTRA_IMAGE_FEATURES ?= "debug-tweaks" USER_CLASSES ?= "buildstats" PATCHRESOLVE = "noop" BB_DISKMON_DIRS ??= "\ STOPTASKS,${TMPDIR},1G,100K \ STOPTASKS,${DL_DIR},1G,100K \ STOPTASKS,${SSTATE_DIR},1G,100K \ STOPTASKS,/tmp,100M,100K \ HALT,${TMPDIR},100M,1K \ HALT,${DL_DIR},100M,1K \ HALT,${SSTATE_DIR},100M,1K \ HALT,/tmp,10M,1K" PACKAGECONFIG:append:pn-qemu-system-native = " sdl" CONF_VERSION = "2" DL_DIR ?= "${BSPDIR}/downloads/" ACCEPT_FSL_EULA = "1" # Switch to Debian packaging and include package-management in the image PACKAGE_CLASSES = "package_deb" EXTRA_IMAGE_FEATURES += "package-management" DISTRO_FEATURES:append = " virtualization" IMAGE_INSTALL:append = " docker-ce" IMAGE_INSTALL:append = " kernel-modules" EXTRA_IMAGE_FEATURES = "debug-tweaks tools-profile" bblayers.conf LCONF_VERSION = "7" BBPATH = "${TOPDIR}" BSPDIR := ${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')} <$%[email protected](os.path.dirname(d.getVar('FILE',%20True))%20+%20'/../..')%7d> BBFILES ?= "" BBLAYERS = " \ ${BSPDIR}/sources/poky/meta \ ${BSPDIR}/sources/poky/meta-poky \ \ ${BSPDIR}/sources/meta-openembedded/meta-oe \ ${BSPDIR}/sources/meta-openembedded/meta-multimedia \ ${BSPDIR}/sources/meta-openembedded/meta-python \ \ ${BSPDIR}/sources/meta-freescale \ ${BSPDIR}/sources/meta-freescale-3rdparty \ ${BSPDIR}/sources/meta-freescale-distro \ " # i.MX Yocto Project Release layers BBLAYERS += "${BSPDIR}/sources/meta-imx/meta-bsp" BBLAYERS += "${BSPDIR}/sources/meta-imx/meta-sdk" BBLAYERS += "${BSPDIR}/sources/meta-imx/meta-ml" BBLAYERS += "${BSPDIR}/sources/meta-imx/meta-v2x" #BBLAYERS += "${BSPDIR}/sources/meta-nxp-demo-experience" #BBLAYERS += "${BSPDIR}/sources/meta-browser/meta-chromium" #BBLAYERS += "${BSPDIR}/sources/meta-clang" #BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-gnome" BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-networking" BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-filesystems" BBLAYERS += "${BSPDIR}/sources/meta-virtualization" BBLAYERS += "${BSPDIR}/sources/meta-teledyne-wapng" BBLAYERS += "${BSPDIR}/sources/meta-aws" Regards Simon On Thu, Feb 23, 2023 at 12:03 PM Bruce Ashfield <[email protected]> wrote: > On Wed, Feb 22, 2023 at 9:47 PM SIMON BABY <[email protected]> wrote: > > > > Hello Team, > > > > Can I know what are the changes required in yocto to run docker and its > dependencies on my target embedded system. I have added the below changes. > Do I need more plugins and packages ? > > > > bblayers.conf: > > > > > > > > BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-networking" > > > > BBLAYERS += "${BSPDIR}/sources/meta-openembedded/meta-filesystems" > > > > BBLAYERS += "${BSPDIR}/sources/meta-virtualization" > > > > > > > > local.conf: > > > > > > > > DISTRO_FEATURES:append = " virtualization" > > > > IMAGE_INSTALL:append = " docker-ce" > > > > You likely are missing kernel configuration values required to run the > containers. > > What kernel are you using (linux-yocto?), and are you on the master > branch of the layers ? > > As you can see, it is working in my latest tests: > > root@qemux86-64:~# docker --version > Docker version 23.0.1, build a5ee5b1dfc > root@qemux86-64:~# docker pull alpine > Using default tag: latest > latest: Pulling from library/alpine > 63b65145d645: Pull complete > Digest: > sha256:69665d02cb32192e52e07644d76bc6f25abeb5410edc1c7a81a10ba3f0efb90a > Status: Downloaded newer image for alpine:latest > docker.io/library/alpine:latest > root@qemux86-64:~# docker run -it alpine /bin/sh > / # > > Try adding "kernel-modules" to your IMAGE_INSTALL, and see if that > makes a difference. > > Bruce > > > > > > > > WIth the above changes and tested on the target I am getting the below > error when try to run "docker run hello-world" > > > > > > root@imx8mpevk:~# docker run hello-world > > DEBU[2023-02-23T00:53:57.064704083Z] Calling HEAD /_ping > > DEBU[2023-02-23T00:53:57.068355788Z] Calling POST > /v1.41/containers/create > > DEBU[2023-02-23T00:53:57.069098805Z] form data: > {“AttachStderr”:true,“AttachStdin”:false,“AttachStdout”:true,“Cmd”:null,“Domainname”:“”,“Entrypoint”:null,“Env”:null,“HostConfig”:{“AutoRemove”:false,“Binds”:null,“BlkioDeviceReadBps”:null,“BlkioDeviceReadIOps”:null,“BlkioDeviceWriteBps”:null,“BlkioDeviceWriteIOps”:null,“BlkioWeight”:0,“BlkioWeightDevice”:,“CapAdd”:null,“CapDrop”:null,“Cgroup”:“”,“CgroupParent”:“”,“CgroupnsMode”:“”,“ConsoleSize”:[0,0],“ContainerIDFile”:“”,“CpuCount”:0,“CpuPercent”:0,“CpuPeriod”:0,“CpuQuota”:0,“CpuRealtimePeriod”:0,“CpuRealtimeRuntime”:0,“CpuShares”:0,“CpusetCpus”:“”,“CpusetMems”:“”,“DeviceCgroupRules”:null,“DeviceRequests”:null,“Devices”:,“Dns”:,“DnsOptions”:,“DnsSearch”:,“ExtraHosts”:null,“GroupAdd”:null,“IOMaximumBandwidth”:0,“IOMaximumIOps”:0,“IpcMode”:“”,“Isolation”:“”,“KernelMemory”:0,“KernelMemoryTCP”:0,“Links”:null,“LogConfig”:{“Config”:{},“Type”:“”},“MaskedPaths”:null,“Memory”:0,“MemoryReservation”:0,“MemorySwap”:0,“MemorySwappiness”:-1,“NanoCpus”:0,“NetworkMode”:“default”,“OomKillDisable”:false,“OomScoreAdj”:0,“PidMode”:“”,“PidsLimit”:0,“PortBindings”:{},“Privileged”:false,“PublishAllPorts”:false,“ReadonlyPaths”:null,“ReadonlyRootfs”:false,“RestartPolicy”:{“MaximumRetryCount”:0,“Name”:“no”},“SecurityOpt”:null,“ShmSize”:0,“UTSMode”:“”,“Ulimits”:null,“UsernsMode”:“”,“VolumeDriver”:“”,“VolumesFrom”:null},“Hostname”:“”,“Image”:“hello-world”,“Labels”:{},“NetworkingConfig”:{“EndpointsConfig”:{}},“OnBuild”:null,“OpenStdin”:false,“Platform”:null,“StdinOnce”:false,“Tty”:false,“User”:“”,“Volumes”:{},“WorkingDir”:“”} > > DEBU[25846.680992] docker0: port 1(veth659d267) entered blocking state > > [25846.681041] docker0: port 1(veth659d267) entered disabled state > > [2023-02-23T00:53:57.121358454Z] [25846.681312] device veth659d267 > entered promiscuous mode > > container mounted via layerStore:[25846.681392] audit: type=1700 > audit(1677113637.219:205): dev=veth659d267 prom=256 old_prom=0 > auid=4294967295 uid=0 gid=0 ses=4294967295 > > &{/var/lib/docker/overlay2/d664e[25846.683022] audit: type=1300 > audit(1677113637.219:205): arch=c00000b7 syscall=206 success=yes exit=40 > a0=d a1=4000c507b0 a2=28 a3=0 items=0 ppid=409 pid=1551 auid=4294967295 > uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc1 > ses=4294967295 comm=“dockerd” exe=“/usr/bin/dockerd” key=(null) > > 7963d79b51cb1322f9995853ff56f54a3[25846.683091] audit: type=1327 > audit(1677113637.219:205): proctitle=2F7573722F62696E2F646F636B657264002D44 > > aa2994ae5b99b3bcb65c33ec2f/merged 0xaaaabdb0b060 0xaaaabdb0b060} > container=4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190 > > DEBU[2023-02-23T00:53:57.184741848Z] Calling POST > /v1.41/containers/4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190/attach?stderr=1&stdout=1&stream=1 > > DEBU[2023-02-23T00:53:57.185112606Z] attach: stderr: begin > > DEBU[2023-02-23T00:53:57.185130357Z] attach: stdout: begin > > DEBU[2023-02-23T00:53:57.186340258Z] Calling POST > /v1.41/containers/4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190/wait?condition=next-exit > > DEBU[2023-02-23T00:53:57.188347802Z] Calling POST > /v1.41/containers/4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190/start > > DEBU[2023-02-23T00:53:57.190864983Z] container mounted via layerStore: > &{/var/lib/docker/overlay2/d664e7963d79b51cb1322f9995853ff56f54a3aa2994ae5b99b3bcb65c33ec2f/merged > 0xaaaabdb0b060 0xaaaabdb0b060} > container=4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190 > > DEBU[2023-02-23T00:53:57.191993758Z] Assigning addresses for endpoint > crazy_bell’s interface on network bridge > > DEBU[2023-02-23T00:53:57.192083760Z] RequestAddress(LocalDefault/ > 172.17.0.0/16, , map) > > DEBU[2023-02-23T00:53:57.192149761Z] Request address PoolID: > 172.17.0.0/16 App: ipam/default/data, ID: LocalDefault/172.17.0.0/16, > DBIndex: 0x0, Bits: 65536, Unselected: 65533, Sequence: (0xc0000000, > 1)->(0x0, 2046)->(0x1, 1)->end Curr:3 Serial:false PrefAddress: > > ERRO[2023-02-23T00:53:57.192262764Z] failed to set to initial namespace, > readlink /proc/1551/task/1555/ns/net: no such file or directory, initns fd > -1: bad file descriptor > > DEBU[2023-02-23T00:53:57.252893597Z] Assigning addresses for endpoint > crazy_bell’s interface on network bridge > > ERRO[2023-02-23T00:53:57.274329693Z] failed to set to initial namespace, > readlink /proc/1551/task/1555/ns/net: no such file or directory, initns fd > -1: bad file descriptor > > DEBU[2023-02-23T00:53:57.294111754Z] Programming external connectivity > on endpoint crazy_bell > (1a86f3778b61204dcc7106bed28728a001028ba51f5c5fe731042007ec0ebd3c) > > ERRO[2023-02-23T00:53:57.299150489Z] failed [25846.962844] docker0: port > 1(veth659d267) entered disabled state > > to set to initial namespace, readlink /proc/1551/task/1555/ns/net: no > such file or directory, initns fd -1: bad file descriptor > > DEBU[2023-02-23T00:53:57.304933242Z] EnableService > 4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190 START > > DEBU[2023-02-23T00:53:57.305002118Z] Enabl[25846.996647] device > veth659d267 left promiscuous mode > > eService 4f926f032e0566c4dbdfbb02[25846.996686] docker0: port > 1(veth659d267) entered disabled state > > [25846.996703] audit: type=1700 audit(1677113637.488:206): > dev=veth659d267 prom=0 old_prom=256 auid=4294967295 uid=0 gid=0 > ses=4294967295 > > 7787b42e6e19ef6e633864f09a4c9edbdb62d190 DONE > > DEBU[2023-02-23T00:53:57.313909564Z] bundle dir created > bundle=/var/run/docker/containerd/4f926f032e0566c4dbdfbb027787b42e6e19ef[25847.040986] > audit: type=1300 audit(1677113637.488:206): arch=c00000b7 syscall=206 > success=yes exit=32 a0=d a1=4000ccd240 a2=20 a3=0 items=0 ppid=409 pid=1551 > auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 > tty=ttymxc1 ses=4294967295 comm=“dockerd” exe=“/usr/bin/dockerd” key=(null) > > [25847.041004] audit: type=1327 audit(1677113637.488:206): > proctitle=2F7573722F62696E2F646F636B657264002D44 > > 6e633864f09a4c9edbdb62d190 module=libcontainerd namespace=moby > root=/var/lib/docker/overlay2/d664e7963d79b51cb1322f9995853ff56f54a3aa2994ae5b99b3bcb65c33ec2f/merged > > ERRO[2023-02-23T00:53:57.445101824Z] stream copy error: reading from a > closed fifo > > ERRO[2023-02-23T00:53:57.445126200Z] stream copy error: reading from a > closed fifo > > DEBU[2023-02-23T00:53:57.445172451Z] attach: stderr: end > > DEBU[2023-02-23T00:53:57.445174576Z] attach: stdout: end > > DEBU[2023-02-23T00:53:57.445349705Z] attach done > > DEBU[2023-02-23T00:53:57.469084602Z] Revoking external connectivity on > endpoint crazy_bell > (1a86f3778b61204dcc7106bed28728a001028ba51f5c5fe731042007ec0ebd3c) > > ERRO[2023-02-23T00:53:57.469206980Z] failed to set to initial namespace, > readlink /proc/1551/task/1558/ns/net: no such file or directory, initns fd > -1: bad file descriptor > > ERRO[2023-02-23T00:53:57.475388115Z] failed to set to initial namespace, > readlink /proc/1551/task/1558/ns/net: no such file or directory, initns fd > -1: bad file descriptor > > ERRO[2023-02-23T00:53:57.489002290Z] failed to set to initial namespace, > readlink /proc/1551/task/1558/ns/net: no such file or directory, initns fd > -1: bad file descriptor > > DEBU[2023-02-23T00:53:57.587904715Z] Releasing addresses for endpoint > crazy_bell’s interface on network bridge > > DEBU[2023-02-23T00:53:57.610361084Z] ReleaseAddress(LocalDefault/ > 172.17.0.0/16, 172.17.0.2) > > DEBU[2023-02-23T00:53:57.619890544Z] Released address > PoolID:LocalDefault/172.17.0.0/16, Address:172.17.0.2 Sequence:App: > ipam/default/data, ID: LocalDefault/172.17.0.0/16, DBIndex: 0x0, Bits: > 65536, Unselected: 65532, Sequence: (0xe0000000, 1)->(0x0, 2046)->(0x1, > 1)->end Curr:3 > > ERRO[2023-02-23T00:53:57.659608292Z] > 4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190 cleanup: > failed to delete container from containerd: no such container > > ERRO[2023-02-23T00:53:57.659718420Z] Handler for POST > /v1.41/containers/4f926f032e0566c4dbdfbb027787b42e6e19ef6e633864f09a4c9edbdb62d190/start > returned error: failed to create shim task: OCI runtime create failed: runc > create failed: unable to start container process: can’t get final child’s > PID from pipe: EOF: unknown > > docker: Error response from daemon: failed to create shim task: OCI > runtime create failed: runc create failed: unable to start container > process: can’t get final child’s PID from pipe: EOF: unknown. > > ERRO[0000] error waiting for container: context canceled > > > > > > > > > > Regards > > > > Simon > > > > > > > > > > > > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end > - "Use the force Harry" - Gandalf, Star Trek II >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#7898): https://lists.yoctoproject.org/g/meta-virtualization/message/7898 Mute This Topic: https://lists.yoctoproject.org/mt/97175886/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
