google-coral / edgetpu

Coral issue tracker (and legacy Edge TPU API source)
https://coral.ai
Apache License 2.0
433 stars 125 forks source link

unable to install docker on google coral dev mini board #299

Open saket424 opened 3 years ago

saket424 commented 3 years ago

I am trying to install docker on the google dev miniboard and am runnig into issues

mendel@vexing-bunny:~/docker-stuff/docker$ sudo apt-get install containerd.io docker-ce docker-ce-cli 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  glmark2 libdrm-dev libdrm-tegra0 libegl1-mesa-dev libgbm-dev libgl1-mesa-dev libgles1 libgles2-mesa libgles2-mesa-dev libglew2.1
  libglvnd-core-dev libglvnd-dev libnspr4 libnss3 libopengl0 libosmesa6 libpng-dev libpthread-stubs0-dev libsecret-1-0 libsecret-common
  libwayland-bin libwayland-dev libx11-dev libx11-xcb-dev libxau-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev
  libxcb-randr0 libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb1-dev libxdamage-dev
  libxdmcp-dev libxext-dev libxfixes-dev libxshmfence-dev libxxf86vm-dev libyaml-0-2 mesa-common-dev mesa-utils python3-cached-property
  python3-docopt python3-jsonschema python3-texttable python3-websocket python3-yaml tini wayland-protocols x11proto-core-dev
  x11proto-damage-dev x11proto-dev x11proto-fixes-dev x11proto-xext-dev x11proto-xf86vidmode-dev xorg-sgml-doctools xtrans-dev zlib1g-dev
Use 'sudo apt autoremove' to remove them.
Suggested packages:
  cgroupfs-mount | cgroup-lite
Recommended packages:
  apparmor docker-ce-rootless-extras pigz
The following NEW packages will be installed:
  containerd.io docker-ce docker-ce-cli
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/75.6 MB of archives.
After this operation, 372 MB of additional disk space will be used.
Selecting previously unselected package containerd.io.
(Reading database ... 46075 files and directories currently installed.)
Preparing to unpack .../containerd.io_1.4.3-1_arm64.deb ...
Unpacking containerd.io (1.4.3-1) ...
Selecting previously unselected package docker-ce-cli.
Preparing to unpack .../docker-ce-cli_5%3a20.10.2~3-0~debian-buster_arm64.deb ...
Unpacking docker-ce-cli (5:20.10.2~3-0~debian-buster) ...
Selecting previously unselected package docker-ce.
Preparing to unpack .../docker-ce_5%3a20.10.2~3-0~debian-buster_arm64.deb ...
Unpacking docker-ce (5:20.10.2~3-0~debian-buster) ...
Setting up containerd.io (1.4.3-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Setting up docker-ce-cli (5:20.10.2~3-0~debian-buster) ...
Setting up docker-ce (5:20.10.2~3-0~debian-buster) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: activating (auto-restart) (Result: exit-code) since Mon 2021-01-18 19:20:50 UTC; 30ms ago
     Docs: https://docs.docker.com
  Process: 1934 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 1934 (code=exited, status=1/FAILURE)
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for systemd (241-7~deb10u4) ...
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)
mendel@vexing-bunny:~/docker-stuff/docker$
saket424 commented 3 years ago

https://stackoverflow.com/questions/65620825/docker-does-not-run-on-coral-dev-board-mini

Namburger commented 3 years ago

ahh, I see it is missing some kernel modules

saket424 commented 3 years ago

@Namburger i would really appreciate a kernel update so an "apt-get install containerd.io docker-ce docker-ce-cli" succeeds out of the box on this mediatek platform

Thanks in advance

saket424 commented 3 years ago

@Namburger I tried following the steps outlined in the stackoverflow link above but I continue to have troubles launching docker. which kernel module is missing?

saket424 commented 3 years ago

@Namburger I replaced /usr/bin/dockerd with the static version available in wget https://download.docker.com/linux/static/stable/aarch64/docker-20.10.2.tgz

and it magically worked with the new kernel which has the overlay2 driver

Namburger commented 3 years ago

@Namburger i would really appreciate a kernel update so an "apt-get install containerd.io docker-ce docker-ce-cli" succeeds out of the box on this mediatek platform

Thanks in advance

Thanks for your input. The problem is that MendelOS were designed with prototyping in mind and we did not want to add too much non ML related features that would bloat the kernel. I do see merit in supporting docker, though. I'll put this in as a feature request.

saket424 commented 3 years ago

@Namburger Unlike the mediatek mt8167s_excelsior mini coral dev board, the NXP i.MX 8M SoC coral dev board kernel supports docker. Both run mendel linux. So feature parity is yet another reason to normalize the kernel options across the two dev board platforms

saket424 commented 3 years ago

@Namburger Any update from the devteam on when the stock kernel on the minidevboard may support docker?