It is desirable to have the AGL distribution default be to have merged root and /usr filesystem, i.e. "usrmerge" in DISTRO_FEATURES. For an upstream discussion of the benefits of the scheme, see: https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/. For AGL specifically, there are several rationale:
- An increasing number of advanced systemd features with respect to immutable systems and sandboxing are effectively dependent on usrmerge, and upstream AGL currently requires systemd usage.
- The majority of server and desktop distributions have switched to it in the last 10 years. Given the pace of systemd adding features that require merged /usr, it seems likely to eventually become a hard requirement for using systemd.
- Some OTA upgrade systems based on OSTree or similar filesystem level delta technologies require it. The now removed SOTA feature required usrmerge, which meant significant rebuilding when it was enabled. Having usrmerge on by default means that downstream or any future upstream work with such OTA systems can still potentially benefit from AGL's shared state cache.
- Outside of broken BSP recipes that need updating to work with usrmerge enabled, the change should be effectively transparent to AGL users outside of some required rebuilding. Typical A/B OTA update systems treat the root filesystem as a unit, a separate / from /usr is not believed to be required for any downstream users. As well, the default symlinks in place with usrmerge (e.g. /lib -> /usr/lib) provide some degree of backwards compatibility for downstream software dependent on paths.