config: On UEFI, scan the volume containing the EFI executable first. Addresses #219

This commit is contained in:
mintsuki 2022-09-22 15:12:11 +02:00
parent 58ef3bd8a9
commit c2ed0bcbd1
2 changed files with 8 additions and 1 deletions

View File

@ -3,7 +3,8 @@
## Location of the config file ## Location of the config file
Limine scans for a config file on *the boot drive*. Every partition on the boot drive Limine scans for a config file on *the boot drive*. Every partition on the boot drive
is scanned sequentially (first partition first, last partition last) for the presence is scanned sequentially - first partition first (or, on UEFI, the partition containing the
EFI executable of the booted Limine is scanned first), last partition last - for the presence
of either a `/limine.cfg`, `/boot/limine.cfg`, or a `/EFI/BOOT/limine.cfg` file, in that order. of either a `/limine.cfg`, `/boot/limine.cfg`, or a `/EFI/BOOT/limine.cfg` file, in that order.
Once the file is located, Limine will use it as its config file. Other possible Once the file is located, Limine will use it as its config file. Other possible

View File

@ -603,12 +603,18 @@ noreturn void _menu(bool first_run) {
} }
if (bad_config == false) { if (bad_config == false) {
#if defined (UEFI)
if (init_config_disk(boot_volume)) {
#endif
volume_iterate_parts(boot_volume, volume_iterate_parts(boot_volume,
if (!init_config_disk(_PART)) { if (!init_config_disk(_PART)) {
boot_volume = _PART; boot_volume = _PART;
break; break;
} }
); );
#if defined (UEFI)
}
#endif
} }
char *quiet_str = config_get_value(NULL, 0, "QUIET"); char *quiet_str = config_get_value(NULL, 0, "QUIET");