[lxc-users] Mounting squashfs inside a container
Ben Warren
ben at skyportsystems.com
Tue May 30 22:17:04 UTC 2017
Hi,
I’m using an LXC to build up a rootfs for another target, and am unable to mount a squashfs image:
root at cd-build-dev-385:~# mount -t squashfs -r myproject.squashfs mnt
ioctl: LOOP_SET_STATUS: Operation not permitted
root at cd-build-dev-385:~#
If I instead use ‘unsquashfs’, I get into device creation errors:
root at cd-build-dev-385:~# unsquashfs -x myproject.squashfs
Parallel unsquashfs: Using 4 processors
13529 inodes (15282 blocks) to write
[| ] 21/15282 0%
create_inode: failed to create character device squashfs-root/dev/console, because Operation not permitted
create_inode: failed to create character device squashfs-root/dev/null, because Operation not permitted
create_inode: failed to create character device squashfs-root/dev/ptmx, because Operation not permitted
create_inode: failed to create character device squashfs-root/dev/urandom, because Operation not permitted
create_inode: failed to create character device squashfs-root/dev/zero, because Operation not permitted
I assume the two issues are related, assuming that creation of device nodes within an unprivileged container is prohibited. In my case I’m less concerned about security, and am using containers more for encapsulation.
Is there a configuration override that will allow dynamic device creation within a container, or another way of going about this? I know that I can add device nodes externally using ‘lxc device add …’ and have used it for creating loopback devices, but that’s static.
Environment:
host: Ubuntu 14.04
LXC:
ben at ben-sc:~$ dpkg -l | grep lx[cd]
ii liblxc1 2.0.7-0ubuntu1~14.04.1skyport1 amd64 Linux Containers userspace tools (library)
ii lxc-common 2.0.7-0ubuntu1~14.04.1skyport1 amd64 Linux Containers userspace tools (common tools)
ii lxcfs 2.0.6-0ubuntu1~14.04.1 amd64 FUSE based filesystem for LXC
ii lxd 2.0.9-0ubuntu1~14.04.1 amd64 Container hypervisor based on LXC - daemon
ii lxd-client 2.0.9-0ubuntu1~14.04.1 amd64 Container hypervisor based on LXC - client
Note that I’ve built the LXC libraries from source, but based on the current ‘ubuntu-trusty-backports’ .deb packages.
regards,
Ben
More information about the lxc-users
mailing list