Skip to content

Commit 38aa266

Browse files
committed
Fix: Load kernel first, then use same boot mode for config file
We previously tried to always load the config file from disk.
1 parent c87d041 commit 38aa266

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

uefi/src/main.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,15 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
7373
}
7474

7575
let mut boot_mode = BootMode::Disk;
76+
77+
let mut kernel = load_kernel(image, &mut st, boot_mode);
78+
if kernel.is_none() {
79+
// Try TFTP boot
80+
boot_mode = BootMode::Tftp;
81+
kernel = load_kernel(image, &mut st, boot_mode);
82+
}
83+
let kernel = kernel.expect("Failed to load kernel");
84+
7685
let config_file = load_config_file(image, &mut st, boot_mode);
7786
let mut error_loading_config: Option<serde_json_core::de::Error> = None;
7887
let mut config: BootConfig = match config_file
@@ -87,14 +96,6 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
8796
}
8897
};
8998

90-
let mut kernel = load_kernel(image, &mut st, boot_mode);
91-
if kernel.is_none() {
92-
// Try TFTP boot
93-
boot_mode = BootMode::Tftp;
94-
kernel = load_kernel(image, &mut st, boot_mode);
95-
}
96-
let kernel = kernel.expect("Failed to load kernel");
97-
9899
#[allow(deprecated)]
99100
if config.frame_buffer.minimum_framebuffer_height.is_none() {
100101
config.frame_buffer.minimum_framebuffer_height =

0 commit comments

Comments
 (0)