Linuxkit in Docker desktop is missing kernel modules SQUASHFS and support for SQUASHFS_XZ Filesystem
Description
Docker desktop for mac starting Docker version 4.26.0 is missing kernel modules SQUASHFS and support for SQUASHFS_XZ Filesystem, However in the release of Docker desktop, 4.27.0 they have added the kernel module SQUASHFS, however they have still missing support for SQUASHFS_XZ Filesystem, the issue is still persisting in the latest version of Docker Desktop 4.29.0.
In Docker desktop 4.25.2, where linuxkit kernel version (6.4.16-linuxkit), they have support for it. ` root@28d045845798:/home/ubuntu# zcat /proc/config.gz | grep -i squashfs CONFIG_SQUASHFS=y CONFIG_SQUASHFS_FILE_CACHE=y
CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3`
But in Docker desktop 4.26.0 where linuxkit kernel version 6.5.11-linuxkit, they have removed the SQUASHFS.
`root@0d8c9499fb3b:/home/ubuntu# zcat /proc/config.gz | grep -i squashfs
CONFIG_SQUASHFS is not set`
In Docker desktop 4.27.0, where the linuxkit kernel version 6.6.12-linuxkit, they have re-added SQUASHFS, but they have still miss the support for XZ filesystem.
`ubuntu@fe1e2ba98d8f:~$ zcat /proc/config.gz | grep -i SQUASHFS CONFIG_SQUASHFS=y CONFIG_SQUASHFS_FILE_CACHE=y
CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR is not set
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO is not set
CONFIG_SQUASHFS_XZ is not set
CONFIG_SQUASHFS_ZSTD is not set
CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 `
The same behavior is seen in the latest Docker desktop version 4.29.0 with linuxkit kernel 6.6.22-linuxkit.
Are they going to add this module in future release?
Reproduce
Run any Ubuntu container in Docker Desktop for mac, 4.26.0 and later. Execute the following command. zcat /proc/config.gz | grep -i squashfs
Only the below is seen where most of the modules are not enabled. `ubuntu@fe1e2ba98d8f:~$ zcat /proc/config.gz | grep -i SQUASHFS CONFIG_SQUASHFS=y CONFIG_SQUASHFS_FILE_CACHE=y
CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR is not set
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO is not set
CONFIG_SQUASHFS_XZ is not set
CONFIG_SQUASHFS_ZSTD is not set
CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3`
Expected behavior
Support for CONFIG_SQUASHFS_XZ must be enabled. Below is the output in Docker desktop version 4.25.2
`root@28d045845798:/home/ubuntu# zcat /proc/config.gz | grep -i squashfs CONFIG_SQUASHFS=y CONFIG_SQUASHFS_FILE_CACHE=y
CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_LZ4=y CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3`
docker version
Latest Docker desktop for Mac OS. v4.29.0
docker info
I am running in the AMD based processor. Below information is after I reverted Docker desktop for Mac to v4.25.2.
srtimsina@NP-STI-MBP-01 artifacts % docker system info
Client:
Version: 24.0.6
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2-desktop.5
Path: /Users/srtimsina/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.23.0-desktop.1
Path: /Users/srtimsina/.docker/cli-plugins/docker-compose
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.0
Path: /Users/srtimsina/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.20
Path: /Users/srtimsina/.docker/cli-plugins/docker-extension
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v0.1.0-beta.9
Path: /Users/srtimsina/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/srtimsina/.docker/cli-plugins/docker-sbom
scan: Docker Scan (Docker Inc.)
Version: v0.26.0
Path: /Users/srtimsina/.docker/cli-plugins/docker-scan
scout: Docker Scout (Docker Inc.)
Version: v1.0.9
Path: /Users/srtimsina/.docker/cli-plugins/docker-scout
Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 2
Server Version: 24.0.6
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 8165feabfdfe38c65b599c4993d227328c231fca
runc version: v1.1.8-0-g82f18fe
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.4.16-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 7
Total Memory: 13.66GiB
Name: linuxkit-8e5a48dcf4ee
ID: 523a87de-2c86-4928-8fd4-364644408afc
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: daemon is not using the default seccomp profile
Diagnostics ID
a
Additional Info
Is Docker discontinuing to add this support or this is a bug? How is the long term plan?
@srtimsina Sorry for breaking your workflow! I'll put back that module and make sure we don't remove it in the future!
Hi @dgageot , In which release of Docker desktop for Mac can we expect this module included, is this going to be added back in upcoming release?
@srtimsina yes, it should come with 4.30.0
@dgageot , that sounds great. Thank you so much! :)
Closing this issue because a fix has been released in Docker Desktop 4.30.0 . See the release notes for more details.