Skip to content
Snatch Mini-OS/Xen using Haskell and Ajhc compiler.
C Assembly C++ Objective-C Haskell Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
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

You can’t perform that action at this time.