mOS is the hobby operating system which is developed from scratch
- Filesystem
- Program loading
- UI (X11)
- Log
- Networking
- Signal
- Terminal
- POSIX compliant
- Port GCC (the GNU Compiler Collection)
- Sound
- Symmetric multiprocessing
🍀 Optional features
- Setup 2-level paging in boot.asm
- Dynamic linker
$ brew install qemu nasm gdb i386-elf-gcc i386-elf-grub bochs e2fsprogs xorriso
$ cd src && ./create_image.sh && ./build.sh qemu iso
✍🏻 If you get this error hdiutil: attach failed - no mountable file systems
, installing might help extFS for MAC
Debuging
in build.sh
, adding -s -S
right after qemu
to switch to debug mode. Currently, I use vscode + native debuge -> click Run -> choose "Attach to QEMU"
Monitoring
tail -f serial.log | while read line ; do echo $line ; done
✍🏻 Using tail
in pipe way to color the output (like above) causes a delay -> have to manually saving in ide to get latest changes