Actually, only [x86_32] is supported, but soon some ARM [versatile_pb] previous developments (from org.os-lovelace.micro-kernel) should be merged.
Using mercurial :
To get last phase I code :
hg clone -b oasys-dev http://hg.code.sf.net/p/lovelaceos/code lovelaceos-code
or to get lovelace-dev branch :
hg clone -b lovelace-dev http://hg.code.sf.net/p/lovelaceos/code lovelaceos-code
Or directly last snapshot
For oasys-dev branch :
You need to have gnat and nasm installed and then just "make"
to run it : "make qemu"
For lovelace-dev branch (Debian Wheezy with gnat-4.6) :
on an x86 platform :
make GCC=gcc-4.6 PLATFORM=x86_32 DEBUG=bochs kernel-x86_32.elf
make qemu-i386
or
ARM compilation tested on a raspberry
make GCC=gcc-4.6 PLATFORM=versatile_pb DEBUG=uart kernel-versatile_pb.elf
And to test the produced kernel on a x86 platform :
make qemu-versatile_pb
A first way to understand is to use the mercurial diff facility.
The interresting differences between 307:ed83895b8958 and 308:9bcc763d9c23 are :
Like this we get integer image of our enum
Then in 309:72cb1f74c568 revision we add the 'Value usage in our test
At last in 310:dd57a1374e1b revision we disable in gnat.adc the discard_names