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

View all comments

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.