Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

util-linux 2.39 regression: overlayfs root fails to remount ro #369

Closed
sdbtools opened this issue Feb 22, 2024 · 4 comments
Closed

util-linux 2.39 regression: overlayfs root fails to remount ro #369

sdbtools opened this issue Feb 22, 2024 · 4 comments

Comments

@sdbtools
Copy link

Steps to reproduce:

sudo ./build-x86-images.sh -- -v linux6.7

Result:

Writing to 'stdio:void-live-x86_64-20240222-base.iso' completed successfully.

Created /xxx/void-mklive/void-live-x86_64-20240222-base.iso (1.1G) successfully.
umount: /xxx/void-mklive/tmp.t1PsYOZ1A5/image/rootfs/sys: not found
ERROR: failed to unmount /xxx/void-mklive/tmp.t1PsYOZ1A5/image/rootfs/sys/

Version:

$ ./build-x86-images.sh -V
build-x86-images.sh 0.25 63c1152

I cannot boot created ISO (kernel 6.7.5). rootfs won't mount.

@classabbyamp
Copy link
Member

the error during image generation itself is spurious, that's just a missing check in the cleanup (9708d22)

can't repro the mount failure with images generated on 2024-02-17

can repro the mount failure with an image on 6.6 generated today (make live-iso-all LIVE_ARCHS="x86_64" LIVE_FLAVORS="base")

the most probable cause is either the util-linux update or the kernel update, IMO

@classabbyamp
Copy link
Member

can confirm, reverting the latest util-linux and util-linux-common updates fixed it

@classabbyamp
Copy link
Member

for future reference, the exact error is:

=> Remounting rootfs read-only...
mount: /: mount point not mounted or bad option.
       dmesg(1) may have more information after failed mount system call.

what's failing appears to be mount -o remount,ro / in /etc/runit/core-services/03-filesystems.sh

@classabbyamp
Copy link
Member

classabbyamp commented Feb 23, 2024

the issue appears to be: util-linux/util-linux#2528 (comment)

from the util-linux relnotes:

  • supports new file descriptors based mount kernel API. This change is
    very aggressive to libmount code, but hopefully, it does not introduce
    regressions in traditional mount(8) behavior. The library is still backward
    compatible with old kernels and can fall back to classic mount(2) API
    if necessary. The old mount(2) is also used for btrfs when used with SELinux
    context= mount options because the btrfs kernel driver does not support this
    use-case yet; we may see the more in-kernel issue... Use
    --disable-libmount-mountfd-support to disable this feature.

@classabbyamp classabbyamp changed the title created image won't boot. util-linux 2.39 regression: overlayfs fails to remount ro Feb 23, 2024
@classabbyamp classabbyamp changed the title util-linux 2.39 regression: overlayfs fails to remount ro util-linux 2.39 regression: overlayfs root fails to remount ro Feb 23, 2024
classabbyamp added a commit to void-linux/void-packages that referenced this issue Feb 23, 2024
breaks remounting overlayfs with different options (like / on live ISOs)

in the next version, this should be runtime settable and can be removed

fixes void-linux/void-mklive#369
atweiden added a commit to atweiden/voidpkgs that referenced this issue Feb 23, 2024
breaks remounting overlayfs with different options (like / on live ISOs)

in the next version, this should be runtime settable and can be removed

fixes void-linux/void-mklive#369

void-linux/void-packages@9675e44
atweiden added a commit to atweiden/voidpkgs that referenced this issue Feb 23, 2024
breaks remounting overlayfs with different options (like / on live ISOs)

in the next version, this should be runtime settable and can be removed

fixes void-linux/void-mklive#369

void-linux/void-packages@06ff796
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants