X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fefi-boot-generator%2Fefi-boot-generator.c;h=4367c536b0ca7e371e6a80887c5b9cff7bd480fe;hp=ee6ec31c0ebc2ec7e7e03c78076c6e3a26399614;hb=c79bb9e4e2e5b96b2ae2c432bf8b0ff9674fce60;hpb=f4ce2b3e5ce93b83f14f8785e205ebb5a9b8c1df;ds=sidebyside diff --git a/src/efi-boot-generator/efi-boot-generator.c b/src/efi-boot-generator/efi-boot-generator.c index ee6ec31c0..4367c536b 100644 --- a/src/efi-boot-generator/efi-boot-generator.c +++ b/src/efi-boot-generator/efi-boot-generator.c @@ -25,8 +25,9 @@ #include "efivars.h" #include "path-util.h" #include "util.h" +#include "mkdir.h" -static const char *arg_dest = NULL; +static const char *arg_dest = "/tmp"; int main(int argc, char *argv[]) { int r = EXIT_SUCCESS; @@ -48,7 +49,7 @@ int main(int argc, char *argv[]) { umask(0022); - if (!is_efiboot()) + if (!is_efi_boot()) return EXIT_SUCCESS; if (dir_is_empty("/boot") <= 0) @@ -76,6 +77,8 @@ int main(int argc, char *argv[]) { fprintf(f, "# Automatially generated by systemd-efi-boot-generator\n\n" + "[Unit]\n" + "Description=EFI System Partition\n\n" "[Mount]\n" "Where=/boot\n" "What=/dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n" @@ -96,10 +99,11 @@ int main(int argc, char *argv[]) { return EXIT_FAILURE; } - fprintf(f, - "# Automatially generated by systemd-efi-boot-generator\n\n" - "[Automount]\n" - "Where=/boot\n"); + fputs("# Automatially generated by systemd-efi-boot-generator\n\n" + "[Unit]\n" + "Description=EFI System Partition Automount\n\n" + "[Automount]\n" + "Where=/boot\n", f); free(name); name = strjoin(arg_dest, "/local-fs.target.wants/boot.automount", NULL); @@ -108,8 +112,10 @@ int main(int argc, char *argv[]) { return EXIT_FAILURE; } + mkdir_parents(name, 0755); + if (symlink("../boot.automount", name) < 0) { - log_error("Failed to create symlink: %m"); + log_error("Failed to create symlink %s: %m", name); return EXIT_FAILURE; }