diff options
| author | Vaze <vaze@vaze.dev> | 2026-05-24 11:12:58 +0200 |
|---|---|---|
| committer | Vaze <vaze@vaze.dev> | 2026-05-24 11:12:58 +0200 |
| commit | 00552fcd03f86bffed8c2f6a9d110981cb869489 (patch) | |
| tree | 9ec457e586317584a9c422cae06e6f83f1266fa2 /bootloader/target/debug/.fingerprint/bootloader-d5ca01328aa45090/output-bin-bootloader | |
| parent | 83e4e3051395c6dcf20ef05682b247f9da479502 (diff) | |
Added functionality to bootloader so it can now read the kernel file to memory.
Diffstat (limited to 'bootloader/target/debug/.fingerprint/bootloader-d5ca01328aa45090/output-bin-bootloader')
| -rw-r--r-- | bootloader/target/debug/.fingerprint/bootloader-d5ca01328aa45090/output-bin-bootloader | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/bootloader/target/debug/.fingerprint/bootloader-d5ca01328aa45090/output-bin-bootloader b/bootloader/target/debug/.fingerprint/bootloader-d5ca01328aa45090/output-bin-bootloader new file mode 100644 index 0000000..b4010a1 --- /dev/null +++ b/bootloader/target/debug/.fingerprint/bootloader-d5ca01328aa45090/output-bin-bootloader @@ -0,0 +1,8 @@ +{"$message_type":"diagnostic","message":"no global memory allocator found but one is required; link to std or add `#[global_allocator]` to a static item that implements the GlobalAlloc trait","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: no global memory allocator found but one is required; link to std or add `#[global_allocator]` to a static item that implements the GlobalAlloc trait\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"unwinding panics are not supported without std","code":null,"level":"error","spans":[],"children":[{"message":"using nightly cargo, use -Zbuild-std with panic=\"abort\" to avoid unwinding","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"since the core library is usually precompiled with panic=\"unwind\", rebuilding your crate with panic=\"abort\" may not be enough to fix the problem","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: unwinding panics are not supported without std\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mhelp\u001b[0m: using nightly cargo, use -Zbuild-std with panic=\"abort\" to avoid unwinding\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: since the core library is usually precompiled with panic=\"unwind\", rebuilding your crate with panic=\"abort\" may not be enough to fix the problem\n\n"} +{"$message_type":"diagnostic","message":"`?` couldn't convert the error to `uefi::Error<uefi::Status>`","code":{"code":"E0277","explanation":"You tried to use a type which doesn't implement some trait in a place which\nexpected that trait.\n\nErroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n foo.bar();\n}\n\nfn main() {\n // we now call the method with the i32 type, which doesn't implement\n // the Foo trait\n some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n fn bar(&self);\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n fn bar(&self) {}\n}\n\nfn some_func<T: Foo>(foo: T) {\n foo.bar(); // we can now use this method since i32 implements the\n // Foo trait\n}\n\nfn main() {\n some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n // implemented for the type `T`\n}\n\nfn main() {\n // We now call the method with the i32 type,\n // which *does* implement the Debug trait.\n some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function. Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function. It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n println!(\"{:?}\", foo);\n}\n\nfn main() {\n // Calling the method is still fine, as i32 implements Debug.\n some_func(5i32);\n\n // This would fail to compile now:\n // struct WithoutDebug;\n // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"src/main.rs","byte_start":586,"byte_end":635,"line_start":27,"line_end":27,"column_start":19,"column_end":68,"is_primary":false,"text":[{"text":" let boot_fs = boot::get_image_file_system(boot::image_handle())?;","highlight_start":19,"highlight_end":68}],"label":"this can't be annotated with `?` because it has type `Result<_, uefi::Error>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":539,"byte_end":565,"line_start":26,"line_end":26,"column_start":24,"column_end":50,"is_primary":false,"text":[{"text":"fn open_boot_part() -> Result<FileSystem, Status> {","highlight_start":24,"highlight_end":50}],"label":"expected `uefi::Error<uefi::Status>` because of this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/main.rs","byte_start":635,"byte_end":636,"line_start":27,"line_end":27,"column_start":68,"column_end":69,"is_primary":true,"text":[{"text":" let boot_fs = boot::get_image_file_system(boot::image_handle())?;","highlight_start":68,"highlight_end":69}],"label":"the trait `From<uefi::Error>` is not implemented for `uefi::Error<uefi::Status>`","suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/main.rs","byte_start":635,"byte_end":636,"line_start":27,"line_end":27,"column_start":68,"column_end":69,"is_primary":false,"text":[{"text":" let boot_fs = boot::get_image_file_system(boot::image_handle())?;","highlight_start":68,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of operator `?`","def_site_span":{"file_name":"src/main.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":false,"text":[],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"the trait `From<uefi::Status>` is implemented for `uefi::Error`","code":null,"level":"help","spans":[{"file_name":"/home/gvr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/uefi-0.37.0/src/result/error.rs","byte_start":1204,"byte_end":1235,"line_start":47,"line_end":47,"column_start":1,"column_end":32,"is_primary":true,"text":[{"text":"impl From<Status> for Error<()> {","highlight_start":1,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0277]\u001b[0m\u001b[1m: `?` couldn't convert the error to `uefi::Error<uefi::Status>`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/main.rs:27:68\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m26\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn open_boot_part() -> Result<FileSystem, Status> {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------------------------\u001b[0m \u001b[1m\u001b[94mexpected `uefi::Error<uefi::Status>` because of this\u001b[0m\n\u001b[1m\u001b[94m27\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let boot_fs = boot::get_image_file_system(boot::image_handle())?;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------------------------------------------\u001b[0m\u001b[1m\u001b[91m^\u001b[0m \u001b[1m\u001b[91mthe trait `From<uefi::Error>` is not implemented for `uefi::Error<uefi::Status>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94mthis can't be annotated with `?` because it has type `Result<_, uefi::Error>`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait\n\u001b[1m\u001b[96mhelp\u001b[0m: the trait `From<uefi::Status>` \u001b[1m\u001b[35mis\u001b[0m implemented for `\u001b[1m\u001b[35muefi::Error\u001b[0m`\n \u001b[1m\u001b[94m--> \u001b[0m/home/gvr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/uefi-0.37.0/src/result/error.rs:47:1\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m47\u001b[0m \u001b[1m\u001b[94m|\u001b[0m impl From<Status> for Error<()> {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[96m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"cannot borrow `boot_fs` as mutable, as it is not declared as mutable","code":{"code":"E0596","explanation":"This error occurs because you tried to mutably borrow a non-mutable variable.\n\nErroneous code example:\n\n```compile_fail,E0596\nlet x = 1;\nlet y = &mut x; // error: cannot borrow mutably\n```\n\nIn here, `x` isn't mutable, so when we try to mutably borrow it in `y`, it\nfails. To fix this error, you need to make `x` mutable:\n\n```\nlet mut x = 1;\nlet y = &mut x; // ok!\n```\n"},"level":"error","spans":[{"file_name":"src/main.rs","byte_start":471,"byte_end":478,"line_start":22,"line_end":22,"column_start":20,"column_end":27,"is_primary":true,"text":[{"text":" let boot_dir = boot_fs.open_volume();","highlight_start":20,"highlight_end":27}],"label":"cannot borrow as mutable","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"consider changing this to be mutable","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":390,"byte_end":390,"line_start":21,"line_end":21,"column_start":9,"column_end":9,"is_primary":true,"text":[{"text":" let boot_fs = boot::get_image_file_system(boot::image_handle())?;","highlight_start":9,"highlight_end":9}],"label":null,"suggested_replacement":"mut ","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[91merror[E0596]\u001b[0m\u001b[1m: cannot borrow `boot_fs` as mutable, as it is not declared as mutable\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/main.rs:22:20\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m22\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let boot_dir = boot_fs.open_volume();\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[91m^^^^^^^\u001b[0m \u001b[1m\u001b[91mcannot borrow as mutable\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[96mhelp\u001b[0m: consider changing this to be mutable\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m21\u001b[0m \u001b[1m\u001b[94m| \u001b[0m let \u001b[92mmut \u001b[0mboot_fs = boot::get_image_file_system(boot::image_handle())?;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[92m+++\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"unused variable: `boot_dir`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":460,"byte_end":468,"line_start":22,"line_end":22,"column_start":9,"column_end":17,"is_primary":true,"text":[{"text":" let boot_dir = boot_fs.open_volume();","highlight_start":9,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":460,"byte_end":468,"line_start":22,"line_end":22,"column_start":9,"column_end":17,"is_primary":true,"text":[{"text":" let boot_dir = boot_fs.open_volume();","highlight_start":9,"highlight_end":17}],"label":null,"suggested_replacement":"_boot_dir","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `boot_dir`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/main.rs:22:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m22\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let boot_dir = boot_fs.open_volume();\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_boot_dir`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\n\n"} +{"$message_type":"diagnostic","message":"aborting due to 4 previous errors; 1 warning emitted","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[1m\u001b[91merror\u001b[0m\u001b[1m: aborting due to 4 previous errors; 1 warning emitted\u001b[0m\n\n"} +{"$message_type":"diagnostic","message":"Some errors have detailed explanations: E0277, E0596.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mSome errors have detailed explanations: E0277, E0596.\u001b[0m\n"} +{"$message_type":"diagnostic","message":"For more information about an error, try `rustc --explain E0277`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[1mFor more information about an error, try `rustc --explain E0277`.\u001b[0m\n"} |
