Can I run any Linux distro in this PC
Posted by Background-Baby-9214@reddit | linux | View on Reddit | 139 comments
No, this is not a joke, I want to run Linux in this 80’s computer
Specs:
Zilog Z80A cpu
TMS 9128
64kb RAM
16kb VRAM
32kb ROM
Is it possible?
Aginor404@reddit
I fear it isn't. The Z80 is an 8bit CPU.
But there is Zeal 8-bit OS, which is inspired by Linux and made for the Z80.
Membership-Diligent@reddit
while not on an z80, it has been done on an AVR:
https://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit
Xalius_Suilax@reddit
Lol nice, the smallest system I ran Linux on was also an AVR, but AVR32-AP7000 with 8MB RAM.
"It takes about 2 hours to boot to bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours to boot up the entire Ubuntu ("exec init" and then login). Starting X takes a lot longer."
Membership-Diligent@reddit
well that project is wold in many aspects, like this:
Xalius_Suilax@reddit
Yeah the layers of emulation are wild ;) I've used μClinux on MCUs without MMU, but they had at least some form of hardware MPU and at least 32bit.
internet-name@reddit
Is the main bottleneck paging to disk? Or is it the CPU? My intuition fails on these low-spec systems.
Background-Baby-9214@reddit (OP)
Thank you!
-Organic-Panic-@reddit
You could, however, core it and throw a raspberry pi 5 in it or an orange pi and make a pretty badass little deck. Might have to find a way to adapt the keyboard or replace.
Would be sick.
jeff_coleman@reddit
Let's not destroy working vintage computers. If you have a non-functional unit, however, go nuts.
wittywalrus1@reddit
If the machine runs or can easily be restored, why...
I can understand doing so when something's broken beyond repair, but a perfectly working machine from the 80s? Seems like a waste.
joshjaxnkody@reddit
The idea saddened me as well
JockstrapCummies@reddit
It's the Raspberry Pi cult.
Background-Baby-9214@reddit (OP)
Yeah, it works almost perfectly (just the right shift is dead)
keysym@reddit
Take a look at schematics and try to make the shift key work again. It'll be a fun project!
Background-Baby-9214@reddit (OP)
Yeah, but I wouldn't have time to do it, as I already have a 90's beamer to fix
bostwickenator@reddit
My condolences for your weekends.
Background-Baby-9214@reddit (OP)
She’s fine rn, will get worse when she’s running boost though
However, M50 is “indestructible”
billyfudger69@reddit
Assuming there is space they could have the original components and a modern raspberry pie in the case. :)
-Organic-Panic-@reddit
This is the definition of one man's trash. To me its a waste to leave it in a reliquary : to you, its a waste to retrofit for modern usability.
As an aside, functionality depends upon use-case. In this one, the query was how to get linux on that hardware.
Simple answer: You can't; it is unusable in that state to that end.
Complicated answer: Mod it and retrofit some hardware. It isn't the 80's, but maybe its nostalgic in all the best ways.
CitySeekerTron@reddit
I remember reading about watch makers and repair specialists lamenting Steampunk cosplayers because they were destroying old watches and losing critically rare gears and components to gimmicky hats and glasses. Ethical steampunk fans now use props when possible.
It sucks to see viable hardware in antique platforms casually discarded :(
Someone remade a prototype Apple device using waterslide stickers after meticulously re-creating the chassis and keyboard. That shit is cool! Make retro-decks like that please :)
kind_bros_hate_nazis@reddit
Fuck no have some respect
Merjia@reddit
I knew there HAD to be some project made to run on a Z80. God I love this shit.
bigbearandy@reddit
Also Fuzix. It will support Z80 and 68000 families.
allocallocalloc@reddit
Zilog's Z80 has 16-bit pointers.
Muchsadlilhappy@reddit
You see what I leard with Linux so far Isn't as much as will it run and much more witch distros should be best suited. Everything runs Linux.
WildMaki@reddit
It looks like an msx. If so, try Uzix
WildMaki@reddit
Linux no, but if you want to play, you may want to give a try to fuzix or uzics. Never tried myself but I wanted to get some inspiration to build a unix-like for embedded systems like esp32 or rpi2040. (Don't ask, it's still in my backlog)
Sad-Astronomer-696@reddit
Probably Tiny Core Linux haha
laurent_taka_26@reddit
An MSX! 😋 I don't really see the point.
Especially since it's collector's item, its place is in a museum as Indy would say...
lproven@reddit
It's not a PC. So, no.
But there are UNIX like OSes for it -- but I'm sorry to tell you that if you can't tell a PC from an 8-bit, then you probably don't have the technical knowledge to get anything like that working yet.
tdammers@reddit
Technically yes, but it would involve emulating some 32-bit CPU on this 8-bit one. People have managed to boot Ubuntu on an 8-bit microcontroller - but it takes days to boot to a prompt, and minutes for a keystroke to appear on your screen.
You will also need to find a way of getting more RAM into that machine, because I don't think there are any kernel builds that would fit into 64 kB (and you also need to fit the emulator in there with it). If you can attach some kind of external mass storage device, then you could emulate RAM using that, but that would slow it down even more...
die_h_exe@reddit
Arch. For sure.
yahbluez@reddit
Linux needs at least a cpu with MMU, the old great Z80 did not have that, also there is no 8 bit linux.
Without changing the cpu you may be able to run a serial terminal program and connect to a linux system You may add a SoC into the case where the linux is installed and connect serial.
Murky_Ad_4255@reddit
Linux will probably be like "Those 8 bit days are gone! Now i have to carry AMDGPU like stuff with me toooo!!"
J0e_Bl0eAtWork@reddit
The original Linux kernel required a 32-bit machine. The Z-80 is an 8-bit CPU. Right?
zylian@reddit
It's possible to emulate a 32-bit CPU on an 8-bit CPU, by writing an ARM emulator. And run Linux that way. Uselessly slow, but it has been made to work. https://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit
Background-Baby-9214@reddit (OP)
Yeah, I think so. It’s just that this was my father’s first computer and I wanted to try to put it to work
jimicus@reddit
Little bit of computer history for you:
Home computers of that era couldn't really do very much by modern standards.
There were Unix variants at the time. But they required something with a lot more power than anyone could hope to run at home. Even if an individual could afford it (they couldn't), the need for three-phase power and a room about the same size as the rest of the house made it impractical.
Most of the 1980s home computer revolution was this somewhat odd situation where people were buying these things for home use only to realise that there wasn't a great deal useful they could do with them. It wasn't unusual for them to wind up in the kid's bedroom "to help with their homework" - and become a games machine.
Rimbosity@reddit
spreadsheets, though... the first killer app was the spreadsheet.
made even the crappiest 8-bit PC useful
most people just didn't want to invest the time in learning how to code, which is sensible. but you had to, to make these things sing
Background-Baby-9214@reddit (OP)
This pc taught my dad how to code
jimicus@reddit
Apart from occasional games, that was about the only other thing they were good for. Databases weren't a thing (certainly not on home PCs); word processors existed but were nothing like what we know today.
My first computer wasn't a million miles from this one. Different CPU, but not a massively different amount of compute power.
purplemagecat@reddit
I remember learning BASIC , the early dos version. with it's goto lines and such. So crude compared to modern languages .
WokeBriton@reddit
With a bit of programming learning, you could set this computer to the task of calculating things fibonacci-type sequences with different starting integers to the usual. Or calculating however many digits of pi you can display.
You could program an editor to run on it and use it to capture someones memoirs, or you could write a novel.
You could use it to recreate a game from the 8-bit era.
Background-Baby-9214@reddit (OP)
I have already, I made it run pong a while ago
ptoki@reddit
I think there were 16bit non mmu linux kernels. I dont remember the details though. They werent very compatible with the apps written so number of programs running on that was limited. I think it was for amigas and older macintoshes
jesus_was_rasta@reddit
If you buy 4, you have 32bit and then run Linux /s
p-wing@reddit
that's not how bits work
if you buy 2 you have 9-bit if you buy 2 more you another 9-bit, then combine for a 10-bit
F54280@reddit
Sounds expensive…
flipping100@reddit
That Big Linux for you
pants6000@reddit
Atari Jaguar-style math, clever.
Soichik@reddit
oh, see you are a man of culture.
ScienceInfamous3478@reddit
Yes, you can if you port it into Z80 archeticture.
Cat5edope@reddit
Those arrow keys are……. Something
marx2k@reddit
Thats how keyboards look to me when I drop acid
topological_rabbit@reddit
The symbol locations on those arrow keys are killing me.
ReallyEvilRob@reddit
Not a chance. Linux was never ported to an 8-bit CPU.
GeneralDumbtomics@reddit
Nope, no linux on Z80, but there's other 8-bit OS's that will.
C_hotpocketer@reddit
No only Temple OS
udum2021@reddit
Its not a PC to begin with.
markhadman@reddit
It's not an x86-based IBM (Compatible) PC, but it's definitely a PC (personal computer).
LeslieH8@reddit
The Z-80 doesn't contain two things Linux require from the beginning (an MMU and a 32-bit instruction set), so at best, you'd have to emulate a 32-bit processor, and that would be a whole thing. HOWEVER. You could mess with FUSIX, which was specifically designed to bring POSIX-like functionality to very small, memory-constrained systems without an MMU, and it successfully runs on various Z80-based machines and retro computer projects. You can get more information at fusix.org . There is also (as u/Aginor404 pointed out) Zeal 8-bit OS at https://github.com/Zeal8bit/Zeal-8-bit-OS You can install CP/M (not anything to do with Linux, but it is a thing - http://www.cpm.z80.de/ Finally, you may also have an option of using SymbOS - http://www.symbos.de/ which is graphical (warning - the linked site is hard on the eyes. I'm reminded of Geocities, and not in a good way.)
However, for Linux? No, not unless you want to emulate a 32-bit processor.
CameramanNick@reddit
No. But someone did write a multitasking OS with a windowed UI and even a kind of video playback for the Amstrad CPC, with similar specs. So, things can be done.
x1-unix@reddit
You can build a VM that can emulate a target that can run Linux.
One dude made that for Intel 4004. It took a couple of days to boot, but it works :)
AnnieBruce@reddit
Do you want a usable Linux system or a neat hack to show off that has no practical utility?
Usable Linux isn't happening on this thing. When a guy got Linux running on a C64 boot times were something like two weeks(there is a real possibility that a cosmic ray will flip a bit and cause a mid boot crash partway through on these timescales). And too slow to do anything useful once booted. It used a RISC-V emulator, I don't remember how they dealt with RAM and storage requirements. If you want to do that, look up the C64 Linux project to get started(it's a different CPU entirely so you'd have to change a lot, but that project might be a useful starting point) and definitely post the results somewhere.
If you want something usable that is similar to Linux, check out Fuzix. It's essentially a Unix like for 8 bit systems like this. A lot is left out because some hardware features are not available and others far too slow to be useful for Unix, but it's probably your best bet if you want to use this thing like you'd use a Linux computer.
equake@reddit
Had one of those as a kid. Best computer ever!
-t-h-e---g-@reddit
Check out fusix
ben2talk@reddit
Just hold down Meta as you install ;) no problem.
This is obviously a joke, as you have not even tried; as there's no way to try. Z80 processor won't run X86 software anyway.
kudlitan@reddit
I would put MS-DOS 5.0 with DOSSHELL and then enjoy looking back at the past.
Memedolf_Honkler@reddit
Can it run doom?
RoxyAndBlackie128@reddit
ELKS might work
balki_123@reddit
You can write an emulator of some supported linux architecture for Z80, add shitton of RAM, somehow and shitton of non-volatile storage. And - voilá.
It would be super slow, but it's possible. Like super super slow. Master degree in electronics an computer science could help.
phreak9977@reddit
“Best I can do is BASIC”
op374t0r@reddit
It has ram so maybe
SaxoGrammaticus1970@reddit
Looks like a Brazilian MSX clone. No, it would not be realistically possible. I think someone just booted the Linux kernel on a Commodore 64 as a proof of concept but the whole process took hours. Try a better system for the hardware, such as CP/M 3.0+ or similar.
Background-Baby-9214@reddit (OP)
It’s a legit MSX, manufactured here in Brazil
creamcolouredDog@reddit
You can probably run NetBSD
UdPropheticCatgirl@reddit
Z80 is way to low power for netbsd, lowest power thing it runs on is probably m68k and that’s effectively order of magnitude apart from this
skrullbr@reddit
This post takes me back to my childhood. Good times. I miss my MSX. These were very popular in Brazil in late ‘80s.
Definitely not Linux, but you can try UZIX.
https://github.com/marioaugustorama/uzix-kernel
Background-Baby-9214@reddit (OP)
Exactly, this unit is one of the later ones, as my dad told me he bought it in 1989
Swedophone@reddit
You mean a later MSX1 unit. After MSX1 there were MSX2, MSX2+ and Turbo R.
https://www.msx.org/wiki/Sharp_HB-8000
Background-Baby-9214@reddit (OP)
I know, he told me about it
ArrayBolt3@reddit
Can you? Probably, if you're determined enough. Someone got Debian working on an Intel 4004. https://dmitry.gr/?r=05.Projects&proj=35.%20Linux4004 It takes over 4 and a half days to boot and about 9 hours to draw a mandelbrot fractal, but it works.
WokeBriton@reddit
THAT's an excellent use of spare time, in my eyes.
I'm sure that I cannot be the only person who thinks this way about it...
Background-Baby-9214@reddit (OP)
I don’t really have much spare time, especially since I have a project car
Dist__@reddit
wow, what a read!
i envy his abilities to mix that with ordinary life )
Mediocre-Pumpkin6522@reddit
Sacrilege! Run CP/M! You'll be amazed at what you can accomplish in 64KB rather than 64 GB.
Ybalrid@reddit
Is that an MSX computer, or some other Z80 based computer architecture I have never heard of?
Cannot run Linux, that's for sure.
Background-Baby-9214@reddit (OP)
MSX Hotbit HB8000
1man0ob@reddit
i dont think any modern distro will run on this.
ventus1b@reddit
I'm pretty sure no Linux distro ever did.
Not on that CPU, not on that amount of RAM, or without an MMU.
Tiger_man_@reddit
Unix ran on 64kb of ram but with 16bit cpu
UdPropheticCatgirl@reddit
But linux isn’t UNIX…
richardxday@reddit
You can run Linux on this hardware if you are determined (masochistic) enough.
What you'll need to do is to write a 32-bit CPU emulator in Z80 and then run Linux on that emulated processor.
If this sounds insane, it's been done here and here
TheOneTrueTrench@reddit
This is splitting hairs, but I'd say that's not running it on the hardware, that's just running it on a 32 bit machine. Like, the emulation layer is impressive, it's just that if you write an x86_32 emulator for it, you could run MS-DOS on it too. I'd say for something to "run Linux", it needs to run natively, on that instruction set.
richardxday@reddit
I'll happily split hairs!
Are you saying that someone running an Arm version of Linux under Qemu on an x86 platform isn't running Linux either?
And wait till you see how x86 instructions are actually implemented on a x86 processor: https://en.wikipedia.org/wiki/Intel_microcode
In truth, the boundary of where emulation stops is a difficult one - after all, microprocessor op-codes are just a human readable expression of a number of low-level sub-instructions, is that emulation itself?
HeavyMetalMachine@reddit
This is so low effort to get a few upvotes. This literally has nothing to do with Linux at all
Background-Baby-9214@reddit (OP)
I want to add Linux to this old pc, as I’ve seen people do
JackDostoevsky@reddit
here's an idea: if you're not attached to it being original, gut it and put some modern hardware inside. could be a cool project!
UncleSlacky@reddit
You might be able to run SymbOS.
ByGollie@reddit
https://github.com/ytmytm/c64-lng
For the c64
Lunix, not Linux
baltimoresports@reddit
Best I can offer you is a Unix-like OS:
https://www.msx.org/wiki/Uzix
LionyxML@reddit
If ai recall it correctly, with the right expansion you can use it as a dumb terminal and connect to a Linux machine.
uchuskies08@reddit
Out of curiosity, on what format would you get data onto that machine? I see it has a "slot" up top but I don't know enough about these old computers to know what kind of slot that is.
KoliManja@reddit
What is this monster doing with 64kb RAM and 3 "microprocessadores"?
Swedophone@reddit
Most people probably used it to play (MSX1) games such as Konami Salamander https://www.youtube.com/watch?v=FfUSWl-P56s
BTW that cartridge contains it's own sound chip.
boobsbr@reddit
Meu sonho de criança ter um Hotbit.
boomerxl@reddit
Those arrow keys are unhinged. I love them.
Known-Watercress7296@reddit
https://collapseos.org/
crookdmouth@reddit
Someone ran Linux on a Commodore 64 but it wasn't really usable at all. Plus it was a virtual RISC-V32 running on the 6502. Took like 30 mins to boot up.
affective_tones@reddit
The question of running it normally is so ridiculous that it should be a joke.
But, you could hook up an SD card for the necessary storage and use an emulator. Hooking up more RAM would also be a very good idea, because using a SD card for that would be extremely slow.
People have run Linux on Arduino this way.
regeya@reddit
No, but I'm actually more than a little jealous. As far as I know MSX machines were never that popular in the US.
Background-Baby-9214@reddit (OP)
Here in Brazil, they kinda were, however, they were quite expensive as I recall my dad saying it. This is a Hotbit HB8000
WDRibeiro@reddit
I've recently gifted my old but still working MSX Expert to my cousin. His father gifted it to me when I was a kid.
skiwarz@reddit
Gentoo
skrunkle@reddit
Yeah just set the USE=8bit /s
brazilian_irish@reddit
This was the first computer I ever used!! I've learned Basic on it
coffeejn@reddit
I think the first hurdle is getting the media needed for this device. Do you have any tapes and someway to transfer data to those tapes?
Either-way, I salute you for taking on this challenge. Good luck, let us know once you manage to get it up and running!
Background-Baby-9214@reddit (OP)
I don’t have any tapes as I recall, but I do have a tape recorder that my dad used to record games on and run it, since cartridges were expensive back then
DFS_0019287@reddit
Not in any practical sense, no. The only way people have made Linux run on machines such as these is to have them emulate a more powerful processor, and then run Linux on that. Of course, it's painfully, painfully slow and most likely completely impossible with only 64KB of RAM.
Abdalnablse10@reddit
I mean..... someone ran linux on the nes.
curien@reddit
It wasn't Linux, it was a custom kernel called LUnix ("little Unix") written for the 6502 (different CPU than OP's).
Abdalnablse10@reddit
He made two videos, the second one is named "Linux Running On An NES, But For Real This Time!".
curien@reddit
Huh, OK, I missed that one. Cool!
BlackMarketUpgrade@reddit
The real question is if you can doom running on it.
Icount_zeroI@reddit
I really like these old school computers. The unibody seems so cyberpunky like it’s from Neuromancer. (This is exactly how I vision them) I wouldn’t mind buying new Mac in such form.
Diezel77@reddit
This thing brought back memories. Friend of mine had the Z80 and Goonies the game. The countless hours spent infront of a small black and white tv with the z80 and Goonies. This was before I got my C64 so it was quite a while ago ❤️
MelioraXI@reddit
will it run crysis?
Background-Baby-9214@reddit (OP)
Maybe
Felt389@reddit
No.
Savings_Register9542@reddit
One thing to try would be terminal emulation software for the Z80A and then connect to a Raspberry Pi or other SBC which is actually running Linux. You would probably need to learn about RS-232 serial ports as well.
You would be using your Father's first computer as a remote terminal to a linux system.
itsthebando@reddit
Won't work because Linux requires a hardware memory management unit. There MAY be a build of uClinux that could work on the z80, but that isn't a distro, it's a bare kernel and there's no userland so you'll have no software.
stommepool@reddit
CP/M maybe, but not Linux.
meo209@reddit
No, that CPU is an 8bit chip. Linux requires at least 32 bit.
ilep@reddit
Well, ELKS-version can run on some 16 bit CPUs.
Any_Preference5344@reddit
No you cannot run modern linux on this hardware, I would look into something like: https://www.fuzix.org/
UndulatingHedgehog@reddit
If you replace the electronics… But that’s probably sacrilege.
Equivalent-Silver-90@reddit
Bro you maybe joking... Atleast 10mb ram(and is still minimum maybe even tty will lag) 70mh storage but not KB!!!
Own-Tip6628@reddit
Try it out lol. Idk what else to say.
FubenFon@reddit
Damn..