Snatch Mini-OS/Xen using Haskell and Ajhc compiler.
C Assembly C++ Objective-C Haskell Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
libjhcrts
mini-os
scripts
stub
xen
.gitignore
Config.mk
Makefile
README.mkdn

README.mkdn

Snatch Mini-OS/Xen using Ajhc

Let's try to rewrite Mini-OS/Xen using Haskell and Ajhc compiler.

Note: Mini-OS is small OS in Xen source tree.

About Metasepi project

This is a part of Metasepi project. Metasepi project is aim to rewrite a practical OS with some strong type-safe functional laungage.

This project uses a snach developing method. This means "We rewrite one C funciton with Haskell in a one step instead of rewring whole OS code".

This enables us early time dog fooding.

Prerequires

  • ajhc 0.8.0.8
  • Xen 4.1.5
  • Ruby 1.9.x

Configure

Link to include directory:

$ make -C mini-os links

Build

generate stub files

$ cd stub
$ ./gen-stub idl/*.h
$ cd ..

build haskell code

$ make -C libjhcrts

build mini-os

$ make -C mini-os

Run

Write mini-os/mini-os.cfg like this:

kernel = "/path/to/mini-os"
memory = 128
name = "MINIOS"
on_crash = "destroy"

And run:

$ cd mini-os
$ xm create -c mini-os.cfg

Documents