Component: Freestanding Multiboot Kernel Bootloader: GRUB 2 (multiboot compliant) Target Platform: x86 32-bit systems (PC/laptop/VM)
Requirements:
- QEMU installed (
sudo apt install qemu-system-x86) - Development environment setup (see README.md)
Steps:
# 1. Navigate to the os directory
cd os
# 2. Build the system
make
# 3. Run QEMU
make runRequirements:
grub-mkrescuexorriso
Steps:
# 1. Build the ISO
cd os
make iso
# 2. The ISO will be generated at:
# ./chrysalis.isoDeploying to USB:
# Write to USB (Replace /dev/sdX with your USB drive)
sudo dd if=chrysalis.iso of=/dev/sdX bs=4M status=progress && sync- BIOS/UEFI initializes.
- GRUB bootloader loads.
- Chrysalis Kernel is loaded into memory via Multiboot protocol.
- Kernel Entry point reached (
kernel_main). - Subsystems Initialize (GDT, IDT, ISR, IRQ, Keyboard, etc.).
- Shell/Terminal becomes active.
Problem: "Multiboot header not found"
- Solution: Ensure the kernel is compiled with the multiboot header within the first 8KiB.
Problem: QEMU crashes immediately
- Solution: Check serial output/logs if enabled. Ensure you are ensuring 32-bit mode (
qemu-system-i386).
- OSDev Wiki: https://wiki.osdev.org/
- Chrysalis OS: Internal documentation