The Linux/68000 Project


NEWS: Due to lack of time, I will not be able to continue working on the project. You are free to use the source code to continue the work, but I will not answer any more mail concerning this Linux port!

What is it?


After seeing the uClinux homepage, I decided to try to apply the patches these guys made to the standard m68k subtree. This way, I thought, it'd be possible to boot a Linux kernel on old 68000 machines which have no MMU. And I was right. So if you have an old Atari ST, Amiga or Mac, you might want to look at these patches, or even help a hand...


What do I need, and where can I get it?


For compiling your own kernels and experimenting, you'll need a cross-compiler for m68k-elf binary formats. Here are some instructions on how to build it. For easy debugging, you can install this patched STonX, an Atari ST emulator for X11. Here are the patches against the m68k 2.0.33 kernel (which is not the same as Linus's 2.0.33, you can find the m68k version on ftp.uni-erlangen.de).

You will also need a native (patched) Atari bootstrap, a ramdisk image (containing some uninteresting binaries that show the multithreading), and last but not least a kernel. You can boot the kernel from within the emulator by double-clicking on boot.ttp and entering the following parameters(or by putting them in a file named bootargs):

-r fs root=/dev/ram

Here is a screenshot of Linux booting on STonX (3.81 bogomips!).

Try this archive of all files mentioned above if you want all the files at once.


Project status

So far, it is possible to boot the kernel and mount a ramdisk ext2 filesystem (which contains the stuff in the romfs image of the uClinux site) and run the user binaries in it.

What needs to be done: a solid fork() (the uClinux people are working on it), someone with a lot of free time could try removing 68020 code, FPU and MMU instructions, and dependencies on the 68020+ stack frame format from the Amiga and Macintosh ports.

UPDATE: Since I received a lot of feedback about the project lately, I decided to try and fix some problems that people have reported. Unfortunately it wasn't easy to rebuild everything under my brand new 2.2 Mandrake installation. However, it seems to work now and I've updated the patches and the kernel image. Turns out that the bootstrap had a few problems, which hopefully are fixed by now..bear in mind that I don't have a real ST, only the emulator. To aid in the debugging, I have also included the System.map and .config of the kernel.


Latest updates:

05/22/99: Fixed boot.ttp

05/23/99: Started to fix minix code

05/23/99: Updated ramdisk image, it now contains the source code of the binaries as well for those who are interested. For some reason, I need a 512K filesystem to hold only 91K of data (?). I fixed the minix code so that it compiles, but it doesn't seem to work yet.


This page is maintained by Paul Coene

Last updated on undefined, undefined NaN,NaN.