Skip to content
/ mos Public
forked from MQuy/mos

A hobby operating system developed from scratch

License

Notifications You must be signed in to change notification settings

dfischer/mos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mOS

license MIT By Vietnamese

mOS is the hobby operating system which is developed from scratch

Work-in-process features

  • 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

Get started

$ 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

References

Tutorials

Ebooks

About

A hobby operating system developed from scratch

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.7%
  • Assembly 1.8%
  • Other 1.5%