FuzzOS: Day 1, starting the OS
Channel: gamozolabs
Date: 19/12/2020

In this video we start the basics of the OS. Mainly, we dig into ACPI so we can start finding out about memory and APICs.


00:00:00 - Stream Starting
00:47:12 - Architecture: Using UEFI as Loader
01:01:32 - Architecture: Loading Kernel and Memory
01:07:10 - Architecture: Kernel Build Process
01:10:00 - The Early Stages of Booting
01:30:40 - Plan for this Stream
01:41:15 - Summary of Boot Process
01:49:25 - Rust Setup: cargo, efi_main() and panic handler
02:00:00 - QEMU setup and first boot
02:02:30 - Start Coding - Core Functions: memcpy, ...
02:08:08 - Review of Core Functions: memmove
02:17:00 - Pulling in EFI
02:26:30 - Running into First Bug
02:35:00 - Unregister/Exit EFI Boot Services
03:16:43 - Copy Serial Driver from chocolate_milk
03:29:00 - Getting ACPI Table
04:31:25 - Parsing ACPI Structures
05:03:15 - "Bad Code Quality" Refactor
05:26:00 - Opinion: Future of Huge RAM Computers (SSD as RAM)
05:38:55 - Back to Coding ACPI Table Reading
06:41:02 - IF YOU DON'T SUB GET THE F' OUT!
06:42:20 - Best Kernel Code Quality
07:45:35 - Continue Reading XSDT Entries
07:58:10 - Reading MADT (Multiple APIC Description Table)
08:22:25 - Thinking About the Implemented Rountine
08:29:00 - Back to Coding... APIC 
09:01:10 - RISCV ACPI Support Research
09:09:35 - Looking into ARM Servers
09:42:42 - Outro