gpt-auto: do not add /sysusr/usr/ -> /sysroot/usr/ after switch-root

Follow-up for 7852e301e0
This commit is contained in:
Mike Yuan
2025-04-12 16:33:22 +02:00
parent 9f091f098a
commit 39642b0130
+15 -13
View File
@@ -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) {