Skip to content

macOS namespace/setuid container issues #2080

@LawrenceHunter

Description

@LawrenceHunter

Builds do not work on macOS inside containers, specifically when going cross-arch through the Podman VM.

Rootful VM

# Install brew, podman, & podman-compose
podman machine init --rootful
podman machine start
podman run --privileged --rm tonistiigi/binfmt --install all

podman run -it \
    --privileged \
    --platform=linux/amd64 \
    --volume ~/.cache/buildstream:/root/.cache/buildstream \
    --volume $(pwd):/src \
    --security-opt apparmor=unconfined \
    --security-opt seccomp=unconfined \
    --workdir /src \
    bst:latest \
    /bin/bash -c "\
        source /myenv/bin/activate && \
        bst build gnomeos/live-image.bst && \
        bst artifact checkout gnomeos/live-image.bst --directory ./iso \
    "

>  bwrap: Creating new namespace failed, likely because the kernel does not support user namespaces.  bwrap must be installed setuid on such systems.

Rootless VM

# Install brew, podman, & podman-compose
podman machine init 
podman machine init
podman machine start
podman machine ssh
$ sudo -i
$ rpm-ostree install qemu-user-static
$ systemctl reboot

podman run -it \
    --privileged \
    --platform=linux/amd64 \
    --volume ~/.cache/buildstream:/root/.cache/buildstream \
    --volume $(pwd):/src \
    --security-opt apparmor=unconfined \
    --security-opt seccomp=unconfined \
    --userns=keep-id \
    --workdir /src \
    bst:latest \
    /bin/bash -c "\
        source /myenv/bin/activate && \
        bst build gnomeos/live-image.bst && \
        bst artifact checkout gnomeos/live-image.bst --directory ./iso \
    "

> bwrap: Unexpected capabilities but not setuid, old file caps config?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions