Controller: AXC F 2152
Firmware: PLCnext OS 2025.0.2
Observed behavior:
- /etc/resolv.conf is a symlink to /etc/resolvconf/run/resolv.conf
- That path does not exist in either overlay layer
- glibc resolver therefore fails; ping/curl cannot resolve DNS names
- systemd-resolved is installed and functional but not linked (and cannot link) to /etc/resolv.conf
- Because /etc/resolvconf/run/resolv.conf does not exist, and because /etc/resolv.conf is in the lower overlay filesystem (read-only), I cannot re-link /etc/resolv.conf to the upper layer’s systemd service state file at /run/systemd/resolve/resolv.conf (i.e., stale link in the read only layer).
- I suspect the link to a non existent file is a carry over from the busybox days.
Expected behavior:
/etc/resolv.conf should reference /run/systemd/resolve/resolv.conf or something the upper layer’s DNS service can use (e.g., the stub variant) so standard Linux utilities can resolve names.
*
Temporary workaround verified:
Determine path of upper layer filesystem: mount | grep overlay
- Create
/etc/resolv.confin upper layer (this will hide the lower layer’s/etc/resolv.confon next mount):touch /media/rfs/rw/upperdir/etc/resolv.conf - Reboot to remount merges overlay:
reboot - Link to the new, upper
/etc/resolv.conf:ln -sf /run/systemd/resolve/resolv.conf /media/rfs/rw/upperdir/etc/resolv.conf - Restart service:
systemctl enable --now systemd-resolved
This persists across reboots and restores DNS functionality.