For fun OS project. rarely developed but highly informative
- New Name (OS1 is rubbish)
- Practice ASM and C
- Learn about low-level device interaction
- Fill spare time(?)
To build the system you need: The Netwide Assembler (NASM) to build ASM files,
The GNU Compiler Collection (GCC) to build C files,
The GNU Binutils for the Linker (ld) and objcopy,
GNU Make is the build system in use
To configure your workspace run
make configure
WARNING: This will not check if you have the prerequisites installed
To build the binary files run
make
To build a bootable image file (images/floppy.img) run
make pack
(sudo) make install
Note: You may need SuperUser permissions to mount and unmount the image. This is needed to make linux handle FAT12 copying of files.
To update the image file, run
(sudo) make uninstall
(sudo) make install
Currently, the only supported emulator is QEMU.
Install it to try the system.
To run the OS use the included run.sh file.
To debug the OS, the GNU Debugger (GDB) is also needed.
The included debug.sh script uses GDB and TMUX, however, symbol files in DWARF format are automatically built and are available for manual debugging in these directories:
loader/symbols
kernel/symbols
shell/symbols (includes libKernel symbols)
LIMEWIRE License v4.9
The "Do what you want cause a pirate is free" License:
"You are a Pirate!"
(Do what you want with this code, I don't care :) )