mirror of
https://github.com/systemd/systemd.git
synced 2025-03-09 12:58:26 +03:00
gpt-auto: Check for /boot before putting ESP there
We prefer /efi as a mount point for the ESP, and use /boot as a fallback if /efi doesn't exist. However, when root=tmpfs, neither /efi nor /boot exist. gpt-auto should mount to /efi in this case, but it mounted to /boot instead. This is because gpt-auto didn't check for the existence of /boot. Here, we correct this
This commit is contained in:
parent
9cc018fa93
commit
d249c23211
@ -518,10 +518,15 @@ static int add_partition_esp(DissectedPartition *p, bool has_xbootldr) {
|
||||
if (errno != ENOENT)
|
||||
return log_error_errno(errno, "Failed to determine whether /efi exists: %m");
|
||||
|
||||
/* Use /boot as fallback, but only if there's no XBOOTLDR partition */
|
||||
/* Use /boot as fallback, but only if there's no XBOOTLDR partition and /boot exists */
|
||||
if (!has_xbootldr) {
|
||||
esp_path = "/boot";
|
||||
id = "boot";
|
||||
if (access("/boot", F_OK) < 0) {
|
||||
if (errno != ENOENT)
|
||||
return log_error_errno(errno, "Failed to determine whether /boot exists: %m");
|
||||
} else {
|
||||
esp_path = "/boot";
|
||||
id = "boot";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!esp_path)
|
||||
|
Loading…
x
Reference in New Issue
Block a user