Fails to Start on Alpine Linux (bpffs Not Mounted)
On Alpine Linux, landscape-webserver may fail to start with confusing ENOENT errors while loading eBPF maps.
Cause
Landscape pins its eBPF maps to /sys/fs/bpf/landscape/<map_space>/. This requires a bpf filesystem (bpffs) to be mounted at /sys/fs/bpf.
On distributions that use systemd, systemd mounts bpffs automatically, which is why you would see something like bpf on /sys/fs/bpf type bpf (rw,...,mode=700) on those systems. Alpine uses OpenRC and nothing mounts bpffs automatically. /sys/fs/bpf is then just an empty placeholder directory inside sysfs (dr-xr-xr-x, not writable, mkdir fails), which is why creating the map pin path fails with a strange ENOENT.
Verify
mount | grep /sys/fs/bpf # empty output means bpffs is NOT mounted
grep bpf /proc/filesystems # should contain "nodev bpf" (kernel support)
uname -r # kernel version
ls -l /sys/kernel/btf/vmlinux # must exist; CO-RE requires BTFFix
Mount bpffs as root:
mount -t bpf bpf /sys/fs/bpfTo make it persistent across reboots, add the following line to /etc/fstab (OpenRC's localmount service runs mount -a at boot):
bpf /sys/fs/bpf bpf defaults 0 0Then restart landscape-webserver.