oposs / tl-docker

ThinLinc Server in a Docker
34 stars 23 forks source link

Container does not start -- some sort of ACPI problem #5

Open mas94uk opened 1 month ago

mas94uk commented 1 month ago

There is some sort of ACPI weirdness happening and preventing the container from starting. I don't really understand it well enough to give you a fix, but I hope the following helps.

I have tested this on my laptop (Ubuntu 22.04) and in a freshly installed Ubuntu 24.04 VM. Behaviour seems the same in both cases.

When I run docker run --privileged --pull=always --name=my-tl-demo --publish 9922:22 -t oposs/tl-ubuntu I get the following output:

latest: Pulling from oposs/tl-ubuntu
Digest: sha256:e2ec9d3ec661e9beadf3bdf7c616b8325db12c7330c6c99dd8865004f316bfb8
Status: Image is up to date for oposs/tl-ubuntu:latest
systemd 249.11-0ubuntu3.12 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
Detected virtualization docker.
Detected architecture x86-64.

Welcome to Ubuntu 22.04.4 LTS!

Queued start job for default target Graphical Interface.
[  OK  ] Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/postfix.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Set up automount Arbitrary Executable File Formats File System Automount Point.
[  OK  ] Reached target Slice Units.
[  OK  ] Reached target Swaps.
[  OK  ] Reached target Local Verity Protected Volumes.
[  OK  ] Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket.
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
         Mounting Huge Pages File System...
         Mounting Kernel Debug File System...
         Mounting Kernel Trace File System...
         Starting Journal Service...
         Starting Load Kernel Module configfs...
         Starting Load Kernel Module drm...
         Starting Load Kernel Module efi_pstore...
         Starting Load Kernel Module fuse...
         Starting Remount Root and Kernel File Systems...
         Starting Apply Kernel Variables...
         Starting Coldplug All udev Devices...
[  OK  ] Mounted Huge Pages File System.
[  OK  ] Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Trace File System.
modprobe@configfs.service: Deactivated successfully.
[  OK  ] Finished Load Kernel Module configfs.
modprobe@drm.service: Deactivated successfully.
[  OK  ] Finished Load Kernel Module drm.
modprobe@efi_pstore.service: Deactivated successfully.
[  OK  ] Finished Load Kernel Module efi_pstore.
modprobe@fuse.service: Deactivated successfully.
[  OK  ] Finished Load Kernel Module fuse.
[  OK  ] Finished Remount Root and Kernel File Systems.
         Mounting FUSE Control File System...
         Starting Create System Users...
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Finished Create System Users.
         Starting Create Static Device Nodes in /dev...
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
[  OK  ] Reached target Local File Systems.
[ASSERT] Assertion failed for Load AppArmor profiles.
         Starting Tell Plymouth To Write Out Runtime Data...
         Starting Set Up Additional Binary Formats...
         Starting Rule-based Manager for Device Events and Files...
         Mounting Arbitrary Executable File Formats File System...
[  OK  ] Finished Tell Plymouth To Write Out Runtime Data.
[  OK  ] Mounted Arbitrary Executable File Formats File System.
[  OK  ] Finished Set Up Additional Binary Formats.
[  OK  ] Finished Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Create Volatile Files and Directories.
         Mounting RPC Pipe File System...
         Starting RPC bind portmap service...
         Starting Userspace Out-Of-Memory (OOM) Killer...
         Starting Network Name Resolution...
[  OK  ] Reached target System Time Set.
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Mounted RPC Pipe File System.
[  OK  ] Reached target rpc_pipefs.target.
[  OK  ] Reached target NFS client services.
[  OK  ] Started RPC bind portmap service.
[  OK  ] Reached target Preparation for Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[  OK  ] Reached target RPC Port Mapper.
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Started Rule-based Manager for Device Events and Files.
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Reached target System Initialization.
[  OK  ] Started ACPI Events Check.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Started Start whoopsie on modification of the /var/crash directory.
[  OK  ] Started Trigger anacron every hour.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Daily dpkg database backup timer.
[  OK  ] Started Daily man-db regeneration.
[  OK  ] Started Message of the Day.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Path Units.
[  OK  ] Listening on ACPID Listen Socket.
[  OK  ] Listening on Unix socket for apport crash forwarding.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
[  OK  ] Listening on D-Bus System Message Bus Socket.

The units which have not started in the above output appear never to start -- I have left it quite a while. (10-20 mintues.)

At the same time, htop on the docker host shows /sbin/init pegged at 100% CPU.

Running docker exec my-tl-demo tlcfg add-user myuser mypassword hangs.

If I run docker exec -ti my-tl-demo bash and in that run journalctl -f I see many pages of the following every second: Jul 19 21:23:09 be24ec9d4a8e systemd[1]: Condition check resulted in ACPI event daemon being skipped.

As a hunch I deleted /etc/acpi/events and it burst into life.

TLDR: Need to rm -rf /etc/acpi/events inside the docker container to let it finish booting.

oetiker commented 1 month ago

I have removed the acpid support ... hope this helps