qemu user static binary seems to lack support for network namespace. Whenever I execute emerge in gentoo linux in qemu-aarch64 chroot, I see the following error message. Unable to configure loopback interface: Operation not supported If I disable emerge's network-sandbox which utilizes network namespace, the error disappears. Could you run qemu unimplemented error trace, by using "export QEMU_LOG=unimp"? You can also set the QEMU_STRACE="" to see which syscall fails. I executed "emerge" with QEMU_LOG=unimp and QEMU_STRACE="". The interesting part in emerge.log is: 23473 socket(16,,IPPROTO_IP) = 5 23473 bind(5,274886353720,12,0,1,274889671712) = 0 23473 sendto(5,275542232672,38,0,274886353960,12) = -1 errno=95 (Operation not supported) 23473 close(5) = 0 Unable to configure loopback interface: Operation not supported So you're right 16 is AF_NETLINK At QEMU level only one function returns EOPNOTSUPP, the one managing RTM_* operations (RTM_GETLINK, RTM_GETADDR, ...) and it doesn't manage a bunch of them. Could you provide a step by step example to reproduce the problem? def _configure_loopback_interface(): """ Configure the loopback interface. """ # We add some additional addresses to work around odd behavior in glibc's # getaddrinfo() implementation when the AI_ADDRCONFIG flag is set. # # For example: # # struct addrinfo *res, hints = { .ai_family = AF_INET, .ai_flags = AI_ADDRCONFIG }; # getaddrinfo("localhost", NULL, &hints, &res); # # This returns no results if there are no non-loopback addresses # configured for a given address family. # # Bug: https://bugs.gentoo.org/690758 # Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=12377#c13 # Avoid importing this module on systems that may not support netlink sockets. from portage.util.netlink import RtNetlink try: with RtNetlink() as rtnl: ifindex = rtnl.get_link_ifindex(b'lo') rtnl.set_link_up(ifindex) rtnl.add_address(ifindex, socket.AF_INET, '10.0.0.1', 8) if _has_ipv6(): rtnl.add_address(ifindex, socket.AF_INET6, 'fd::1', 8) except EnvironmentError as e: writemsg("Unable to configure loopback interface: %s\n" % e.strerror, noiselevel=-1) If I execute _configure_loopback_interface in a qemu-aarch64 chroot, I see the following error. Unable to configure loopback interface: Operation not supported https://bugs.gentoo.org/703276 explains the issue. You can obtain portage source code from https://gentoo.osuosl.org/distfiles/portage-2.3.84.tar.bz2 I've copied the file portage-2.3.84/build/lib.linux-x86_64-3.7/portage/util/netlink.py from portage to my local directory and run the following script: cat > rtnetlink.py < bind(3, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0 sendto(3, {{len=38, type=0x12 /* NLMSG_??? */, flags=NLM_F_REQUEST, seq=1, pid=0}, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x03\x00\x6c\x6f"}, 38, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 38 ... So I need to know which version you are using (qemu, kernel host). qemu-4.0.0 > uname -a Linux gentoo 4.19.97-gentoo #3 SMP PREEMPT Mon Feb 10 15:09:44 KST 2020 x86_64 AMD FX(tm)-8300 Eight-Core Processor AuthenticAMD GNU/Linux Could you run something like "sudo strace -yyy unshare --net chroot ..." with your failing binary to see what returns the host kernel? Can you rephrase your question? I don't know what to do with your question. I need the strace result of _configure_loopback_interface in a qemu-aarch64 chroot. But as strace cannot be started in the chroot you must strace the "chroot" command and its children. So something like "sudo strace -yyy chroot " I just called _configure_loopback_interface in a qemu-aarch64 chroot, and the error is not reproducible with qemu-4.2.0. Has it been fixed? Yes, it's fixed in v4.2.0, and with the help of your test program I've bisect to the fix: commit 1645fb5a1e537f85eda744bfa6e9d3dda047ba28 Author: Shu-Chun Weng