From c6827451bce4cd3774a9e066a4a1bf51bb83592e Mon Sep 17 00:00:00 2001 From: salmonik Date: Sun, 2 Aug 2026 15:34:45 +0200 Subject: v0.5.5: on-screen boot markers for disk/fs stage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Real hardware has no serial console, and the ahci/fat/fs boot diagnostics were serial-only — a silent fs failure left the user with no way to see where boot stopped. Add boot_marker lines for the AHCI disk count, FAT volume count, and the VFS tree + fs self-test result. --- rsdos/src/main.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'rsdos') diff --git a/rsdos/src/main.rs b/rsdos/src/main.rs index 4521a42..4fe89c9 100644 --- a/rsdos/src/main.rs +++ b/rsdos/src/main.rs @@ -298,15 +298,30 @@ pub unsafe extern "efiapi" fn efi_main(image_handle: Handle, system_table: *mut if !rsnix::ahci::init() { rsnix::serial_println!("ahci: no disk attached"); } + rsnix::gop::boot_marker(&alloc::format!( + "rsnix: ahci {} disk(s)", + rsnix::ahci::disk_count() + )); rsnix::fat::init(); // prints one line per mounted volume + rsnix::gop::boot_marker(&alloc::format!( + "rsnix: fat {} volume(s) mounted", + rsnix::fat::volume_count() + )); let (dirs, files) = rsnix::fs::init(); rsnix::serial_println!("fs: vfs ready — {} dirs, {} files", dirs, files); - if rsnix::fs::self_test() { + let fstest = rsnix::fs::self_test(); + if fstest { rsnix::serial_println!("fs: self-test OK (create/read/write/remove)"); } else { rsnix::serial_println!("fs: self-test FAILED"); } + rsnix::gop::boot_marker(&alloc::format!( + "rsnix: fs ok {} dirs/{} files self-test {}", + dirs, + files, + if fstest { "ok" } else { "FAILED" } + )); rsnix::serial_println!("boot: entering shell"); rsnix::gop::boot_marker("rsnix: boot done — shell"); -- cgit v1.2.3