-
i686 GCC Cross-compiler (The source code is available at https://ftp.gnu.org/gnu/gcc/gcc-14.1.0/)
-
i686 Binutils (Source code at https://ftp.gnu.org/gnu/binutils/) (the latest version is at the bottom of the list)
-
Make
Available as
makeon most package managers. Used for building the project -
xorriso
Available as
xorrisoon most package managers. Used for burning to the USB drive -
Grub 2
Install
grub2-commonwith your package manager. Used for creating the boot image -
Qemu-i386 (optional, for testing)
Available as
qemu-system-x86on most package managers.
To build the cross-comipling tools, follow this tutorial for the i686-elf target: https://wiki.osdev.org/GCC_Cross-Compiler
(Note: This takes a while! Do this first and be prepared to wait).
In the project root folder, run make build.
To test the operating system, run make test.
The operating system requires a hard disk image formatted as FAT16 for testing. You can make one with:
dd if=/dev/zero of=image.img bs=1M count=32
mkfs.fat -F16 image.imgIf you plan to run it on your computer, make sure you have a hard drive that doesn't have anything on it and is formatted as FAT16.
This project currently runs off of a USB stick. To
burn to the stick, first run lsblk to find your
stick's device name (mine was /dev/sdb). Then,
run dd if=myos.iso of=/dev/sdb. Substitute your
device name for /dev/sdb. Then, eject and remove
your USB drive, plug it into a computer, and press
your computer's boot menu button (refer to
this table
to find it) and select "Removable drive" or "USB".
Enjoy the operating system!