How would you know if you don't try
?
Guidance credits goes to CodePulse. This is a 'from-scratch' xv6 bootloader that basically does 3 things:
- Checks cpuid for cpu architecture.
- Checks long mode
- Boots the system
- Initializes page table
- Enables paging
- Allocates stack
- Prints a few characters onto the screen
- Have docker installed
- Have QEMU installed
- A decent IDE for development please
- Build the docker image using
sudo docker build buildenv -t try-os
(first time only) - Enter the environment using
- Linux/Unix/Mac:
sudo docker run --rm -it -v $(pwd):/root/env try-os
- Make the ISO File:
make build-x86_64
- Linux/Unix/Mac:
- After Exiting the environment
- Boot into qemu:
qemu-system-x86_64 -cdrom dist/x86_64/kernel.iso
- Boot into qemu: