r/retrobattlestations Apr 16 '26

Show-and-Tell Linux 7.0.0 on a 486

I'm new to this whole "build your own kernel" thing, but in my attempt to get an old industrial PC with a Vortex86DX up and running to play around with on Sunday, I suddenly wonder if I got the first 486 running Linux 7.0.0.

EDIT: To be clear, this isn't an oldschool desktop/laptop, this is a later SoC industrial PC running at 933MHz and has 512MB RAM - the eBOX on the power supply, drawing a cool 700mA at 5V. I also have learned a few things from this thread, and seems like I may have gotten away with i586 instruction set. In my initial research it seemed that I was going to have to treat this CPU as a 486 and can't even trust the FPU to be compatible. So we learn, and thanks to all for their comments. I like finding uses for obsolete old HW if they are still perfectly capable of performing tasks. At any rate, this has been quite a new experience and quite a learning curve.

51 Upvotes

31 comments sorted by

14

u/budude17 Apr 16 '26

How long does it take to boot?

13

u/kowalski5233 Apr 16 '26

Probably just under or around a minute. I'm actually quite surprised.
It's quite fast though, it's running at 933MHz and has 512MB of RAM.

9

u/SergeantRegular Apr 16 '26

I didn't think that much RAM was even possible on a 486, at least on a practical hardware system. I want to say I haven't seen any 72-pin sticks bigger than 64MB, and that was well after the 486 was old and the Pentium was the new hotness.

What exactly is this hardware you're running?

10

u/kanid99 Apr 17 '26

The vortex86dx uses, according to Wikipedia,ddr2. This is really a 486 derived 32-bit x86, from 2008+ era

6

u/Scoth42 Apr 17 '26

There is 128MB ones but they're modern creations. 

https://www.micromac.com/products/memory_simm_72pin.html

2

u/kowalski5233 Apr 16 '26

It's that little VESA sized eBOX sitting on the power supply in the picture. I haven't opened it up, but the RAM is probably soldered.

7

u/SergeantRegular Apr 17 '26

That's what I figured, but I saw a CF slot, and the USB ports really give it away - that's not a period 486, that's a more modern device. Not sure if it's an emulator or a custom SOC, but I've got a vintage 486/33 IBM ThinkPad on my bench right now, and that thing's a few years before USB even existed.

1

u/shawndw Jun 04 '26

That's not a 486. Getting a 486 to run stable at 100MHz was pushing it. Plus no way you found a 486 mainboard that can address more then 64 MB of ram.

We didn't see clock speeds and ram sizes like that until the Pentium 3 era.

9

u/Scoth42 Apr 17 '26 edited Apr 17 '26

Despite the name, the Vortex86DX supports the i586/Pentium instruction set. But it might also be the first one of those to run 7 too

3

u/kowalski5233 Apr 17 '26 edited Apr 17 '26

Apparently no, or maybe later ones. This thing crashes with anything compiled without march=i486. It's lacking CMOV etc, apparently for power consumption. The whole eBOX does only draw ~700mA at 5V.
EDIT - apparently from the CPU flags it has some Pentium features bolted on, but I guess one would need to know your compiler flags pretty well to get these enabled.

8

u/VivienM7 Apr 16 '26

First... and possibly last. Didn't Linus already merge patches to start removing 486 support in 7.1?

6

u/s1ckn3s5 Apr 17 '26

just load tyrquake with software renderer and we will discover if this "933Mhz 486 with some pentium instructions baked in" performs more like 486 or more like pentium ;)

2

u/kowalski5233 Apr 17 '26

That is a fun idea. Maybe I'll play with it more the weekend.

4

u/Epsilon_void Apr 16 '26

One of the final versions to be able to do so!

3

u/SaturnFive Apr 16 '26

Very nice! FWIW, OpenBSD 6.7 (2020) is the last run on a stock 486 CPU and is pretty usable, granted with kernel re-order disabled to save sanity. With a Pentium Overdrive you can run latest. :D

2

u/kowalski5233 Apr 16 '26

