log_debug("In initrd, exiting.");
return EXIT_SUCCESS;
}
+
if (detect_container(NULL) > 0) {
log_debug("In a container, exiting.");
return EXIT_SUCCESS;
return EXIT_SUCCESS;
}
- if (dir_is_empty("/boot") <= 0) {
+ if (path_is_mount_point("/boot", true) <= 0 &&
+ dir_is_empty("/boot") <= 0) {
log_debug("/boot already populated, exiting.");
return EXIT_SUCCESS;
}
r = efi_loader_get_device_part_uuid(&id);
if (r == -ENOENT) {
- log_debug("EFI loader partition unknown exiting.");
+ log_debug("EFI loader partition unknown, exiting.");
return EXIT_SUCCESS;
} else if (r < 0) {
- log_error("Failed to read ESP partition UUID: %s", strerror(-r));
+ log_error_errno(r, "Failed to read ESP partition UUID: %m");
return EXIT_FAILURE;
}
name = strappenda(arg_dest, "/boot.mount");
f = fopen(name, "wxe");
if (!f) {
- log_error("Failed to create mount unit file %s: %m", name);
+ log_error_errno(errno, "Failed to create mount unit file %s: %m", name);
return EXIT_FAILURE;
}
fprintf(f,
"# Automatially generated by systemd-efi-boot-generator\n\n"
"[Unit]\n"
- "Description=EFI System Partition\n");
+ "Description=EFI System Partition\n"
+ "Documentation=man:systemd-efi-boot-generator(8)\n");
r = generator_write_fsck_deps(f, arg_dest, what, "/boot", "vfat");
if (r < 0)
fflush(f);
if (ferror(f)) {
- log_error("Failed to write mount unit file: %m");
+ log_error_errno(errno, "Failed to write mount unit file: %m");
return EXIT_FAILURE;
}
fclose(f);
f = fopen(name, "wxe");
if (!f) {
- log_error("Failed to create automount unit file %s: %m", name);
+ log_error_errno(errno, "Failed to create automount unit file %s: %m", name);
return EXIT_FAILURE;
}
fflush(f);
if (ferror(f)) {
- log_error("Failed to write automount unit file: %m");
+ log_error_errno(errno, "Failed to write automount unit file: %m");
return EXIT_FAILURE;
}
mkdir_parents(name, 0755);
if (symlink("../boot.automount", name) < 0) {
- log_error("Failed to create symlink %s: %m", name);
+ log_error_errno(errno, "Failed to create symlink %s: %m", name);
return EXIT_FAILURE;
}