Bug#1079329: systemd(?) still creates /lib64 on arm64
Helmut Grohne
helmut at subdivi.de
Thu Aug 22 14:28:08 BST 2024
Package: systemd
Severity: serious
Justification: causes base-files.preinst to fail
User: helmutg at debian.org
Usertags: dep17
Control: block 1077866 by -1
X-Debbugs-Cc: jochensp at debian.org
Hi,
we're not 100% sure yet that this is systemd at cause, but it seems so
likely that I'm filing the bug here initially for further investigation.
Jochen observed that an arm64 machine with dracut would have a /lib64 ->
usr/lib symbolic link. The presence of such a link makes
base-files.preinst fail. debvm can be used to reproduce the problem:
$ debvm-create -- --architecture=arm64 --include=dracut
# creates a ./rootfs.ext4
$ debvm-run --append "rd.shell rd.break=pre-pivot"
That --append should drop you into a shell right before dracut does
pivot_root and hands off to systemd. At that time, now /sysroot/lib64
exists. Once the machine has booted /lib64 exists. At this time, the
most plausible hypothesis is that systemd still creates it despite
having been improved earlier.
Would you happen to know a good way to validate this hypothesis?
A possible approach could be enabling linux-level tracing and hooking on
the symlinkat syscall to see which processes issue it, but it could be
many. Any idea for narrowing down the component?
Thanks in advance
Helmut
More information about the Pkg-systemd-maintainers
mailing list