By popular demand, here's Jarkko Hietaniemi's excellent AmigaMach FAQ - AmigaMach FAQ $Id: KludgeMach-FAQ,v 1.15 1993/01/01 14:47:52 jhi Exp $ ====== WHAT? Mach kernel (MK78) has been ported to Commodore Amigas. The port works provably on the following platforms: - A3000 with AmigaDOS 2.04 in RAM with 4MB fast RAM ('030 25MHz) - A2500 with 2 MB fast RAM ('030) - A2000 with GVP Combo ('030 33MHz) - A500 with CSA MegaMidget Racer ('030) The port is also known as "KludgeMach". Motorola 68030 definitely works, '020 should be sufficient as long as a MMU (68851) is available. On a '040 Mach sort of boots but checking needs to be made whether the same binaries and sources still run on a '030. To boot the KludgeMach at least 2MB fast RAM is required. KludgeMach DOES NOT USE chip ram at all. By tweaking sources the fast RAM requirement could perhaps be pushed down to 512kB. Diskspace requirement of the binaries is only 300kB. The current distribution CONTAINS ONLY THE SOURCES and to build Mach at least 3MB of fast RAM is required. To build the binaries, 25MB of diskspace is needed, of this 15MB is for Mach, 10MB for the development tools. The minimum memory requirement for the compilation is at least 2 MB (works only with optimization turned off), 4MB is probably enough. NOTE: these requirements are only for now; in near future the distribution is likely to grow significantly because device drivers and servers are added. The recommended minimum is then 4MB fast RAM and 40MB disk. Nice-to-have amounts are then 8MB fast and 100MB disk: this much is needed for double build directories and for possible Mach-based filesystem's playground. ====== WHY? The KludgeMach project aims at building a free UNIXish environment for the Commodore Amiga computers. As its base it will use the Mach microkernel built at Carnegie Mellon university (CMU). Mach is OS-independent, however, and therefore other OSs could also be run on top of it as servers. ====== WHERE? The port is available by FTP from the following places: Australia: monu1.cc.monash.edu.au:/pub/mach GMT+10 (NSW) IP: 130.194.1.101 Europe: ftp.funet.fi:/pub/mach/amiga GMT+2 (EET) (or /pub/amiga/mach, both work) IP: 128.214.6.100 ftp.dfv.rwth-aachen.de:/pub/amiga/mach GMT+1 (MET) (or ftp.informatik.rwth-aachen.de, both work) IP: 137.226.4.105 United States: homeboy.wpi.edu:/pub/mach GMT-5 (EST) IP: 130.215.8.99 oes.orst.edu:/pub/mach GMT-8 (PST) IP: 128.193.124.2 monu1.cc.monash.edu.au is the primary distribution site BUT DO USE THE SITE NEAREST TO YOU WHEN DOWNLOADING (ftp get'ting), NOT monu1. The link to "down under" is seriously limited. When uploading (ftp put'ting), use the incoming/ directory of monu1. Also remember to do your ftp'ing when there is night at the site you are using. The distribution is mirrored daily from monu1 to homeboy and oes and from there daily to Germany and Finland. You need only the file /pub/mach/amiga/KludgeMach-.tar.Z to get started. Currently the latest version is 0.007, based on CMU MK78. Note that the European sites have one directory deeper hierarchy, you will need to get /pub/mach/amiga/amiga/KludgeMach-.tar.Z SIM is a kernel debugger that will be useful if (when) you start hacking on the Mach kernel. It was done by Stefan Walter . If you develop AmigaMach, it is best to use the tools provided in the distribution (directory tools/). This because then everyone will know what the others are talking about (basically, face the same bugs :-). If you want/need to use some other tools, please first discuss the choice in the mailing list and then if the new tool is really deemed necessary, provide it to others by uploading it to monu1. The tools that are currently agreed upon are: gcc-2.2.2 (remember to apply fixes 1 to 3) pdksh-920711 dmake gtar10 GNU parser/patch utils The full contents of the monu1 distribution are: /pub/mach/README: ---------------------------------------------------------------------- This is an area for the distribution of sources related to ports of the Mach microkernel from CMU to the Motorola 68000 series of microprocessors. The directories are: /pub/mach: - you are here total 12 -rw-r--r-- 1 1606 2761 Sep 11 13:33 README drwxr-xr-x 4 1606 2048 Dec 17 12:05 amiga drwxr-xr-x 2 1606 2048 Oct 6 12:46 cmu_src drwxr-xr-x 2 1606 2048 Oct 6 12:46 contrib drwxrwx-wx 2 1606 2048 Dec 14 15:54 incoming /pub/mach/amiga: - sources to AmigaMach total 9718 -rw-r--r-- 2 1606 21102 Nov 3 02:12 AmigaMach-FAQ -rw-r--r-- 1 1606 5178 Oct 18 01:45 Bootstrap.patch -rw-r--r-- 1 1606 2065 Oct 19 12:37 Bootstrap2.patch -rw-r--r-- 1 1606 3256873 Sep 3 14:12 KludgeMach-0.003.tar.Z -rw-r--r-- 1 1606 3041123 Sep 20 15:52 KludgeMach-0.006.tar.Z -rw-r--r-- 1 ftp 3317969 Dec 14 15:36 KludgeMach-0.007.tar.Z -rw-r--r-- 2 1606 21102 Nov 3 02:12 KludgeMach-FAQ -rw-r--r-- 1 1606 8341 Sep 3 19:52 KludgeMach-README -rw-r--r-- 1 1606 5301 Oct 22 17:45 SCSI.patch -rw-r--r-- 1 1606 5944 Oct 22 17:45 SCSI2.patch -rw-r--r-- 1 1606 68957 Sep 3 12:51 SIM.lha drwxr-xr-x 2 1606 2048 Oct 6 12:48 diffs -rw-r--r-- 1 1606 35326 Sep 27 12:58 hd_wilde.diff -rw-r--r-- 1 ftp 53096 Sep 11 12:50 scsi9091.lzh drwxr-xr-x 2 1606 2048 Dec 17 12:05 tools -rw-r--r-- 1 ftp 25840 Sep 11 12:50 uart.tar.Z /pub/mach/amiga/diffs: - differences between versions total 60 -rw-r--r-- 1 1606 e helpful total 4550 -rw-r--r-- 1 1606 388 Oct 5 11:21 GettingGNUTools -rw-r--r-- 1 1606 345600 Sep 4 18:43 dmake.lha -rw-r--r-- 1 1606 80 Sep 4 18:47 dmake.lha.readme -rw-r--r-- 1 ftp 7286 Oct 5 00:42 gcc-2.2.2-fix2.lha -rw-r--r-- 1 ftp 173155 Dec 14 17:42 gcc-2.2.2-fix3.lha -rw-r--r-- 1 1606 3306066 Sep 4 11:54 gcc-2 total 4818 -rw-r--r-- 1 1606 254 Sep 5 10:38 getting_bsdss -rw-r--r-- 1 1606 2863311 Sep 3 13:52 mk78.tar.Z -rw-r--r-- 1 1606 219675 Sep 3 13:53 poe9.tar.Z -rw-r--r-- 1 1606 1777023 Sep 3 13:53 user18.tar.Z /pub/mach/contrib: - other random sources total 494 -rw-r--r-- 1 1606 92701 Sep 3 12:51 MachSun3.tar.Z -rw-r--r -rw-r--r-- 1 1606 2571 Sep 8 11:27 second_SYS.h Note that the European sites have one directory deeper hierarchy, you will need to cd to /pub/mach/amiga, just /pub/mach is not enough. Note also that the directory hierarchy (where the things are) may mutate because new material will accumulate and the hierarchy might need reorganizing. The rule of thumb: use th. This is not continuously mirrored, it is only a snapshot of 7th of September 1992. Mach documentation is available by ftp from mach.cs.cmu.edu:doc GMT-5 (EST) IP: 128.2.209.192 For example doc/osf/kernel_principles.ps is a good starting place. ====== BEWARE! KludgeMach works, but only for suitably small values of "works". Ha and to Michael if you have some special skills, hardware or just time to hack around. Michael is also in charge of the "offical" releases so SEND YOUR PATCHES TO Michael. Here are the guidelines: > * Use diff -rc to create a patch I can apply directly to the directory > structure. > > * Send the patch to me and tell me you want it added. Tell me which > version ing on this. - drivers: SCSI, AT IDE, WD33C92, WD33C93, Commodore 2065/2090/2091 expertise needed. Amiga UNIX has many device drivers WITH sources. Their copyright status needs to be checked from Commodore. Keith Gabryelski has volunteered to contact C= about this. Ty Sarna is contacting GVP about their drivers. Other 3rd party vendors like IVS could also use some questioning. Markus Illenseer has already contacted Ralph Babel of GVP: > He knew about the Mach Port already, he is very interested on a running > kernel and a running Server. But he is not willing to implement a GVP SCSI > driver while nothing is ruhen the driver for > the A3000-SCSi and the A2091 is finished, and he thought this could be > a point to enter into Mach. - an OS :-) Work and queries are currently progressing on several fronts: BNR2SS/BSDSS: Michael Saleeba [Zik] The situation is a bit muddy: CMU has stopped SUPing BSDSS. BSD4.4: Real Soon Now -- the "lite" or unencumbpfer : > > I understand that you're interested in the Mach-based Sprite > single-server. I'm the person who did the single-server. I no longer > work for the University of California, but I can give you some > information about the server. > > - The sources for the Sprite single-server are available for anonymous > ftp from allspice.berkeley.edute > daemon. > > - The Sprite single-server implements a subset of Sprite > functionality. There is no binary compatibility, either with native > Sprite or with UNIX. Process migration is not supported, nor is > access to the local disk. Most of the Sprite distributed file > system is implemented, ct, the Sprite group gave > up on supporting external sites in early 1992, and requests for a > Sprite distribution are now politely refused. > > - If you would like to browse any of the missing sources, I can try to > put together a tar file for you. Also, feel free to send me mail if > you have additional questions. Please be patient if I am slow in > answerinme time ago I spoke with Richard Stallman on the subject. He's very > interested in having m68k-based machines running the Hurd. In fact > apparently GNU have a couple of Amigas they'd like to use to help > develop the Hurd, so it'd be nice if we could help out with that :-) Linux: The upper layers may be portable enough to make an UNIX server??? Some work has been doichael Richardson has at least a partial answer: > Yes, it is. The ISA bus architecture stuff is sufficiently isolated > that making it work on other types of 386 system would be a snap. The > 386 specific stuff is isolated to one directory tree (in which the isa > stuff is located) as well. > I am unclear as to how a Mach single serudio, clock, etc) - contacts with GNU project (see the above discussion about Hurd) - cross-compilation environment Jukka Partanen is researching this area. - RDB (Rigid Block Standard) experts - AmigaOS emulator - this FAQ file is maintained by Jarkko Hietaniemi DRAMATIS PERSONAE: Erik Bennett oes.o the author of the initial port of Amiga Mach Keith Gabryelski former C= AmigaUNIX Networking/X11/device Engineer AmigaUNIX device driver source status Dominic Giampolo homeboy.wpi.edu ftp maintainer Niklas Hallqvist .edu.au ftp maintainer (the primary site) the central coordinator the official releases Ty Sarna Sprite research GVP contact Markus Wild Linux preliminary peek Amiga ports of GCC and gtar dmake ====== HOW? Want more information? t, amiga-mach, is most useful as an information channel both for asking questions and for sending answers and progress reports. For specific subprojects people are encouraged to use either personal mail or create mailing lists if the subject is not necessarily useful for "general public". For example people working actively with console driver might get together and create a entions of Amiga UNIX, MacIntoshes and Mac's A/UX on the amiga-mach list. Standardizing call conventions would make possible to have binary compability between m68k-based Machs. This FAQ is updated about weekly and then merged to the ftp distribution. It is sent weekly to the amiga-mach mailing list and crossposted to the following USENET newsgroups: comp.os.mach,comp.sys.amiga.hardware,comp.sys.amiga.programmer,comp.unix.amiga END_OF_FAQ