Try it. The more people download and run teaseme on their linux box, the more likely it is that we will catch bugs. Also, as more people try it out, we'll get an idea of what needs to be implemented soonest.
Trying it out is easy, for the userspace build all you need to do is download the CVS and the makeme utility.
To try the kernel build you need a 2.2.x linux kernel.
Try out existing device drivers and maybe write some of your own. I've started testing the VGA driver but this requires some work to be done in 3.
The teaseme source code is compiled with the -Wall compiler option. This prints out many compiler warnings. The aim is that the compiler will provide us with a clue about a potential bug. Unfortunately many superfluous warnings are produced, these can be removed by small changes that don't change the way the code works.
If you know C, C++ it would be very useful if you could help reduce these
warnings.
20 Feb 2001 - I've cleaned up a lot of the warnings, especially for the userspace build, but quite a few remain.
The teaseme source is currently very poorly formatted. (The result of
relentless high-speed hacking). There is a program called artistic style
which reformats C code. It would be nice if we could properly reformat all
the code.
20 Feb 2001 - I've discussed this with Todd Miller. We agreed that we should run the ArtisticStyle tool on the code. I just haven't got round to doing it yet.
Updated 20 Feb 2001
A while back Robert Fitzsimons was doing some work on creating linux boot floppies for teaseme. He never finished this, but has been working on RJK (Robert's JOS Kernel) and hopefully soon we will be able to boot teaseme and RJK via GRUB.
We need a way to redirect input to one of the linux virtual consoles to teaseme. I know how to stop getty from claiming a console, but I don't know how to divert the keyboard events to teaseme.
Games can do this though, should we look at some linux games? (Even if they run outside the kernel)
20 Feb 2001 - Todd Miller has been looking at this. He did similar things with his decaf JVM.
It would be great if someone could figure out what's necessary to put some of the more common video cards into a high-resolution text mode. With framebuffer support on linux I can change to a mode that is a lot more comfortable than 80x25.
I have written the methods necessary to do basic file IO in the linux kernel. (see vm/sys_linux_kernel/file.c). Someone needs to do the same for the native network methods. See the source for khttpd, an in-kernel http server, to see how to do this.
If we can figure out how to divert messages from the networking subsystem, we can do further testing on the JEPS TCP/IP stack.
Updated 20 Feb 2000
I have implemented a new GC scheme on kissme that should be ported to teaseme. It requires kernel mutexes (looks like we can use semaphores) and condition variables.
Now (20 Feb) I have implemented the mutexes, but not the condition variables yet. Soon we will be able to do this however.