/tamp2

The Ada Monolithic kernel Project

Primary LanguageAdaOtherNOASSERTION

                       The Ada Monolithic kernel Project

--------------------------------------------------------------------------------
Introduction
--------------------------------------------------------------------------------

This source is based on the Ada Bare Bones tutorial from
http://wiki.osdev.org/Ada_Bare_bones.

The aims of this project are twofold:

1) to solidify operating system development knowledge gained by implementing
   a simple monolithic kernel and a few drivers.
2) To provide the basis for an educational operating system which can be used
   in OS classes by stripping out the various components so they can be
   re-implemented by the students.

--------------------------------------------------------------------------------
Prerequisites
--------------------------------------------------------------------------------
You will need an Ada compiler, we will be using the system compiler under Debian.
If there are any changes you need to make to get it to work on a different OS
we will list them here.

To test using make QEMU, you will need GRUB 2 installed for the grub-mkrescue
(GRUB 2 should be installed if you're on a modern distribution) command. This
command also uses xorriso - which I had to install separately.

Under Debian:

$ sudo apt-get install qemu xorriso

--------------------------------------------------------------------------------
Instructions
--------------------------------------------------------------------------------

1) Build the RTS:

for f in "ada.ads" "a-unccon.ads" "a-uncdea.ads" "gnat.ads" "g-souinf.ads" \
  "interfac.ads" "s-atacco.adb" "s-atacco.ads" "s-maccod.ads" "s-stoele.adb" \
  "s-stoele.ads"
do
  ln -s `pwd`/rts/src/$f `pwd`/rts/boards/i386/adainclude/$f
done

gnatmake -Pgnat.gpr -XBoard=pc

2) Build the kernel:

make

3) Test:

make qemu

--------------------------------------------------------------------------------
Bugs
--------------------------------------------------------------------------------

None at present.

--------------------------------------------------------------------------------
Licence
--------------------------------------------------------------------------------

2-clause simplified BSD.