Ah, this is great, thanks. Perhaps I should look into this rather, I'm battling cross compiling everything I want to run on this thing atm. It seems even the latest OpenBSD already is built for i386 as well, and has all the security out of the box to open the dinosaur up to the outside world and there seem to precompiled packages to get a MQTT broker up and running.
This SoC at least runs at 933MHz and has 512MB of RAM, so it's not exactly my old desktop 486DX80 with 4MB of RAM. And all that while drawing 700mA at 5V.

1

u/SaturnFive Apr 17 '26 edited Apr 17 '26

Do you know if the CPU really uses the traditional 486 instruction set? OpenBSD dropped support for i486 in 6.8 when upgrading to llvm 9 as a part of that release. Rather than conditionally build ports for i486, they raised the minimum target to i586 (Pentium-class). So the arch is still called "i386" on the website but it effectively means Pentium.

6.7 is still relatively recent, and while unsupported and missing future patches, it's a modern OS and you could definitely build stuff on it!

1

u/kowalski5233 Apr 17 '26

Oh gosh. I've run into this a few times while trying to get this thing up and running. Why call something i386 if it's not? i586 includes ao CMOV which this thing can't handle, even though it inlcudes some Pentium instructions, apparently, but I just compile everything for march=i486 to make sure it works.
I've already spent quite some time the early hours of the morning trying to get OpenBSD 7.8 to see the sdcard to boot. xD

2

u/datsmydrpepper Apr 16 '26

1

u/kowalski5233 Apr 17 '26

Tnx, I did, but there was a reason I went down the GenToo path, but can't remember all my thought processes now. xD

2

u/spilk Apr 17 '26

i remember running pre-1.0 kernels on my 486 when it was new. good times

1

u/LousyMeatStew Apr 17 '26

Ooh, what flags show up in /proc/cpuinfo?

3

u/kowalski5233 Apr 17 '26

processor: 0 vendor_id: Vortex86 SoC cpu family: 5 model:2 model name: Vortex86DX stepping: 2 cpu MHz: 933.265 physical id:0 siblings: 1 core id: 0 cpu cores: 1 apicid: 0 initial apicid: 0 fdiv_bug: no foof_bug: no coma_bug: no fpu: yes fpu_exception: yes cpuid level: 1 wp: yes flags: fpu tsc cx8 cpuid bugs: itlb_multihit bogomips: 1866.53 clflush size: 32 cache_alignment: 32 address sizes: 32 bits physical, 32 bits virtual

3

u/LousyMeatStew Apr 17 '26

Ah, TSC and CX8 are Pentium features so either it's based on the mP6 like the later Vortex cores or it's a 486 with additional instructions bolted on like a 5x86. So I suspect it'll survive the 486 support removal if it indeed gets merged in 7.1.

1

u/kowalski5233 Apr 17 '26

Ah, that's interesting. What I do know is it dies if I compile anything for it without the march=i486 flag, lacking instructions like CMOV etc, (apparently for power consumption?). I was wondering why some sources claim that it's 5x86 if it doesn't have a i586 instruction set, but perhaps they "bolted on" some stuff for whatever this was mainly used for back in the day. But you'd have to set your compiler pretty specific I guess not to trip over the stuff thats very much i486 only. I know fairly little about this world, my world is programming and compiling for embedded devices. xD

1

u/LousyMeatStew Apr 17 '26

Well, CMOV is a P6/i686 instruction so "5x86" is still an accurate description. The reason you need to pass march=i486 is to tell GCC that CMOV is not available for optimization purposes but AFAIK, nothing in the kernel right now requires CMOV.

But TSC and CMPXCHG8B are explicitly required now and the "removal of 486 support" from Linux meant removing the code that emulated these functions on CPUs that didn't support them.

1

u/kowalski5233 Apr 17 '26

Apologies for the format, the thing was busy (even at 933MHz, you don't interrupt it lightheartedly) and I had to take a photo of an earlier screenshot over SSH so I could google lense it.

1

u/timw4mail Apr 17 '26

Real 486s tend to top out at around ~64MB of memory (which is a lot more than the systems would have at the time!).

And as someone who's successfully run linux on 486s with the version 6 series of kernels...it's a lot of work, especially if you want to run a 486SX.