On Sep 12, Boris Kolpackov <bo...@codesynthesis.com> wrote: > Indeed. A bit more digging revealed that this is systemd-nspawn's > "helpful" hand. Specifically, there is no /lib64 before I run > systemd-nspawn, it is present during, and it disappears again after > systemd-nspawn exits. This is caused by src/shared/base-filesystem.c, we are still trying to figure out if and what needs to be changed.
/* Various architecture ABIs define the path to the dynamic loader via the /lib64/ subdirectory of * the root directory. When booting from an otherwise empty root file system (where only /usr/ has * been mounted into) it is thus necessary to create a symlink pointing to the right subdirectory of * /usr/ first — otherwise we couldn't invoke any dynamic binary. Let's detect this case here, and * create the symlink as needed should it be missing. We prefer doing this consistently with Debian's * multiarch logic, but support Fedora-style multilib too.*/ #if defined(__aarch64__) /* aarch64 ELF ABI actually says dynamic loader is in /lib/, but Fedora puts it in /lib64/ anyway and * just symlinks /lib/ld-linux-aarch64.so.1 to ../lib64/ld-linux-aarch64.so.1. For this to work * correctly, /lib64/ must be symlinked to /usr/lib64/. */ { "lib64", 0, "usr/lib/"LIB_ARCH_TUPLE"\0" "usr/lib64\0", "ld-linux-aarch64.so.1" }, # define KNOW_LIB64_DIRS 1 #elif defined(__alpha__) ... -- ciao, Marco
signature.asc
Description: PGP signature