Using the fstab-sys module, previous versions of dracut correctly mounted /data, /usr, and /var. The current version does not. Doing some debugging I believe the issue is the test on line 23 of mount-sys.sh (in the fstab-sys module). For some reason it is taking the first branch, which means that /data is getting mounted in the dracut root, and not $NEWROOT. Obviously it will not be available when the system boots. I've confirmed this behavior using rd.break - inspecting the system from a shell before the pivot confirms that the system created a /data directory and mounted it. If I unmount that and correctly mount things in /sysroot the system boots fine. The other two bind mounts fail but that is expected since the source of those mounts didn't mount. The directory /sysroot/data does exist - as far as I can see there is nothing unusual about it. At least, it exists when the shell breaks - I can't imagine why it wouldn't be visible before that test runs. In the init.log I had inserted an extra line in mount-sys.sh: info "test was $NEWROOT/$_mp" - the output is visible in the log as /sysroot//data. The extra slash shouldn't matter I would think. Happy to run additional tests if you have them. Reproducible: Always
Created attachment 304109 [details] emerge --info
Created attachment 304111 [details] init.log
Created attachment 304113 [details] fstab.sys
Created attachment 304367 [details, diff] 0001-Revert-do-not-check-dev-node-exist-for-fstab-sys-mou.patch
Created attachment 304369 [details, diff] 0002-Revert-fstab-sys-mount-it-in-initramfs-instead-of-ne.patch
rich0, could you try to apply these two patches (↑) and test again?
I have the same issue. Until this is fixed, I simply do: dracut --mount "[device] [mountpoint] [filesystem type]" since "--add-fstab /etc/fstab" doesn't actually work at this time.
(In reply to comment #6) > rich0, could you try to apply these two patches (↑) and test again? Apologies - I just realized I never replied here. I had forgotten about this but had manually applied patch #2 and the system boots fine. I have not tried patch #1.
Could you try latest HEAD? It's just fixed, probably. You might want to do this with my live ebuild in "aidecoe" overlay.
(In reply to comment #9) > Could you try latest HEAD? It's just fixed, probably. You might want to do > this with my live ebuild in "aidecoe" overlay. System boots fine. Was this really the result of a double-bracket? Oh, just checked - it looks like dash doesn't implement a double-bracket. That seems rather odd to me.
(In reply to comment #10) > (In reply to comment #9) > > Could you try latest HEAD? It's just fixed, probably. You might want to do > > this with my live ebuild in "aidecoe" overlay. > > System boots fine. Thank you! +*dracut-017-r3 (27 Mar 2012) + + 27 Mar 2012; Amadeusz Żołnowski <aidecoe@gentoo.org> +dracut-017-r3.ebuild, + +files/dracut-017-fstab-sys-no-check-for-dev.patch, + +files/dracut-017-fstab-sys-remove-bashism.patch: + Fixed fstab-sys not working with dash wrt bug #406755. + + Applied also patch removing check for existing /dev, because "there are a lot + of filesystems, which do not need an actual device node". > Was this really the result of a double-bracket? > > Oh, just checked - it looks like dash doesn't implement a double-bracket. > That seems rather odd to me. [[ isn't POSIX, so it's not so odd.
(In reply to comment #11) > (In reply to comment #10) > > Oh, just checked - it looks like dash doesn't implement a double-bracket. > > That seems rather odd to me. > > [[ isn't POSIX, so it's not so odd. My mistake. For some reason I thought that dash aimed to implement the full bash syntax (minus interactive features of the shell). Apparently it only purports to implement the posix sh syntax.