diff --git a/src/gpt-auto-generator/gpt-auto-generator.c b/src/gpt-auto-generator/gpt-auto-generator.c index 5274f81e30..73c4183f16 100644 --- a/src/gpt-auto-generator/gpt-auto-generator.c +++ b/src/gpt-auto-generator/gpt-auto-generator.c @@ -918,8 +918,7 @@ static int add_usr_mount(void) { int r; /* /usr/ discovery must be enabled explicitly. */ - if (arg_auto_usr == GPT_AUTO_ROOT_OFF || - arg_auto_usr < 0) + if (arg_auto_usr <= 0) return 0; /* We do not support the other gpt-auto modes for /usr/, but the parser should already have checked that. */ @@ -987,19 +986,22 @@ static int add_usr_mount(void) { if (r < 0) return r; - log_debug("Synthesizing entry what=/sysusr/usr where=/sysroot/usr opts=bind"); + if (in_initrd()) { + log_debug("Synthesizing entry what=/sysusr/usr where=/sysroot/usr opts=bind"); - return add_mount("usr-bind", - "/sysusr/usr", - "/sysroot/usr", - /* fstype= */ NULL, - /* flags= */ 0, - "bind", - "/usr/ Partition (Final)", - in_initrd() ? SPECIAL_INITRD_FS_TARGET : SPECIAL_LOCAL_FS_TARGET); -#else - return 0; + r = add_mount("usr-bind", + "/sysusr/usr", + "/sysroot/usr", + /* fstype= */ NULL, + /* flags= */ 0, + "bind", + "/usr/ Partition (Final)", + SPECIAL_INITRD_FS_TARGET); + if (r < 0) + return r; + } #endif + return 0; } static int process_loader_partitions(DissectedPartition *esp, DissectedPartition *xbootldr) {