@@ -73,6 +73,15 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
73
73
}
74
74
75
75
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
+
76
85
let config_file = load_config_file ( image, & mut st, boot_mode) ;
77
86
let mut error_loading_config: Option < serde_json_core:: de:: Error > = None ;
78
87
let mut config: BootConfig = match config_file
@@ -87,14 +96,6 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
87
96
}
88
97
} ;
89
98
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
-
98
99
#[ allow( deprecated) ]
99
100
if config. frame_buffer . minimum_framebuffer_height . is_none ( ) {
100
101
config. frame_buffer . minimum_framebuffer_height =
@@ -105,7 +106,7 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
105
106
config. frame_buffer . minimum_framebuffer_width =
106
107
kernel. config . frame_buffer . minimum_framebuffer_width ;
107
108
}
108
- let framebuffer = init_logger ( image, & st, config) ;
109
+ let framebuffer = init_logger ( image, & st, & config) ;
109
110
110
111
unsafe {
111
112
* SYSTEM_TABLE . get ( ) = None ;
@@ -193,6 +194,7 @@ fn main_inner(image: Handle, mut st: SystemTable<Boot>) -> Status {
193
194
194
195
bootloader_x86_64_common:: load_and_switch_to_kernel (
195
196
kernel,
197
+ config,
196
198
frame_allocator,
197
199
page_tables,
198
200
system_info,
@@ -218,7 +220,7 @@ fn load_config_file(
218
220
st : & mut SystemTable < Boot > ,
219
221
boot_mode : BootMode ,
220
222
) -> Option < & ' static mut [ u8 ] > {
221
- load_file_from_boot_method ( image, st, "config .json\0 " , boot_mode)
223
+ load_file_from_boot_method ( image, st, "boot .json\0 " , boot_mode)
222
224
}
223
225
224
226
fn load_kernel (
@@ -473,7 +475,7 @@ fn create_page_tables(
473
475
fn init_logger (
474
476
image_handle : Handle ,
475
477
st : & SystemTable < Boot > ,
476
- config : BootConfig ,
478
+ config : & BootConfig ,
477
479
) -> Option < RawFrameBufferInfo > {
478
480
let gop_handle = st
479
481
. boot_services ( )
0 commit comments