Skip to content

cjxgm/lanos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lanos - Lanos' AN OS

The Lanos Project
by eXerigumo Clanjor

中文文档见 doc 目录(see doc/ for Chinese document)

Copyright (C) eXerigumo Clanjor (兰威举/哆啦比猫), 2010-2012.
All the codes are licensed under GPLv2,
and all the artworks and documents are licensed under CC-BY-SA 3.0.
It comes with ABSOLUTELY NO WARRANTY!

Screenshots (0.13 old release)

Lanos on a real machine!

And video here.

Introduction

This project is a sub project of cjsp (Clanjor Selfaction Project) - the OS part.
It uses GRUB to load the kernel written in C.

Definition and Goals

Lanos is a 32-bit not-so-protected non-UNIX-clone OS. Useful functions will be implemented as earliest as possible. Lanos will provide LanosGL (there's OpenGL maybe), digital audio, high resolution, single process with multi-threads, etc. All the applications must (yet) be hard-coded into the kernel.

Lanos is a toy for hackers. It can be used for bootable demoscene.

Have a Try

You need gcc, ld, nasm and make to compile the source code, and you need qemu or bochs to run it (if you don't want to install it).

Having them installed, you type following command to get the source code (Linux):

git clone git://github.com/cjxgm/lanos.git

Then, compile the kernel (it needs the root permission to mount the floppy image):

make

Then, run it. If you are using bochs, type:

make debug

Or for qemu users:

make qemu

Then, the source codes will be compiled and linked, and a floppy image called floppy.img will be created with the kernel compiled copied in (it is this step that needs the root's permission). Finally, the virtual machine will run.

You can try modifying it. The init code is src/base/init.c. But, you have to obey the Lanos Coding Style.

Lanos Coding Style

The Lanos Coding Style is just as same as the Linux Kernel Coding Style, except that you MUST set your editor's tab width to 4 space-wide!

Issues

("*" means "solved", "X" means "canceled")

  • 2011/09/11 * Add timer, but does not work.
  • 2011/09/18 X Add video 1024x768x24 mode, but do not work.
  • 2011/10/16   sin/cos does not work properly, and printf("%g\n", PI), neither.

About

Lanos' AN OS: A unikernel for demoscenes

Resources

Stars

Watchers

Forks

Packages

No packages published