upvote
There was no MMU in the Macintosh Classic/SE lineup which used the 68k as a CPU, but they still support the microcontroller targeted distros like uClinux. Unfortunately the tight integration with the ToolBox ROM makes it a fairly Herculean task. Microsoft bizarrely enough released Xenix for the Apple LISA as well, but that's more of a historic oddity.

Similarly, Basilisk II is a very worthy emulator for Mac 68k emulation so there's a lot to draw on for QEMU and the like.

reply
I plan to get this working on nommu mac at some point but I don't have one yet. I have a pile of 030/040 macs. Its not mentioned but this mc68000 kernel actually uses devicetree (like arm..) so its fairly portable.

In my QEMU fork there is support for a 68000 virt machine so you can have a multi-ghz emulated 68000 with 128MB RAM (maybe more, haven't tested) if you really want that.

reply
Much respect for your endeavours.

N.B. The Author of Chip4Mac68000 has been planning a port of uClinux in the future with his SDK which explicitly avoids using the Macintosh ROM at all, running bare metal directly on the hardware. Might be worth taking a look at if you're unfamiliar.

reply
Fascinating to think about the logistics with avoiding ROM – model compatiblity must've been a PITA! I'm even thinking about how to identify models – I know there's a pre-Gestalt Toolbox routine that doesn't need any Toolboxes, I guess?
reply
Interesting.. I have some experience with the macintosh ROM from trying to fix up the EMILE bootloader for Linux (its boots like grub instead of being a macos app). Getting a recent GCC etc not to mess up calling stuff in the ROM was painful but QEMU emulates enough of the Quadra 800 that I could at least debug when registers were getting trashed etc with GDB. Alas, it still has some weird issues on real machines and randomly refuses to boot.

I'm going to do a u-boot port for the Mac at some point. It'll use the ROM to get loaded and then get rid of it. That'll work on nommu and mmu Macs and make the modern linux on Mac experience a bit nicer.

reply
there was another unix on the lisa as well
reply
>Huh... I thought Linux actually required MMUs. I was under the impression it'd never run on these old consoles because of that. Learned something new today.

There have been variants of the kernel around for some time that can run on microcontrollers without an MMU (mainly uCLinux).

reply
m68knommu was merged into the mainline kernel in version 2.5.46: https://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-2.5.4...

Of course the 2.5 line was the unstable pre-release for the 2.6 kernel. That means that stable mainline linux has had nommu since 2.6.0, which was released 17 December 2003.

So yes, some time indeed.

reply