build/: contains the necessary tools to build the project
src/: source files
bios/: BIOS-related utilities (such as SMBIOS)
fs/: File system / partition scheme code
fzboot/: Main bootloader code, contains the Kernel API
mbr/: Bootloader entry, contained in the disk MBR
real/: real-mode entry ("second stage"), loaded just after the MBR
main/: protected-mode entry, loaded after switching from real mode
...: feature-specific source files (time, irq)
io/: Input-output device management code
mem/: contains memory-management related code
video/: contains FrozenBoot's graphic code.
x86/: architecture-specific code
This eliminates the separation between a "library" (that did not look like a library anymore), and 3 crates for each boot stage. Instead, there is one main code folder, in which the crates for each boot stage are embedded. Exported code (abstraction built on top of direct hardware access) lies in the fzboot folder.
Changed the file structure to the following:
build/
: contains the necessary tools to build the projectsrc/
: source filesbios/
: BIOS-related utilities (such as SMBIOS)fs/
: File system / partition scheme codefzboot/
: Main bootloader code, contains the Kernel APImbr/
: Bootloader entry, contained in the disk MBRreal/
: real-mode entry ("second stage"), loaded just after the MBRmain/
: protected-mode entry, loaded after switching from real mode...
: feature-specific source files (time
,irq
)io/
: Input-output device management codemem/
: contains memory-management related codevideo/
: contains FrozenBoot's graphic code.x86/
: architecture-specific codeThis eliminates the separation between a "library" (that did not look like a library anymore), and 3 crates for each boot stage. Instead, there is one main code folder, in which the crates for each boot stage are embedded. Exported code (abstraction built on top of direct hardware access) lies in the
fzboot
folder.