Sunday, October 4, 2015

MOS Development Start

This weekend I got a little bored, and decided to start up operating system development again.  There is a video of MOS running at the end of the post;
I know, it's been a while.  Firmware development is pretty similar anyway (they both use cross-compilers and have almost nothing in the way of library code.  Originally I bought the HP 530S desktop machine in the video for OS development testing.  I figured I would have a go at making MOS boot on the test machine.  Well, here is an overview.

I have the following directory structure setup:


The functionality provided in my build setup so far:
  • documentation
  • object dumps
  • size of kernel
  • building the kernel
  • rebuilding the kernel
  • cleaning
  • updating the floppy image
I am using (of course) standard Linux tools:
  • gcc
  • nasm
  • ld
  • objdump
  • doxygen
  • size
  • make
  • cscope
  • ctags
  • perforce

Compilation has pretty clean output (when stuff goes right, anyway) :


The output isn't that bad when stuff goes wrong either:


Bochs does a pretty good job of running MOS for debugging / testing quickly:



I have already found the CPU Register window helpful in debugging:





I am also starting to really become a fan of the doxygen generated documentation, this just looks fantastic:


Last, but not least, here is the video I promised at the start of the post.