3 ms·
Genesis does what Nintendon't. > The lowly 68000 in the Sega doesn’t have a memory management unit required for the full Linux experience, so what’s really run
by matheusmoreira 4mo ago
Genesis does what Nintendon't.
> The lowly 68000 in the Sega doesn’t have a memory management unit required for the full Linux experience, so what’s really running here is a kernel compiled with the -nommu option.
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.
> A QEMU fork that emulates enough of the MegaDrive and the EverDrive to play with this without the real hardware is included.
That's seriously impressive.
- cjd8 4mo ago>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).
- poizan42 4mo agom68knommu was merged into the mainline kernel in version 2.5.46: https://www.kernel.org/pub/linux/kernel/v2.5/ChangeLog-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.
- piltdownman 4mo agoThere 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.
- nommuenjoyer 4mo agoI 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.
- piltdownman 4mo agoMuch 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.
- nommuenjoyer 4mo agoInteresting.. 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.
- nxobject 4mo agoFascinating 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?
- mghackerlady 4mo agothere was another unix on the lisa as well