43 comments

[ 2.2 ms ] story [ 40.8 ms ] thread
This is a deep dive on what is necessary to get Linux on the 68000-based Atari Jaguar. No specialized hardware/flash carts. All runs within the original hardware vision (2 megabytes of RAM) and gets to a Busybox shell. Linux repository with the changes: https://github.com/cakehonolulu/linux_jag
Might be fun to run this as a barebones router.
To route what? It doesn't appear to be capable of any kind of networking.
On of the few things where getting Doom to run on it wouldn’t be that cool. But I love the post, except for the part where you reminded me I was old by acting like no one remembers that thing.
But… there was a commercial port of Doom to the Jaguar.
But not to jaguar GNU/Linux :P
It had me looking up the specs for the Atari Lynx II that I had as a kid in lieu of a more popular handheld.
Heh. I had already been programming for 28 years when it came out.
Surely I must have seen someone do this already on Slashdot like 25 years ago. Cheers for using a recent kernel though, that's neat.
Still occasionally bring out my old jaguar for Alien vs Predator to try and remember what the excitement was all about, but as to putting Linux on it, amazing effort, but I think I'm going to pass :-)
Not that I blame you... in comparison with pretty much the rest of cartridge-based systems, the available flash cart is priced higher (And AFAIK no DIY open-source ones exist). AvP is one of the best games to play on the system, it was future technology at the time it came out.
The pro move would be getting the Jaguar development tools with their assemblers for the GPU (yes, the Jaguar had a GPU) and the DSP up and running. With just the 68000 it's kind of a glorified Atari ST as a console.
I think it could be feasible (Like, embedding the utils), but I'm not too sure how I'd handle the "upload" of the RISC code for the Tom (While at the same time it's driving the Linux console) and similar...
> The Motorola 68000

> Overall, it got lots of traction commercially; it ....

Before ARM the m68k was possibly the most deployed processor architecture in history. In the late 1990s it was in printers, cars, personal digital assistants, erc, as well as all the home computers, arcades and unix workstations it found it's way into in the 1980s and early 1990s.

It's sucessor, the Coldfire, could have taken ARMs place...

Probably this is the reason it's still in the Linux source tree!

> Before ARM the m68k was possibly the most deployed processor architecture in history

My money would be on something smaller such as the 8051 (https://en.wikipedia.org/wiki/Intel_MCS-51)

Also, between m68k and ARM there was PowerPC. It got used a lot in embedded systems. Because “the newer the car, the more microprocessors it has”, chances are it got used more than m68k.

FWIW, Google’s AI gives me:

- for the m68k: “industry analysis and historical data indicate that hundreds of millions of units were produced across the architecture's lifespan”

- for PowerPC: “By 2008, Freescale Semiconductor had already shipped over 100 million Power Architecture-based MCUs for automotive powertrain management alone. Hundreds of millions more have since been produced for networking, industrial automation, and aerospace applications.”

- for the 8051: “according to industry accounts and semiconductor historians, the cumulative production of 8051-based microcontrollers is estimated to be on the order of billions to tens of billions of units”

Yeah, 8051 wins, it was and still is in everything (sdcards, sim cards, cables, ports...). I may have some trauma from spending too much time with Keil's 8051 C compiler that made me forget it.

But I still think 68k was king of that era for discrete CPU's that could go anywhere, and run a high level OS/complex software, before the MCU and then SoC era came and stole m68k's crown.

Sure, PPC took the m68k's role of discrete CPU in automotive, aerospace, networking and consoles for a while, but I don't think it is the king.

Back to TFA, I think the m68k got a bit more than just "commercial traction"! Which is why it will hopefully stay in the kernel for a long time.

The 65xx series outsold the 68k by several magnitudes.
It should be possible to build a custom cartridge to use some of that 8MB address space for RAM.
Absolutely! You could possibly develop a custom mapper that provides extra RAM (I guess memory bank switching would need to happen) plus the ROM but as far as I'm aware it's not available.
Am I the only one who clicks on these kind of articles holding out hope to see the glimmer of Linux on an actual CRT from composit outputs?

But it's always just screen shots from an emulator...

I'm awaiting some screenies from a peer that has the flash cart for the Jaguar; don't worry, they'll get added! I have both the Jaguar and the Jaguar CD but don't have the flash cart...
Wow, i recognized the 68000 before i even saw the caption. That little chip sure powered a lot of different things back then.
Yeah, I also have a lot of nostalgia for the good ol' 68000.

But "little" is not quite the correct word to describe it, especially not when using DIP packaging as shown in the image in the article. Actually, the 68000 was right at the limits of what could be feasibly packaged as DIP. Later 68000 machines like the Amiga 600 used the PLCC version to save space and costs (https://bigbookofamigahardware.com/bboah/media/download_phot...). Actually, the Jaguar also had the PLCC version: https://www.the-liberator.net/site-files/retro-games/hardwar... .

> Biggest contenders are the original Macintosh (And Apple Lisa), the Commodore Amiga series of computers (With varying generations of the 68000), the Sega Genesis/Megadrive, the Neo-Geo AES, Plexus workstations... and the Jaguar.

Strange that they mention almost all well-known 68k machines, but forget the (extremely relevant in this case) Atari ST...

The Sega Saturn might also qualify, as its sound subsystem has a 68000 with 512 KiB of RAM. Running Linux on it might be trickier though.
Also, honourable mention for the Sinclair QL (though it was a 68008 machine).
This is very cool. I thought literally no one else was using/interested in the 68000 support in the kernel. It was actually subtly broken for a long time. I think the fixes I did went in to 7.0 or 7.1..

I have some potential performance fixes for linuxmd like optimizing the multiplication that happens each time the kernel time infra needs to be updated. Would be cool to see if they help for you too and then get a "Tested-by" on the patch to mainline.

Hi! Thanks for all your work honestly, I saw the patches and most (If not all...) were necessary to boot the kernel.

As for the mainline stuff: Sure! May I reach out to see how I can help?

I followed you on github. I think you should be able to see my email address? If not the one on the 68000 fix commits in the kernel works :)
I think this is very impressive. I remember from eons ago people were running Linux on Amiga, but then it was the later models with 68040 processors with more RAM.

As far as I remember no one ran it on a 68000 with 2 megabytes of RAM.

Could Linux today run on an Amiga 500 with RAM expansion, in this same way?

I've been slowly working on getting fuzix working on my amiga 1200. It boots the kernel I just don't have a file system for it yet. Though my 1200 has ~10MB RAM.
Do you only have a RAM expansion? If you have an MMU normal m68k linux will work for you. I have an a4000 running linux with an nvidia gpu ;) The drivers for the amiga filesystem etc all still work.

If you have the stock 020 we (me and the other people messing with this stuff) can make that work. the 68000 support needs one tiny thing, fixing the stack frame differences between the 000 and the 010+, and it'll boot on basically anything.

I already have patches to do it.

The 68040 has a MMU, the original 68000 doesn't.

Linux can be built to not need a MMU, I have used that on Coldfire and Microblaze systems, I presume this Jaguar port is using it too.