Project: Linux Personality for OS/2

"arch/i386os2" is aiming at porting the Linux kernel to OS/2.

Crazy, you say?
Sure, I'm crazy - I'm still using OS/2.

For the time being Linux, seems to be the OS in focus (when you leave out the ones from Redmond). You might say it's hype, but it has some side effects. I will list some:

  • Hardware is supported on Linux.
    You're much more likely to find hardware supported by Linux than by OS/2. So, it would make sense to make use of this on OS/2.
  • New software is developed for Linux.
    Both new and old software is developed and maintained for Linux. Much of this is available in source code. Which means binary compatability isn't a high priority. Rather make it easy to rebuild it.

Kernel

So, why do to it at kernel level?
Because that's what I think is most phun!
Or, really, that's the best way exploit the hardware support for Linux. Also several people I've been talking with lately will use parts of the Linux kernel or Linux kernel modules for implementing support for some piece of hardware on OS/2.

What I want to prevent is that there will be like 5 different partial ports of the linux kernel which all registers timer callbacks (a scared resource), creating their own kernel threads, their own bugs, or being broken by some OS/2 feature (like the story of ext2fs).

What I would like to see is a unified effort, which initially creates a port of the core parts of the kernel. Continuing on porting and doing OS/2 integration for hardware/features which is closest to ones heart.

Like if I would like to see some particular filesystems supported on OS/2, I would naturally dive into the VFS <-> IFS interface. Someone else might need support for a special IDE RAID card, and will write an OS/2 basedev exposing a block device interface to os2dasd and other DMDs. Others again would like support for their TV card and will make sure that it works and that OS/2 application use it. If someone crazy enough, Linux also includes IPv6 support.

Application Interface

Gradually, nearly as a sideeffect of porting the kernel, most of the syscalls will be implemented. Doing an effort of completing them and make them available to Ring-3 application shouldn't proove too hard (except, maybe, for fork/clone).

In 'normal Linux' the syscalls together with, /dev, /proc and the namespace proved by VFS constructs the base on which the application works. As I said we provide syscalls by porting the kernel, /dev will partially come that way too. /proc and VFS needs some special care but will be part of any attempt to do an IFS integration.

The VFS I think should be ported as it is more or less, putting the magic and effort into the VFS <-> IFS part. Writing a VFS module which exposes the OS/2 volumes to the Linux personality and writing an IFS which exposes the VFS to OS/2. Both ways I would like to be able to mount or attach to any place in the other sides tree. Like for example I would like to attach /home/bird to s:\. Or mount e:\linuxroot as /.

When the basis is in place I think porting of the C libraries, like glib, would come naturally.

Why?

Why don't we just go to linux?
That's a really good question. But, for me, I'm doing this mainly for the fun of it knowing that it's a really excellent way of learning linux from the bottom. Besides, it may be a way to support the upcoming 64-bit processor from AMD, and extended/replace parts of OS/2 which sucks.

What Kind of Help is Needed

  • (Device Driver) Developers willing and able to take care of a piece of the linux kernel.
    This mean C knowledge is prereq, and OS/2 knowledge is really nice too.
  • Someone which can provide GCC+binutils based on ELF together with an ELF2OMF converter.
  • Web maintainer.
  • Power users.
    Someone with a lot of time to answer mails for us :-)

Interested?

For the present contact bird at anduin dot net if you're interested. (I will set up a mailing list ASAP.

You should also try get to Warpstock Europe for all costs so we can meet to have a chat. (Yeah, make sure you bring a laptop with an IRC client in order to part take .... sure ;-) )

Kind Regards,
bird
(aka. knut st. osmundsen)

PS. Check the Target Drafts: http://elfldr.netlabs.org/doc/Targets.php

Project Navigation