@@ -27,7 +27,7 @@ fn second_stage_end() -> *const u8 {
27
27
#[ no_mangle]
28
28
#[ link_section = ".start" ]
29
29
pub extern "C" fn _start ( disk_number : u16 , partition_table_start : * const u8 ) {
30
- write ! ( screen:: Writer , "\n SECOND STAGE: " ) . unwrap ( ) ;
30
+ writeln ! ( screen:: Writer , " -> SECOND STAGE " ) . unwrap ( ) ;
31
31
32
32
// parse partition table
33
33
let partitions = {
@@ -59,28 +59,33 @@ pub extern "C" fn _start(disk_number: u16, partition_table_start: *const u8) {
59
59
fat_partition. partition_type,
60
60
PartitionType :: Fat12 ( _) | PartitionType :: Fat16 ( _) | PartitionType :: Fat32 ( _)
61
61
) ) ;
62
- writeln ! ( screen:: Writer , "1" ) . unwrap ( ) ;
63
62
64
63
// load fat partition
65
64
let mut disk = disk:: DiskAccess {
66
65
disk_number,
67
66
base_offset : u64:: from ( fat_partition. logical_block_address ) * 512 ,
68
67
current_offset : 0 ,
69
68
} ;
70
- writeln ! ( screen:: Writer , "2" ) . unwrap ( ) ;
71
69
72
70
let mut fs = fat:: FileSystem :: parse ( disk. clone ( ) ) ;
73
- writeln ! ( screen:: Writer , "3" ) . unwrap ( ) ;
74
71
75
72
let kernel = fs
76
73
. find_file_in_root_dir ( "kernel-x86_64" )
77
74
. expect ( "no `kernel-x86_64` file found" ) ;
78
- writeln ! ( screen:: Writer , "4" ) . unwrap ( ) ;
79
75
80
76
for cluster in fs. file_clusters ( & kernel) {
81
- writeln ! ( screen:: Writer , "kernel cluster: {cluster:?}" ) . unwrap ( ) ;
77
+ let cluster = cluster. unwrap ( ) ;
78
+ writeln ! (
79
+ screen:: Writer ,
80
+ "kernel cluster: start: {:#x}, len: {}" ,
81
+ cluster. start_offset,
82
+ cluster. len_bytes
83
+ )
84
+ . unwrap ( ) ;
82
85
}
83
86
87
+ writeln ! ( screen:: Writer , "DONE" ) . unwrap ( ) ;
88
+
84
89
// TODO: Retrieve memory map
85
90
86
91
// TODO: Set up protected mode, or unreal mode
0 commit comments