Subject: Mach related servers on Linux
Author: Mary Thompson
Date: July 1994
-----------------------------------------------------
There is a group working on getting a Linux compatible single server,
multi-server and Hurd servers. Information about the project is
available via the www URL: http://boole.info.polymtl.ca:1500/~hallu/
The FTP server is: boole.info.polymtl.ca/pub/proj/linuxss.
There is a group mailing list linuxss@info.polymtl.ca that can
be joined by sending mail to linuxss-request@info.polymtl.ca.
Posts to comp.os.mach and comp.os.linux.annouce from members of
group follow.
------------------------------------------------------------
To: hurd-dev@gnu.ai.mit.edu, linuxss@info.polymtl.ca, lites@cs.hut.fi
Subject: Mach with new build environment and LILO support available
Cc: marcus@ee.pdx.edu, steve@icarus.icarus.com, mw@eunet.ch
Date: Fri, 15 Jul 94 16:10:11 MDT
From: Bryan Ford
You can get my first (working) release of Mach, with a totally new,
"GNUified" build environment and direct LILO (Linux Loader) support,
by anonymous FTP from kahlua.cs.utah.edu:/pub. Get the packages
called `mach4-UK01.tar.gz' and `mach4-i386-UK01.tar.gz'. The first
contains a README that should explain everything needed to get going.
This release successfully boots from LILO (at least on my machine)
and uses Remy Card's modified server bootstrap program to load and
run his test server from a Linux ext2fs partition. I haven't yet tried
running any "real" servers on it yet, though I want to get both LITES
and the Hurd running smoothly on it. I'll probably work on the Hurd
first, because thanks to Louis-D. Dubeau it has ext2 file system support.
This release has a number of Linux dependencies, and will probably
not build/run from a BSDish system without some fixes. For one thing,
the old non-LILO boot mechanism is temporarily broken. Also, some of
the auxiliary programs used to build boot images probably need some Linux
include files and such, because they were ripped straight out of Linux.
If you make the fixes for BSD, please me the patches - I probably won't
be able to fix it myself real soon because the NetBSD boot loader seems to be
incompatible with my PC. (One thing I _can_ do, and plan to before the next
release, is to integrate Johannes Helander's Mach patches for LITES.)
At this point the system probably contains lots of little bugs and gotachas,
and I'm sure I've broken a few things here and there. It'll probably be
getting a lot more unstable in the near future, as well, as I integrate
migrating threads into the i386 version of the kernel. Therefore,
at this point I'm not interested in getting bug reports, although bug _fixes_
in the form of patches are always welcome. :-) I'm also interested in hearing
discussion on how to further change Mach to better support the free servers,
make it more powerful and robust, easier to install and use, etc.
Thanks, and have fun!
Bryan
---
Bryan Ford baford@cs.utah.edu University of Utah, CSS
`finger baford@schirf.cs.utah.edu' for PGP key and other info.
-----------------------------------------------------
Newsgroups: comp.os.linux.announce
Subject: Linux*s project status
Keywords: linux, mach, hurd, single server, multiple server, status
From: hallu@info.polymtl.ca
Date: Jun 9 1994
The linuxss has now split in three different directions:
-building a single server.
-building a multiple server.
-adding Linux compatibility to the Hurd.
While I am working more on the two last options, others are working on
the first option. We hope that despite the differences between the
three directions, there will be strong interraction between people
working on them and that, where possible, design and code will be
shared.
What has been done:
- Remy Card patched Mach so it now boots from a ext2fs
partition. (This helps a lot.)
- I wrote specs for the Linux syscalls (some info still
missing).
What will be done:
- I'm beginning work on a Hurd compatible (from Hurd sources)
ext2 fs server. A umsdos fs server (or Alessandro Forin's
DOSFS) will follow. This is of use mostly to a ms or Hurd
implementation.
- In parallel with the previous point, I'll write ext2fs and
umsdos (or DOSFS) specs.
- Daniel Veillard is working on a port of the Linux kernel to a
Mach server. This is will lead to a ss implementation, however some
byproducts of this work might be used in a ms implementation.
For more info take a look at the URL in my sig.
ldd
| Louis-Dominique Dubeau
|Computer Engineering, Ecole Polytechnique de Montreal (Montreal, Quebec)
|Linux single server project (http://boole.info.polymtl.ca:1500/~hallu/)
| -> This sentence is false!!!
to
switch((short int)...
in the exec.c file in kernel/src/makeboot/i386.
With all those modification, I got odemake to procude a bootable
microkernel. I tried to load it with LILO but it didn't work. LILO loaded
the image and then returned to the "LILO boot:" prompt.
Now, how will I get the damn thing to boot? (Yes, I know I also
need a server if I want to do something useful with the mk.)
A la prochaine
Louis-Dominique Dubeau
--
===========================================================================
| Hallu (Louis-Dominique Dubeau) |
| Membre du Comite Micro de l'AEP |
| Departement de Genie Informatique |
| Ecole Polytechnique de Montreal (Montreal, Quebec) |
====================== This sentence is false !!! ========================
Article: 3910 of comp.os.mach
From: jds@cs.umd.edu (James da Silva)
Newsgroups: comp.os.mach,comp.os.linux.development
Subject: Re: Building Mach 3.0 under Linux
Date: 2 Nov 1993 14:46:58 -0500
Organization: University of Maryland, Department of Computer Science
Lines: 42
References: <1993Nov2.165813.2482@vlsi.polymtl.ca>
hallu@info.polymtl.ca (Louis-D. Dubeau) writes:
> With all those modification, I got odemake to procude a bootable
>microkernel. I tried to load it with LILO but it didn't work. LILO loaded
>the image and then returned to the "LILO boot:" prompt.
>
> Now, how will I get the damn thing to boot? (Yes, I know I also
>need a server if I want to do something useful with the mk.)
Good job so far. Now you've come to the crux of the matter!
First, you need to check that all the little details are right. Mach has
to be loaded at the right address and invoked in the right manner. Mach is
expecting to be invoked in protected mode with valid segment registers set
up to a "flat" address space, and it is expecting parameters passed from
the boot program on its stack. Look at the following files to piece
together how these parameters are pushed/popped/used:
i386at/boot/asm.S
i386at/asm_startup.h
i386at/model_dep.c
i386/setroot.c
You'll have to modify either your boot program or the Mach startup to
get the arguments differently. Once you have that part in sync you
should be able to see Mach go through its initial device probe sequence.
After the devices probe, Mach hands off to the bootstrap task, which was
connected to it by makeboot. If makeboot wasn't modified correctly for
your Linux a.out format, the whole thing will go south at this point.
Then the bootstrap loader will try to open a paging file, and load and run
the first server. For all that to work, the disk driver will need to
recognize the Linux partitioning system. As is, it expects a BSD-ish label
on the disk somewhere (can be in a DOS partition) and takes its info from
that. Of course, bootstrap will also have to understand your Linux
filesystems and a.out format, as will any Unix server you want to run.
Whew. Good luck, you'll need it. I know, I've been there. :-)
Jaime
............................................................................
: Stand on my shoulders, : jds@cs.umd.edu : James da Silva
: not on my toes. : uunet!mimsy!jds : Systems Design & Analysis Group
Article: 4237 of comp.os.mach
Newsgroups: comp.os.mach
From: jlr@usoft.spb.su (John Lynn Roseman)
Subject: Re: Availability of Mach 3.0/development system
Organization: UrbanSoft AO (St-Petersburg)
Date: Sat, 23 Apr 1994 15:33:00 GMT
Message-ID:
Lines: 85
Sanjay Lal (lals@ecf.toronto.edu) at 22 Apr 94 16:35:19 GMT writes:
> I was wondering if there is a Mach Development system fot i386/486
> based on Linux or someother UNIX like OS? If not is it feasible
> at all to do this?? I cant afford a UNIX source liscence!!
This is definitely feasible, and it could have a big impact on the
free software movement. Today only a few people have the opportunity
to contribute to the Hurd, because the development environment
requires a UNIX source license. With a free UNIX single server,
the Hurd could benefit from the open model which has proved so
successful with Linux.
Derek Upham (upham@cs.ubc.ca) wrote (in gnu.misc.discuss on 10 Apr 1994 15:06:44):
> The Unofficial GNU Hurd FAQ, Version 0.4
> . . .
> there is a
> private (invitation-only) list for developers to coordinate
> their efforts. It's not even worth thinking about unless you
> (a) have a lot of free time on your hands, (b) know Unix
> internals and Mach very well, and (c) have a proper machine.
>
> A proper machine'', at the moment, means an x86 box running
> Mach 3.0 with some sort of Unix single-server running on top.
> The OSF/1 operating system is one such single-server, and the
> CMU Unix single-server is another. Both cost money.
David Becker (beckerd@cs.unc.edu) wrote (in gnu.misc.discuss on 22 Mar 1994 15:43:18):
> What you really need is a unix server. Mach for the i386at architecture is
> free from CMU but the BSD unix server requires a unix source license.
> With USL-BSDI suit settled, the BSDSS server may be rereleased for
> free.
Furthermore, we have e-mail from someone at the Helsinki University of
Technology who has written a single server based on BSD UNIX and is
ready to release it as free software as soon as 4.4 BSD Lite is released
by UCB.
Meanwhile, on the Linux side:
Louis-D. Dubeau (hallu@info.polymtl.ca) wrote (on Fri, 17 Dec 1993 03:04:17 in comp.os.linux.development):
> Yep! The Linux-ss team is working to port Linux to Mach and therefore we have
> build Mach on Linux. The Mach sources and tools are at mach.cs.cmu.edu. It won't
> compile out of the box though. I and other member of the Linux-ss team have made
> some paches to Mach to make it compile and boot with Linux. Unfortunately, the
> patches aren't available yet but they will soon. (The main reason why my patches
> are not yet public is that I'm in my exams period so I don't have much time
> now.)
> . . .
> | Louis-Dominique Dubeau
> |Computer Engineering, Ecole Polytechnique de Montreal (Montreal, Quebec)
> | --- Linux single server project ---
> | mailing list: linuxss@info.polymtl.ca -- requests: linuxss-request
> | alpha code at info.polymtl.ca in incoming/linuxss (use it at your own risk)
> | -> This sentence is false!!! , John Lynn Roseman wrote:
>spj@ukelele.gcr.com (Guru Aleph_Null) on 24 Apr 1994 13:02:20 -0400 wrote:
>> We really do need a free Mach development environment. There must be
>> a conspiracy somewhere, you'd think there would be one by now. :)
>Blame the AT&T/USL/Novell lawyers. And the decision by the FSF
>to rely on a non-free development environment for the Hurd.
That decision probably was the only choice they had for developing the
Hurd. I think that's the only "developement environment" available
for Mach 3.0. Now it looks like Novell's going to put out its own
Linux distribution and give Linux a boost in recognizability in the
Real World. (Expose)
>> and comp.os.mach.bsdss is too BSD-centric. :)
>Maybe what we need is something BSD-centric.
>A free Mach single server would probably have to start with an
>existing free UNIX. So it seems the options are Linux and BSD.
>Even though Linux may have more users and more developers than
>BSD386, my impression is that a Linux single server is far from
>reality. BSDss already exists, so it would just be a question of
>isolating and rewriting the code segments which are not already
>free.
Alpha code for the linuxss is in aiken.info.polymtl.ca:/pub/linuxss.
They're using CVS to manage the sources which knocks me out of
contention for trying to help until I get some more disk space. :)
They are including an older bsdss (free apparently) and some other
servers for people to look at.
>By the way, does comp.os.mach.bsdss already exist? Our local
>news server does not carry any sub-groups under comp.os.mach,
>but they would probably add them if we asked.
I don't think I made it clear that I was speculating on the creation
of such a newsgroup(s). I got mail about this and he brought up a good
point that the number of messages posted to comp.os.mach weekly
usually can be counted on one hand--- he didn't feel that we needed to
bother with creating a comp.os.mach.* hierarchy. But I feel
differently, I think there's a big "vacuum" waiting to be filled, and
just these messages here will probably trigger a firestorm of
interest in such an environment.
>-- John
--
.---------------------------------------. MS-Windows and Form 1040A are respon-
|Guru Aleph-Null spj@ukelele.gcr.com|%sible for lowering America's GNP by
`---------------------------------------'#wasting more person-hours than all
%#######################################%of the lawyers combined. --proverb