aind-containers / aind

AinD: Android in Docker. Ain't an emulator.
Apache License 2.0
1.49k stars 90 forks source link

Does not work on Windows 10 #17

Open eduard93 opened 4 years ago

eduard93 commented 4 years ago

Logs:

PS C:\Users\eduard>[System.Environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      18362  0

PS C:\Users\eduard>docker --version
Docker version 19.03.8, build afacb8b

PS C:\Users\eduard> docker run -td --name aind --privileged -p 5900:5900 aind/aind
Unable to find image 'aind/aind:latest' locally
latest: Pulling from aind/aind
Status: Downloaded newer image for aind/aind:latest
e584dac9ff39b7461d2bae0986eaf565fceb0521aabbfd81b28a8d65566e8dbe

PS C:\Users\eduard> docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS                 PORTS                                                                NAMES
e584dac9ff39        aind/aind                   "/docker-entrypoint.…"   8 minutes ago       Up 8 minutes           0.0.0.0:5900->5900/tcp                                               aind

PS C:\Users\eduard> docker logs aind
Created symlink /etc/systemd/system/systemd-firstboot.service → /dev/null.
Created symlink /etc/systemd/system/systemd-udevd.service → /dev/null.
Created symlink /etc/systemd/system/multi-user.target.wants/docker-entrypoint.service → /etc/systemd/system/docker-entrypoint.service.
/docker-entrypoint.sh: starting /lib/systemd/systemd --show-status=false --unit=docker-entrypoint.target
Failed to look up module alias 'autofs4': Function not implemented
systemd 245.4-2ubuntu1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
Detected virtualization docker.
Detected architecture x86-64.
Failed to create symlink /sys/fs/cgroup/net_prio: File exists
Failed to create symlink /sys/fs/cgroup/net_cls: File exists
Failed to create symlink /sys/fs/cgroup/cpuacct: File exists
Failed to create symlink /sys/fs/cgroup/cpu: File exists
Set hostname to <e584dac9ff39>.
/lib/systemd/system/dbus.socket:5: ListenStream= references a path below legacy directory /var/run/, updating /var/run/dbus/system_bus_socket → /run/dbus/system_bus_socket; please update the unit file accordingly.
modprobe@drm.service: Succeeded.
+ source /etc/docker-entrypoint-cmd
++ unsudo /home/user/docker-2ndboot.sh
+ car=/home/user/docker-2ndboot.sh
+ shift
+ cdr=
++ which /home/user/docker-2ndboot.sh
+ exec machinectl shell user@ /home/user/docker-2ndboot.sh
Connected to the local host. Press ^] three times within 1s to exit session.
+ export DISPLAY=:0
+ DISPLAY=:0
+ Xvfb
+ '[' -e /tmp/.X11-unix/X0 ']'
+ sleep 1
+ '[' -e /tmp/.X11-unix/X0 ']'
+ : FIXME: remove this sleep
+ sleep 1
+ : FIXME: remove this sleep
+ sleep 1
+ x11vnc
###############################################################
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
#@                                                           @#
#@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
#@                                                           @#
#@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
#@                                                           @#
#@  This means anyone with network access to this computer   @#
#@  may be able to view and control your desktop.            @#
#@                                                           @#
#@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
#@                                                           @#
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
#@                                                           @#
#@  You can create an x11vnc password file by running:       @#
#@                                                           @#
#@       x11vnc -storepasswd password /path/to/passfile      @#
#@  or   x11vnc -storepasswd /path/to/passfile               @#
#@  or   x11vnc -storepasswd                                 @#
#@                                                           @#
#@  (the last one will use ~/.vnc/passwd)                    @#
#@                                                           @#
#@  and then starting x11vnc via:                            @#
#@                                                           @#
#@      x11vnc -rfbauth /path/to/passfile                    @#
#@                                                           @#
#@  an existing ~/.vnc/passwd file from another VNC          @#
#@  application will work fine too.                          @#
#@                                                           @#
#@  You can also use the -passwdfile or -passwd options.     @#
#@  (note -passwd is unsafe if local users are not trusted)  @#
#@                                                           @#
#@  Make sure any -rfbauth and -passwdfile password files    @#
#@  cannot be read by untrusted users.                       @#
#@                                                           @#
#@  Use x11vnc -usepw to automatically use your              @#
#@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
#@  (and prompt you to create ~/.vnc/passwd if neither       @#
#@  file exists.)  Under -usepw, x11vnc will exit if it      @#
#@  cannot find a password to use.                           @#
#@                                                           @#
#@                                                           @#
#@  Even with a password, the subsequent VNC traffic is      @#
#@  sent in the clear.  Consider tunnelling via ssh(1):      @#
#@                                                           @#
#@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
#@                                                           @#
#@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
#@                                                           @#
#@  Please Read the documentation for more info about        @#
#@  passwords, security, and encryption.                     @#
#@                                                           @#
#@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
#@                                                           @#
#@  To disable this warning use the -nopw option, or put     @#
#@  'nopw' on a line in your ~/.x11vncrc file.               @#
#@                                                           @#
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
###############################################################
+ systemctl is-system-running --wait
+ fvwm
degraded
+ systemctl status anbox-container-manager --no-pager
● anbox-container-manager.service - Anbox Container Manager
     Loaded: loaded (/lib/systemd/system/anbox-container-manager.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2020-04-11 11:34:10 UTC; 4s ago
    Process: 41 ExecStartPre=/sbin/modprobe ashmem_linux (code=exited, status=1/FAILURE)
    Process: 45 ExecStopPost=/usr/local/share/anbox/anbox-bridge.sh stop (code=exited, status=1/FAILURE)

Apr 11 11:34:10 e584dac9ff39 systemd[1]: Starting Anbox Container Manager...
Apr 11 11:34:10 e584dac9ff39 modprobe[41]: modprobe: FATAL: Module ashmem_l…xkit
Apr 11 11:34:10 e584dac9ff39 systemd[1]: anbox-container-manager.service: C…LURE
Apr 11 11:34:10 e584dac9ff39 anbox-bridge.sh[45]: anbox-bridge isn't running
Apr 11 11:34:10 e584dac9ff39 systemd[1]: anbox-container-manager.service: C…LURE
Apr 11 11:34:10 e584dac9ff39 systemd[1]: anbox-container-manager.service: F…de'.
Apr 11 11:34:10 e584dac9ff39 systemd[1]: Failed to start Anbox Container Ma…ger.
Hint: Some lines were ellipsized, use -l to show in full.
+ finish
+ figlet ERROR
 _____ ____  ____   ___  ____
| ____|  _ \|  _ \ / _ \|  _ \
|  _| | |_) | |_) | | | | |_) |
| |___|  _ <|  _ <| |_| |  _ <
|_____|_| \_\_| \_\\___/|_| \_\

+ echo 'ERROR: failed!'
ERROR: failed!
+ : FIXME: the container should shutdown automatically here
X connection to :0 broken (explicit kill or server shutdown).
PS C:\Users\eduard>

Any ideas?

AkihiroSuda commented 4 years ago

You need ashmem_linux.ko and binder_linux.ko . Not sure how we can build these modules for Docker for Windows.

hbakhtiyor commented 4 years ago

@eduard93 did you find the solution?

AkihiroSuda commented 4 years ago

The easiest" solution" available now is to install Ubuntu on VMware or VirtualBox :(

AkihiroSuda commented 4 years ago

Requested in https://github.com/linuxkit/linuxkit/issues/3495

hbakhtiyor commented 4 years ago

how about using "Windows Subsystem for Linux" in win10?

thaJeztah commented 4 years ago

/cc @simonferquel @djs55 ptal

simonferquel commented 4 years ago

Iiuc, adding the kernel configs would not entirely fix everything: it seems to rely on an x11 server running locally (log entry with export DISPLAY=0). It won't be the case on docker desktop.

AkihiroSuda commented 4 years ago

Xvfb, not real X