This is an enhanced version of the James Molloy Operating System tutorial code, originally sourced from James Molloy's OS Tutorial.
- The bootloader has been upgraded to GRUB2, offering better compatibility and support for modern systems. The
grub-mkrescue
tool is now used to create bootable ISO images. - A script has been added to simplify the execution of the OS within QEMU for easier testing.
- The build system has been modernized using the Meaty Skeleton, offering a more flexible and efficient structure for compiling and linking the OS components.
- The assembly source files have been renamed from
.s
to.asm
to adhere to more common naming conventions and improve readability.
James Molloy's tutorial has known bugs, which are documented here. For a bug-free version, you can switch to the fixed-known-bugs
branch.
Before building and running the OS, make sure you have the following tools installed:
- GRUB
- NASM
- QEMU
- Make
- i686-cross-compiler
To build the OS, simply run the following command:
./build.sh
With QEMU:
./qemu.sh
With Bochs:
./bochs.sh