Mailinglist Archive: opensuse-factory (1324 mails)

< Previous Next >
Re: [opensuse-factory] New Tumbleweed snapshot 20151002 released!


On 10/05/2015 03:52 AM, Fabian wrote:
Am Montag, 5. Oktober 2015, 11:43:10 schrieb Andrei Borzenkov:
On Mon, Oct 5, 2015 at 11:34 AM, Fabian <fvogt@xxxxxxxx> wrote:
Am Montag, 5. Oktober 2015, 11:02:51 schrieb Andrei Borzenkov:
On Mon, Oct 5, 2015 at 7:41 AM, Moby <moby@xxxxxxxxxxxxxx> wrote:

After applying this update to two different (one 64 and other 32 bit)
machines, I get the following error displayed during boot:

systemd-fstab-generator[95]: Failed to create mount unit file
/run/systemd/generator/sysroot.mount, as it already exists. Duplicate
entry in /etc/fstab?

Anyone else seeing this?


From quick glance over dracut package, it unconditionally adds
/sysroot to initrd's /etc/fstab in patch 0400-use_fstab_systemd.patch.
Small nitpick: It doesn't add it during boot, it's already in the initrd:
lsinitrd /boot/initrd /etc/fstab

I did not say "adds /etc/fstab". I said "adds TO /etc/fstab".
By "it" I meant the entry for /sysroot.

But systemd generates /sysroot mount from root= kernel command line
already. So we get duplicate indeed.
Correct! The patch is a simplification of the dracut root "stuff",
as with all modules and systemd together it has become quite a mess.
The responsibility of deciding between "root=" and /etc/fstab is moved out
from dracut into systemd-fstab-generator,

Really? Could you point to source? systemd-fstab-generator generates
/sysroot mount from root= kernel command line; it does not use any
fstab for it. At least, in upstream ...
First is parses /proc/cmdline for /sysroot and /sysroot/usr,
then it parses /etc/fstab (and /sysroot/etc/fstab).
If there was no "root=" entry in /proc/cmdline (we want to get rid of it by
default),
systemd-fstab-generator could not generate sysroot.mount,
so /sysroot is now in /etc/fstab, unconditionally.
Before the patch, there would still be a "root=", but in the initrd's
/etc/cmdline.d/,
which is a dracut-only thing and systemd-fstab-generator doesn't know about
that,
so the functionality of systemd-fstab-generator had to be implemented in
dracut as well
to allow booting without "root=".

(It's a similiar issue with cryptsetup (the rd.luks.key bug, for example),
where code in systemd is implemented in dracut as well, but both have
entirely different
semantics, so the solution is to decide which of those to use. For crypt it's
fairly easy,
dracut itself implements more features, like rd.luks.key, but for "root=",
it's different again)

where is is implemented already,
but not used yet. This resulted in code duplication and even more mess...

I'm not sure what this patch
intended to fix, because its subject directly contradicts single line
comment :)
It doesn't fix anything directly, but in the long run it's intended to
get rid of "root=" in the default grub config. The "root=" parameter
is still fully supported, of course, but right now there is an issue with
handling of mount options on /.
If "root=<something>" is given on the kernel command line,
the initrd ignores the entry for / in /etc/fstab completely.
That's basically why the warning is there, although fairly generic.
The issue with this is, that should there be any special mount options
that can not be applied with "mount -o remount", those options
will never have any effect whatsoever. Another parameter "rootflags="
is for suppling options that go together with "root=",
but it's not set automatically.

--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx



Thank you to all who responded - glad I am not the only one seeing this
an that there is a bug open for it already.
--
--Moby

--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >