#include "path-util.h"
#include "util.h"
#include "mkdir.h"
-#include "unit-name.h"
#include "virt.h"
#include "generator.h"
#include "special.h"
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");
+ name = strjoina(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;
}
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;
}
- name = strappenda(arg_dest, "/boot.automount");
+ name = strjoina(arg_dest, "/boot.automount");
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;
}
- name = strappenda(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/boot.automount");
+ name = strjoina(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/boot.automount");
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;
}