-diff -dur systemd-208.orig/src/efi-boot-generator/efi-boot-generator.c systemd-208/src/efi-boot-generator/efi-boot-generator.c
---- systemd-208.orig/src/efi-boot-generator/efi-boot-generator.c 2013-09-25 03:38:17.000000000 +0200
-+++ systemd-208/src/efi-boot-generator/efi-boot-generator.c 2014-01-22 21:05:38.281137494 +0100
-@@ -52,7 +52,7 @@
- if (!is_efi_boot())
+diff -dur -x '*~' -x '*.orig' -x '*.rej' systemd-218.orig/src/efi-boot-generator/efi-boot-generator.c systemd-218/src/efi-boot-generator/efi-boot-generator.c
+--- systemd-218.orig/src/efi-boot-generator/efi-boot-generator.c 2014-12-05 01:26:51.000000000 +0100
++++ systemd-218/src/efi-boot-generator/efi-boot-generator.c 2015-04-02 15:45:18.000000000 +0200
+@@ -69,15 +69,15 @@
return EXIT_SUCCESS;
+ }
-- if (dir_is_empty("/boot") <= 0)
-+ if (dir_is_empty("/boot/efi") <= 0)
+- r = path_is_mount_point("/boot", AT_SYMLINK_FOLLOW);
++ r = path_is_mount_point("/boot/efi", AT_SYMLINK_FOLLOW);
+ if (r > 0) {
+- log_debug("/boot is already a mount point, exiting.");
++ log_debug("/boot/efi is already a mount point, exiting.");
+ return EXIT_SUCCESS;
+ }
+ if (r == -ENOENT)
+- log_debug("/boot does not exist, continuing.");
+- else if (dir_is_empty("/boot") <= 0) {
+- log_debug("/boot already populated, exiting.");
++ log_debug("/boot/efi does not exist, continuing.");
++ else if (dir_is_empty("/boot/efi") <= 0) {
++ log_debug("/boot/efi already populated, exiting.");
return EXIT_SUCCESS;
+ }
- r = efi_loader_get_device_part_uuid(&id);
-@@ -63,7 +63,7 @@
+@@ -84,7 +84,7 @@
return EXIT_FAILURE;
}
-- name = strjoin(arg_dest, "/boot.mount", NULL);
-+ name = strjoin(arg_dest, "/boot-efi.mount", NULL);
- if (!name) {
- log_oom();
+- name = strjoina(arg_dest, "/boot.mount");
++ name = strjoina(arg_dest, "/boot-efi.mount");
+ f = fopen(name, "wxe");
+ if (!f) {
+ log_error_errno(errno, "Failed to create mount unit file %s: %m", name);
+@@ -105,7 +105,7 @@
+ "Description=EFI System Partition\n"
+ "Documentation=man:systemd-efi-boot-generator(8)\n");
+
+- r = generator_write_fsck_deps(f, arg_dest, what, "/boot", "vfat");
++ r = generator_write_fsck_deps(f, arg_dest, what, "/boot/efi", "vfat");
+ if (r < 0)
return EXIT_FAILURE;
-@@ -80,13 +80,13 @@
- "[Unit]\n"
- "Description=EFI System Partition\n\n"
+
+@@ -113,7 +113,7 @@
+ "\n"
"[Mount]\n"
+ "What=%s\n"
- "Where=/boot\n"
+ "Where=/boot/efi\n"
- "What=/dev/disk/by-partuuid/%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n"
- "Options=umask=0077\n",
- SD_ID128_FORMAT_VAL(id));
-
- free(name);
-- name = strjoin(arg_dest, "/boot.automount", NULL);
-+ name = strjoin(arg_dest, "/boot-efi.automount", NULL);
- if (!name) {
- log_oom();
+ "Type=vfat\n"
+ "Options=umask=0077,noauto\n",
+ what);
+@@ -124,7 +124,7 @@
return EXIT_FAILURE;
-@@ -103,10 +103,10 @@
+ }
+
+- name = strjoina(arg_dest, "/boot.automount");
++ name = strjoina(arg_dest, "/boot-efi.automount");
+ fclose(f);
+ f = fopen(name, "wxe");
+ if (!f) {
+@@ -136,7 +136,7 @@
"[Unit]\n"
"Description=EFI System Partition Automount\n\n"
"[Automount]\n"
-- "Where=/boot\n", f);
-+ "Where=/boot/efi\n", f);
-
- free(name);
-- name = strjoin(arg_dest, "/local-fs.target.wants/boot.automount", NULL);
-+ name = strjoin(arg_dest, "/local-fs.target.wants/boot-efi.automount", NULL);
- if (!name) {
- log_oom();
+- "Where=/boot\n"
++ "Where=/boot/efi\n"
+ "TimeoutIdleSec=120\n", f);
+
+ fflush(f);
+@@ -144,10 +144,10 @@
return EXIT_FAILURE;
-@@ -114,7 +114,7 @@
+ }
+- name = strjoina(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/boot.automount");
++ name = strjoina(arg_dest, "/" SPECIAL_LOCAL_FS_TARGET ".wants/boot-efi.automount");
mkdir_parents(name, 0755);
- if (symlink("../boot.automount", name) < 0) {
+ if (symlink("../boot-efi.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;
}