]> git.ipfire.org Git - thirdparty/dracut-ng.git/commit
fix(overlayfs): unmount NEWROOT before mounting overlay main
authorBenjamin Drung <benjamin.drung@canonical.com>
Mon, 13 Apr 2026 11:15:14 +0000 (13:15 +0200)
committerNeal Gompa (ニール・ゴンパ) <ngompa13@gmail.com>
Thu, 16 Apr 2026 10:56:06 +0000 (06:56 -0400)
commiteef62a5b40988d66f4759465f6952e02f67c0f70
tree3a5c83a3d489841039dd0d4ba9d4c09d3f65a617
parent6971acf28e1bc15d00d0492faa529365bf372bcd
fix(overlayfs): unmount NEWROOT before mounting overlay

When using `rd.overlay` the mount point `/run/rootfsbase` is not
accessible any more, because `LiveOS_rootfs` is mounted over it. This is
`/proc/mounts` from the `tmpfs overlay (rd.overlay)` test case:

```
tmpfs /run tmpfs rw,nosuid,nodev,size=194628k,nr_inodes=819200,mode=755,inode64 0 0
/dev/sda /run/rootfsbase ext4 ro,relatime 0 0
LiveOS_rootfs / overlay rw,relatime,lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork,uuid=on,nouserxattr 0 0
LiveOS_rootfs /run/rootfsbase overlay rw,relatime,lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork,uuid=on,nouserxattr 0 0
devtmpfs /dev devtmpfs rw,nosuid,size=159436k,nr_inodes=39859,mode=755,inode64 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,inode64,usrquota 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=600,ptmxmode=000 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
cgroup2 /sys/fs/cgroup cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot,memory_hugetlb_accounting 0 0
none /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
efivarfs /sys/firmware/efi/efivars efivarfs rw,nosuid,nodev,noexec,relatime 0 0
bpf /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0
configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
```

This breaks use cases where the underlying needs to be accessed.

Bug-Ubuntu: https://launchpad.net/bugs/2147471
modules.d/70overlayfs/mount-overlayfs.sh
test/TEST-21-OVERLAYFS/assertion.sh