/* Adds Boot Loader Type #1 entries (i.e. /loader/entries/….conf) */
- err = open_directory(root_dir, u"\\loader\\entries", &entries_dir);
+ const uint16_t dropin_path[] = u"\\loader\\entries";
+
+ err = open_directory(root_dir, dropin_path, &entries_dir);
if (err != EFI_SUCCESS)
return;
if (err != EFI_SUCCESS)
continue;
- boot_entry_add_type1(config, device, root_dir, u"\\loader\\entries", f->FileName, content, loaded_image_path);
+ boot_entry_add_type1(config, device, root_dir, dropin_path, f->FileName, content, loaded_image_path);
}
}
Config *config,
EFI_HANDLE *device,
EFI_FILE *dir,
+ const uint16_t *path,
const uint16_t *filename) {
enum {
assert(config);
assert(device);
assert(dir);
+ assert(path);
assert(filename);
_cleanup_(file_closep) EFI_FILE *handle = NULL;
.title = TAKE_PTR(title),
.version = xstrdup16(good_version),
.device = device,
- .loader = xasprintf("\\EFI\\Linux\\%ls", filename),
+ .loader = xasprintf("%ls\\%ls", path, filename),
.sort_key = xstrdup16(good_sort_key),
.key = 'l',
.tries_done = -1,
};
config_add_entry(config, entry);
- boot_entry_parse_tries(entry, u"\\EFI\\Linux", filename, u".efi");
+ boot_entry_parse_tries(entry, path, filename, u".efi");
if (!PE_SECTION_VECTOR_IS_SET(sections + SECTION_CMDLINE))
return;
assert(device);
assert(root_dir);
- err = open_directory(root_dir, u"\\EFI\\Linux", &linux_dir);
+ const uint16_t dropin_path[] = u"\\EFI\\Linux";
+
+ err = open_directory(root_dir, dropin_path, &linux_dir);
if (err != EFI_SUCCESS)
return;
if (startswith_no_case(f->FileName, u"auto-"))
continue;
- boot_entry_add_type2(config, device, linux_dir, f->FileName);
+ boot_entry_add_type2(config, device, linux_dir, dropin_path, f->FileName);
}
}