Welcome to my hobby OS that I'm writing for the RISC-V architecture using qemu's virt board.
- Build a cross compiler for the
riscv64-elftarget with GCC version 14.2.0 and binutils version 2.44 (The OS is STRICTLY for 64bit, 32bit will not work) - Install
qemu-system-riscv64 - Clone this repository
- Update the Makefile with the location to your cross compiler via the CC, AS, and LN variables.
- Add a disk image named
disk.imgcontaining a ext2 filesystem to the root directory of the project, as QEMU expects an image file. Alternatively, runmake generate_new_fat32to generate a fat32 disk image, to satisfy QEMU. The OS will not currently read FAT32 without changes to the kernel, but file system auto-mounting will occur in the future. - Run
make runto compile, link, and run the binary in qemu