Skip to content
0:00 / 0:00

#uefi#acpi#osdev

FuzzOS: Day 1, starting the OS

gamozolabs

13K subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Brandon Falk, gamozolabs

Advanced. Deep dive for people who know the field.

26K views5 years ago2 recommendations

Systems programmingProgramming languagesOperating systemsRustEmbedded systems

Brandon Falk live-codes the beginning of an operating system in Rust, setting up UEFI, ACPI parsing, and QEMU booting.

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. - Stream Starting - Architecture: Using UEFI as Loader - Architecture: Loading Kernel and Memory - Architecture: Kernel Build Process - The Early Stages of Booting - Plan for this Stream - Summary of Boot Process - Rust Setup: cargo, efi_main() and panic handler - QEMU setup and first boot - Start Coding - Core Functions: memcpy, ... - Review of Core Functions: memmove - Pulling in EFI - Running into First Bug - Unregister/Exit EFI Boot Services - Copy Serial Driver from chocolate_milk - Getting ACPI Table - Parsing ACPI Structures - "Bad Code Quality" Refactor - Opinion: Future of Huge RAM Computers (SSD as RAM) - Back to Coding ACPI Table Reading - IF YOU DON'T SUB GET THE F' OUT! - Best Kernel Code Quality - Continue Reading XSDT Entries - Reading MADT (Multiple APIC Description Table) - Thinking About the Implemented Rountine - Back to Coding... APIC - RISCV ACPI Support Research - Looking into ARM Servers - Outro

Why it's here

2 people recommend this

What people say. Recommended as a great resource for learning UEFI and bootloader development from scratch using Rust.

Moments people linked to

u/0xdev_in r/rust • Recommends

On “Does anyone know of a "Hello, World!" tutorial for UEFI/Rust?”

You can take a look at [video I implemented some code here: https://github.com/48d90782/angry\_os. At the moment working on EFI and ACPI docs.

u/speacedin r/rust • Recommends

On “Need help locating learning material. Interested in trying to develop a bootloader using Rust.”

The best resource, regarding UEFI, I can think of is that video of a live coding stream on twitch : [video You can find interesting information on how to target UEFI (which apparently is just a PE file with a special entry point and fewer sections) from scratch with Rust and a lot more.
1View on Reddit