containers / bootc

Boot and upgrade via container images
https://containers.github.io/bootc/
Apache License 2.0
784 stars 84 forks source link

Error: Linking tmp mounts to host #91

Open mskarbek opened 1 year ago

mskarbek commented 1 year ago

I just tried to follow the basic example from install.md document. Unfortunately, this fails right at the start.

root@ishikawa ~# podman run --privileged --pid=host --net=none --security-opt label=type:unconfined_t ghcr.io/cgwalters/c9s-oscore bootc install --target-no-signature-verification /dev/nbd0
ERROR Linking tmp mounts to host: Exchanging /tmp <=> /tmp.tmp: Invalid argument (os error 22)
root@ishikawa ~# rpm -q podman
podman-4.2.0-9.el9_1.x86_64
root@ishikawa ~# cat /etc/os-release 
NAME="Red Hat Enterprise Linux"
VERSION="9.1 (Plow)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
mskarbek commented 1 year ago

Ok, a comment in the code states that this part is to avoid forcing the user to use bind mount for /tmp and /var/tmp. But that should also allow such case, not forbid it entirely. I'm perfectly capable of adding those two bind mounts. ;)

mskarbek commented 1 year ago

So, the funny thing is that I'm using OpenZFS as a container storage which, currently, doesn't support renameat2(). That is why I'm getting this error. renameat2() will (probably) come with the 2.2.0 release of OpenZFS, so for now, XFS for this particular use case will have to be enough or allowing to skip this and bind mount tmp directories manually (preferably).

cgwalters commented 11 months ago

This is probably fixed by https://github.com/containers/bootc/pull/225