= vivid verification = # My kernel has the problematic config ubuntu@cvm1:~$ grep CONFIG_ARM64_PGTABLE_LEVELS /boot/config-$(uname -r) CONFIG_ARM64_PGTABLE_LEVELS=4 # Build a clean vivid chroot ubuntu@cvm1:~$ mkdir lp1472650 ubuntu@cvm1:~$ sudo debootstrap --components 'main,universe' --include docker.io vivid lp1472650 http://ports.ubuntu.com/ubuntu-ports > /dev/null 2>&1 # docker needs proc to be mounted ubuntu@cvm1:~$ sudo mount proc lp1472650/proc -t proc ubuntu@cvm1:~$ sudo chroot lp1472650 docker help p=0xffff88459000 fatal error: runtime_lfstackpush: invalid pointer [--trim--] # It's buggy. Let's install the gccgo update ubuntu@cvm1:~$ echo 'deb http://ports.ubuntu.com/ubuntu-ports vivid-proposed main universe' | sudo tee -a lp1472650/etc/apt/sources.list > /dev/null ubuntu@cvm1:~$ sudo chroot lp1472650 apt-get update > /dev/null 2>&1 ubuntu@cvm1:~$ sudo chroot lp1472650 apt-get install libgo7 Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: gcc-5-base libgcc1 The following packages will be upgraded: gcc-5-base libgcc1 libgo7 3 upgraded, 0 newly installed, 0 to remove and 8 not upgraded. Need to get 6243 kB of archives. After this operation, 2048 B of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/universe libgo7 arm64 5.1~rc1-0ubuntu1.1 [6198 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main gcc-5-base arm64 5.1~rc1-0ubuntu1.1 [14.4 kB] Get:3 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main libgcc1 arm64 1:5.1~rc1-0ubuntu1.1 [31.0 kB] Fetched 4733 kB in 28s (166 kB/s) perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory) (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../libgo7_5.1~rc1-0ubuntu1.1_arm64.deb ... Unpacking libgo7:arm64 (5.1~rc1-0ubuntu1.1) over (5.1~rc1-0ubuntu1) ... Preparing to unpack .../gcc-5-base_5.1~rc1-0ubuntu1.1_arm64.deb ... Unpacking gcc-5-base:arm64 (5.1~rc1-0ubuntu1.1) over (5.1~rc1-0ubuntu1) ... Setting up gcc-5-base:arm64 (5.1~rc1-0ubuntu1.1) ... (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a5.1~rc1-0ubuntu1.1_arm64.deb ... Unpacking libgcc1:arm64 (1:5.1~rc1-0ubuntu1.1) over (1:5.1~rc1-0ubuntu1) ... Setting up libgcc1:arm64 (1:5.1~rc1-0ubuntu1.1) ... Setting up libgo7:arm64 (5.1~rc1-0ubuntu1.1) ... Processing triggers for libc-bin (2.21-0ubuntu4) ... ubuntu@cvm1:~$ sudo chroot lp1472650 docker help Usage: docker [OPTIONS] COMMAND [arg...] A self-sufficient runtime for linux containers. [--trim--] # It works now. # I also noticed that there's a docker update in vivid-proposed. # Let's make sure that works too: ubuntu@cvm1:~$ sudo chroot lp1472650 apt-get dist-upgrade -y Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages will be upgraded: apt apt-utils docker.io libapt-inst1.5 libapt-pkg4.12 login ntpdate passwd 8 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 9139 kB/9437 kB of archives. After this operation, 1219 kB of additional disk space will be used. Get:1 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main libapt-pkg4.12 arm64 1.0.9.7ubuntu4.2 [618 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main apt arm64 1.0.9.7ubuntu4.2 [976 kB] Get:3 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main libapt-inst1.5 arm64 1.0.9.7ubuntu4.2 [57.5 kB] Get:4 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main ntpdate arm64 1:4.2.6.p5+dfsg-3ubuntu6.1 [50.1 kB] Get:5 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main passwd arm64 1:4.1.5.1-1.1ubuntu4.1 [728 kB] Get:6 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main apt-utils arm64 1.0.9.7ubuntu4.2 [172 kB] Get:7 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/universe docker.io arm64 1.6.2~dfsg1-1ubuntu3~15.04.1 [6536 kB] Fetched 9139 kB in 51s (176 kB/s) perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory) (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../login_1%3a4.1.5.1-1.1ubuntu4.1_arm64.deb ... Unpacking login (1:4.1.5.1-1.1ubuntu4.1) over (1:4.1.5.1-1.1ubuntu4) ... Setting up login (1:4.1.5.1-1.1ubuntu4.1) ... (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../libapt-pkg4.12_1.0.9.7ubuntu4.2_arm64.deb ... Unpacking libapt-pkg4.12:arm64 (1.0.9.7ubuntu4.2) over (1.0.9.7ubuntu4) ... Setting up libapt-pkg4.12:arm64 (1.0.9.7ubuntu4.2) ... Processing triggers for libc-bin (2.21-0ubuntu4) ... (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../apt_1.0.9.7ubuntu4.2_arm64.deb ... Unpacking apt (1.0.9.7ubuntu4.2) over (1.0.9.7ubuntu4) ... Setting up apt (1.0.9.7ubuntu4.2) ... Processing triggers for libc-bin (2.21-0ubuntu4) ... (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../libapt-inst1.5_1.0.9.7ubuntu4.2_arm64.deb ... Unpacking libapt-inst1.5:arm64 (1.0.9.7ubuntu4.2) over (1.0.9.7ubuntu4) ... Preparing to unpack .../ntpdate_1%3a4.2.6.p5+dfsg-3ubuntu6.1_arm64.deb ... Unpacking ntpdate (1:4.2.6.p5+dfsg-3ubuntu6.1) over (1:4.2.6.p5+dfsg-3ubuntu6) ... Preparing to unpack .../passwd_1%3a4.1.5.1-1.1ubuntu4.1_arm64.deb ... Unpacking passwd (1:4.1.5.1-1.1ubuntu4.1) over (1:4.1.5.1-1.1ubuntu4) ... Processing triggers for ureadahead (0.100.0-19) ... Setting up passwd (1:4.1.5.1-1.1ubuntu4.1) ... (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../apt-utils_1.0.9.7ubuntu4.2_arm64.deb ... Unpacking apt-utils (1.0.9.7ubuntu4.2) over (1.0.9.7ubuntu4) ... Preparing to unpack .../docker.io_1.6.2~dfsg1-1ubuntu3~15.04.1_arm64.deb ... * Stopping Docker: docker No process in pidfile '/var/run/docker-ssd.pid' found running; none killed. invoke-rc.d: initscript docker, action "stop" failed. dpkg: warning: subprocess old pre-removal script returned error exit status 1 dpkg: trying script from the new package instead ... dpkg: ... it looks like that went OK Unpacking docker.io (1.6.2~dfsg1-1ubuntu3~15.04.1) over (1.5.0~dfsg1-1ubuntu2) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (219-7ubuntu3) ... Setting up libapt-inst1.5:arm64 (1.0.9.7ubuntu4.2) ... Setting up ntpdate (1:4.2.6.p5+dfsg-3ubuntu6.1) ... Setting up apt-utils (1.0.9.7ubuntu4.2) ... Setting up docker.io (1.6.2~dfsg1-1ubuntu3~15.04.1) ... Installing new version of config file /etc/bash_completion.d/docker ... Installing new version of config file /etc/init.d/docker ... Installing new version of config file /etc/init/docker.conf ... * Starting Docker: docker [ OK ] Processing triggers for libc-bin (2.21-0ubuntu4) ... Processing triggers for ureadahead (0.100.0-19) ... Processing triggers for systemd (219-7ubuntu3) ... ubuntu@cvm1:~$ sudo chroot lp1472650 docker help Usage: docker [OPTIONS] COMMAND [arg...] A self-sufficient runtime for linux containers. [--trim--] # Finally, let's make sure things still work on kernels w/o 4 level page tables dannf@mustang:~$ grep CONFIG_ARM64_PGTABLE_LEVELS /boot/config-$(uname -r) dannf@mustang:~$ mkdir lp1472650 dannf@mustang:~$ sudo debootstrap --components 'main,universe' --include docker.io vivid lp1472650 http://ports.ubuntu.com/ubuntu-ports > /dev/null 2>&1 dannf@mustang:~$ sudo chroot lp1472650 apt-get update > /dev/null 2>&1 dannf@mustang:~$ sudo chroot lp1472650 apt-get install libgo7 Reading package lists... Done Building dependency tree... Done The following extra packages will be installed: gcc-5-base libgcc1 The following packages will be upgraded: gcc-5-base libgcc1 libgo7 3 upgraded, 0 newly installed, 0 to remove and 8 not upgraded. Need to get 6243 kB of archives. After this operation, 2048 B of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/universe libgo7 arm64 5.1~rc1-0ubuntu1.1 [6198 kB] Get:2 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main gcc-5-base arm64 5.1~rc1-0ubuntu1.1 [14.4 kB] Get:3 http://ports.ubuntu.com/ubuntu-ports/ vivid-proposed/main libgcc1 arm64 1:5.1~rc1-0ubuntu1.1 [31.0 kB] Fetched 6243 kB in 4s (1254 kB/s) perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory) (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../libgo7_5.1~rc1-0ubuntu1.1_arm64.deb ... Unpacking libgo7:arm64 (5.1~rc1-0ubuntu1.1) over (5.1~rc1-0ubuntu1) ... Preparing to unpack .../gcc-5-base_5.1~rc1-0ubuntu1.1_arm64.deb ... Unpacking gcc-5-base:arm64 (5.1~rc1-0ubuntu1.1) over (5.1~rc1-0ubuntu1) ... Setting up gcc-5-base:arm64 (5.1~rc1-0ubuntu1.1) ... (Reading database ... 11950 files and directories currently installed.) Preparing to unpack .../libgcc1_1%3a5.1~rc1-0ubuntu1.1_arm64.deb ... Unpacking libgcc1:arm64 (1:5.1~rc1-0ubuntu1.1) over (1:5.1~rc1-0ubuntu1) ... Setting up libgcc1:arm64 (1:5.1~rc1-0ubuntu1.1) ... Setting up libgo7:arm64 (5.1~rc1-0ubuntu1.1) ... Processing triggers for libc-bin (2.21-0ubuntu4) ... dannf@mustang:~$ sudo mount proc lp1472650/proc -t proc dannf@mustang:~$ sudo chroot lp1472650 docker help | head Usage: docker [OPTIONS] COMMAND [arg...] A self-sufficient runtime for linux containers. Options: --api-enable-cors=false Enable CORS headers in the remote API -b, --bridge="" Attach containers to a pre-existing network bridge use 'none' to disable container networking --bip="" Use this CIDR notation address for the network bridge's IP, not compatible with -b -D, --debug=false Enable debug mode # Verified!