Tue 23 Jun 2009 10:55:10 PM UTC, original submission:
A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.
Registration Administration
While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):
Registration Details
- Name: Iris kernel
- System Name: iris-kernel
- Type: non-GNU software & documentation
- License: GNU General Public License v3 or later
Description:
Iris is a microkernel for the Trendtac mini-pc sub-notebook. The Trendtac is a mips-based device which ships with a very restricted GNU/Linux installation, and I prefer to have more control over the machine.
Iris uses a capability system, very much in line with the ideas for a future version of the Hurd. It allows virtualization at any level, and automatic protection of resources against programming bugs and malicious software.
The initial intention of Iris is to create a PDA-like environment, with a text editor, an alarm clock, etc. Eventually, a POSIX layer may be added to allow running programs that people know from GNU systems.
Other Software Required:
Iris depends only on the hardware it runs on. Currently, it only works on the Trendtac (http://www.trendtac.nl). The software that it uses on it is the boot loader u-boot, the modified source of which can be found at http://www.trendtac.nl/documents/EPC700_GPL_Sources.7z
(This includes all other sources for software on the device as well.)
To build, it requires gcc and binutils with a mips target, and pypp, a code preprocessor I wrote myself. Pypp is licensed under the GNU GPL v3 or later. It needs libshevek, a C++ library I wrote, which is also licensed GNU GPL v3 or later. Both have their repository on my home server (which is very slow for upload): http://a82-93-13-222.adsl.xs4all.nl/svn/trunk/{libshevek,pypp}/. To use them, they need to be configured with --prefix=/usr.
Other Comments:
I copied some parts of the Linux source quoted above, in particular include/asm-mips/jz4730/{ops,regs}.h, which is copied into mips/jz4730.hhp. These sources don't have a copyright statement or license in the header. This means I can't put a proper copyright statement in my header. I do put the GPL license header on it, because it must be at least compatible with it, being part of the Linux source (and provided through a link which is labeled "GPL source code").
For reading the source, think of it as C++ with some python things in it. In particular, blocks are defined by indentation, and usually start with a ':'. In practice, pypp (the pythonic preprocessor) parses the python-style constructs and turns them into C(++) constructs, and then gcc does the real work.
Tarball URL:
http://a82-93-13-222.adsl.xs4all.nl/~shevek/iris.tar.gz
|