Can a Pentium 1 Run Modern Desktop Linux

Computer Science
96 followers
What is the oldest possible computer...
What is the oldest possible computer that can run a completely modern Linux with a desktop?
Well, today we're installing the latest version of Tiny Core Linux on this 30-year-old Packard Bell
Pentium 1. Technically, it should work, but can we really have any semblance of a modern Linux
experience at 133 MHz? I've no idea, so stay tuned.
And if you enjoy pushing old computers way beyond what they were ever intended to do,
I hope you'll consider subscribing to the channel.
This is an original Packard Bell Platinum 1, perhaps the most iconic desktop of the mid-90s.
If you were a kid back then, you either had one of these things as your family computer,
or you knew someone who did. Although I was Team Compact Presario back then.
This Packard Bell has a Pentium processor at a blistering 133 MHz, 16 megs of RAM,
upgradable to 128, Cirrus Logic integrated video at probably 1 megabyte, a hilariously slow 4-speed
CD-ROM drive, 1.2 gigabyte hard drive, and no ethernet or built-in networking at all,
aside from a 28.8k modem. All this in an iconic chassis. This thing originally came with Windows
95, and with a few upgrades you could probably get it to struggle to run Windows XP. But after that,
as you might imagine, modern software has left this thing long behind. Right? I mean,
there couldn't possibly be a modern, secure, and totally up-to-date operating system that
Could there?
Well, Tiny Core Linux is basically magic. And the last time we installed Tiny Core on this channel,
we had a totally usable desktop running on a subcompact Pentium 2 laptop. But Tiny Core
should run on hardware even older than that. So today, we're going to see if we can get an
up-to-date Linux install with a usable graphical desktop on this poor old Pentium 133.
And as a stretch goal, let's see if we can get it to connect to modern, secure Wi-Fi and browse
the internet, SSL, and everything. But first, I guess we should see if this thing even still works.
Yeah, I picked this thing up from a friend of mine. Don't actually know what version of Windows
is on here. Oh good, it is booting the original Windows 95. Okay, I'm sure that's the original
Packard Bell wallpaper, obviously. Hey look, there's a folder called Taint. Let's just pretend
we didn't see that. Now let me do a quick restart and show you why I think this particular computer
is such a good candidate for today's Tiny Core experiment. All right, check this out in BIOS
here. We've got some boot options, and this thing can boot from CD-ROM. Look at that. A lot of
machines of this vintage cannot. So hopefully we can pop this Tiny Core CD in, and it'll just boot
from it. Except... Okay, in order to give Tiny Core a chance of running reasonably well, we're gonna
have to open it up and do a few upgrades, because Tiny Core has a super special software trick that
makes it run so fast. And if you want to learn about how software developers come up with solutions
like we're going to see in a bit, you could dip your toes into Computer Science Fundamentals with
today's sponsor, Brilliant. Brilliant helps you to become a better tinkerer and problem solver,
with thousands of visual, interactive lessons in math, science, programming, data analysis, and AI.
It's designed to be uniquely effective with lessons packed full of hands-on problem solving.
Instead of passively watching lectures, you're experiencing concepts and playing with them.
It's a method proven to be six times more effective. Brilliant provides a world of engaging
problems, competitive features, and daily encouragement, helping you to build a daily
habit of learning. You're building skills through solving engaging problems, accumulating knowledge
on real-world, specific topics. For example, I've recently been going through the Digital
Circuits course, where you build simple computers out of logic gates. Even though I've been doing
board-level repairs on computers for years now, I was still missing a lot of the fundamentals
about how those boards and circuits actually work. Doing a little bit of this every day has helped me
to build my knowledge and fill in gaps. And this consistency is key to retaining what I've learned.
To learn for free on Brilliant, go to brilliant.org slash ActionRetro,
scan the QR code on screen, or click the link down in my description below.
Brilliant has given ActionRetro viewers 20% off an annual premium subscription,
which gives you unlimited daily access to everything on Brilliant.
Thanks again, Brilliant, for sponsoring today's Pentium Shenanigans.
Alright, let's crack this thing open, and it's actually pretty interesting on the inside.
Lego!
Unlike most computers, this thing has a horizontal motherboard on the bottom,
and the PCI slots and the ISA slots are on a daughter card, so you can put ports out the back.
Here we have our Pentium CPU, and here we have our paltry 8 megs of RAM.
Now, the reason why TinyCore can be so freaking fast, even on super low-spec hardware,
is because it doesn't actually run off the hard drive. It installs a fresh version of TinyCore
every time you boot it to memory, and installs only the applications you select to memory.
This one RAM slot is super annoying, because it's at an angle.
So I'm going to max out the memory to 128 megabytes to give TinyCore
the most possible space to work with.
Man, these sure are some beefy memory sticks.
So, given TinyCore's strategy, it actually doesn't matter if we install it to a slow-spinning disk,
because it reinstalls to memory.
But I am going to stick in a CF card in place of the hard drive,
just because hard drives can fail at any moment these days.
4-pin Molex is certainly annoying, especially cheap ones.
Come on, line up. You can do it. Get in there.
Get in there. That's probably fine.
We'll do a little bit of cable management here.
Perfect.
We're going to use a Wi-Fi card here.
Before we get wild and crazy trying to get a Wi-Fi card working,
I'm just going to use good old Ethernet in one of our PCI slots.
Perfect.
And if this built-in video is too weak,
I have a bunch of other PCI video cards that we can try,
and I do have a modern USB card that we can try.
In fact, I'm going to chuck this in here now, just for fun.
All right, well, let's see if this will actually boot from a CD-ROM.
Open.
Nope.
Go in there.
Ooh, it's making terrible noises.
All right, well, I think this CD-ROM drive might be a little bit unhappy.
That's okay, I have a totally cursed idea.
Here is the DVD-RW out of a Mac Pro.
This is SATA, so we have a SATA to IDE adapter.
Yank out the IDE connector here and plug it in to the SuperDrive.
There we go.
Give it some power.
Stick it on top of the power supply.
Perfectly cable managed.
Looks great.
Let's see if it works.
All right, that is slightly cursed, but I'm sure it's fine.
All right, it is spinning up.
Yeah, but once again, we're stuck at this blinking cursor.
I think this early bootable CD-ROM BIOS isn't happy about something to do with this
modern Linux boot disk.
That's all right.
I've got an idea.
So this is the Plop Boot Manager, and it is a, well, floppy image that we can write to
a floppy disk like this one, and this will boot to a boot manager that can then boot
off of CD-ROM or even USB on really old computers.
So I've got a USB floppy disk drive.
Plug that into USB.
We'll just pop this disk in.
It's actually really easy to write floppy images to floppy disk on Mac.
So here's what we've downloaded.
We have plbt.image.
That's what we're going to write to our floppy disk.
So on Mac, we can find the floppy disk by doing diskutil list.
1.5 megabytes on disk 4.
That's the floppy disk.
And we can do sudo dd input file equals the image here.
Output file equals dev disk 4.
And then we'll let that run.
It's writing the image to the disk, and we should be able to boot that Packer Bell from
it.
All right, we have our plop disk.
We'll plop that in.
And floppy is set to the first boot option.
So hopefully this just boots into whatever plop does.
Whoa, look at this.
That is a cool looking menu.
All right, let's choose CD-ROM.
Whoa.
Oh, yeah, look, it works.
Oh, my God, here we are.
This is the desktop picker for Tiny Core.
We're booting.
All right, let's choose Ice Window Manager.
That is my favorite.
I'm really curious how this will run on that built-in video chip.
All right, and here we are booting Tiny Core Linux.
And when this says loading extensions, technically what it's doing is installing all of these
applications fresh into the install in RAM.
So there's no software bloat, no cruft.
Every time you boot Tiny Core Linux, you get a brand new install of Linux and all of your
stuff.
Now, this is taking quite a while to do so, but hopefully jump cut to a desktop.
I've got good news and bad news.
The good news is this resolution's great.
The bad news is Tiny Core has gotten a bit artistic with this color depth.
Let's see if we can fix it.
All right, our settings here, X VESA.
All right, let's set this to 800 by 600 by 16.
Yeah, USB mouse, PS2 two-button mouse.
Seems about right.
Now let's log out and log back in.
Exit to prompt.
We'll restart X Windows.
Holy smokes!
Look at that!
It worked!
This is Tiny Core Linux, and it looks good!
Oh my god.
I mean, it's fairly responsive.
Can you believe this is 133 megahertz?
Oh, look at the transparency on the terminal.
That is freaking cool.
Okay, let's see here.
Do we have NeoFetch?
No, but we can add it with the App Store.
Now we should check if we're online.
Let's see here.
Ping google.com.
No, I'm not plugged in.
All right, it would help if I plugged in Ethernet.
Yes, we are now online.
We have DNS.
Look at that!
We're better than AWS.
We have DNS.
All right, back to the App Store.
Look at this.
We're multitasking on a Pentium 133 in modern Linux.
Quick search here for NeoFetch.
Oh, there it is.
And we'll do onboot, which this is another interesting feature of Tiny Core Linux.
If you install onboot, then it will load up in that list of extensions that we saw when
this booted up, and we'll have access to it at boot.
We can do ondemand, which means we've downloaded it, and we can install it ondemand without
having to redownload it.
We're going to put NeoFetch as onboot, though, which I think will carry over to an install.
Yeah, there it goes.
Downloading dependencies.
Okay, obligatory NeoFetch screenshot, and that is honestly crazy.
Look at that.
Tiny Core Linux running kernel 6.1 2.11 on our Pentium first generation, 75 to 200.
We're running at 133 megahertz, and there is our integrated graphics.
This is modern freaking Linux on the desktop running reasonably well as a live environment.
So we have the installer right here, tc install.
We are going to do a whole disk install.
Oh, there it is.
Disk SDA.
We'll do a whole disk install to SDA.
Install bootloader.
Extended 4, and here we have boot options.
I think the one we care about here is the colors.
So it was probably in 15-bit before.
We're going to tell it to do 800 by 600 in 16-bit.
We do that by adding vga equals 7, and then I think the number was 8 8.
Yeah, 7 8 8 for 800 by 600 16-bit.
Yes, we want Wi-Fi support, and we don't need the installer.
All right, proceed.
Oh, there it goes.
Hopefully jump cut to install complete.
Install completed successfully.
So before we power this on, I'm just going to go ahead and take out the Ethernet card
and chuck in this Wi-Fi card and see if we've got enough power to access modern Wi-Fi.
All right, first boot of our installed Tiny Core Linux.
Hello?
Well, it would help if I remembered to plug it in.
Anyway, here we are booting off the CF card.
And here we are.
Looks like we need to adjust the screen again.
It didn't seem to take, even though we set that in the options during install.
So in ExVesa, we'll just choose number 5 again.
And then PS2, two button mouse, and then log out and log back in.
All right, let's see if this works.
Oh, it sure does work.
Look at that.
Tiny Core Linux with IceWM installed on this machine.
Rather responsive.
Oh, this is great.
All right, let's see if we can get Wi-Fi working.
Oh my God, it works.
Look at that.
We'll definitely have to blur this out so you can't see my SSID.
But that's it.
Let's try to connect to it.
Use my password here again.
That definitely needs to be blurred out.
Oh my God, I think it worked.
Let's see.
Open a terminal.
Let's do it quick.
Ping google.com.
Oh, we are on Wi-Fi.
Look at that.
We are on modern Wi-Fi on a Pentium 133 running the latest modern Linux.
NeoFetch is not still installed.
Okay, let's install some apps over Wi-Fi.
All right, we need to get NeoFetch again, of course.
I'll leave that as on boot so we always have access to NeoFetch.
Can you believe how well this is running?
This is absolutely wild.
This thing is like 1,000th of the speed of a low-spec modern machine.
And here we are in a graphical desktop that actually looks kind of nice thanks to IceWM.
Multitasking.
Installing stuff.
I honestly did not expect Tiny Core Linux to run this freaking well on here.
Okay, we have NeoFetch.
We need a web browser.
Let's go for something nice and lightweight.
Dillo is an excellent browser that I've used on all sorts of old machines.
We'll have that available on boot as well since we have plenty of RAM to work with.
128 megs.
I think the last time we used Dillo on this channel was on a 333 megahertz iMac G3 running
OpenBSD and it worked well.
So I'm really curious how well it's going to work at half the speed on a good old slow
Pentium.
All right, I've got HTOP open so we can watch our memory.
Here is Dillo.
Look at this.
That is a modern web browser.
Now, Dillo is an extremely stripped down web browser and it's not going to really work
with JavaScript or fancy CSS.
But that is a benefit here because in no way can we fit JavaScript apps in 128 megs of
RAM.
We want to browse the web and that's it.
Oh, there's FrogFind.
Wow, that loaded very quickly.
Ooh, scroll wheel even works.
Look at that.
Nice.
FrogFind, of course, is my website, a search engine that I built to run on vintage computers
well.
So it's super lightweight and doesn't use HTTPS.
Works incredibly well.
All right, but the real test here is going to be to try to use a secure site like Google.
So google.com, HTTPS.
How will this handle SSL security?
Ooh, it's doing it.
Oh my god, look at that.
We are on HTTPS Google.
It freaking works.
Okay, that is legitimately shocking and we are not even maxing out our memory.
We're hitting like 70 megs used.
Okay, Google's complaining about no JavaScript.
That's annoying.
Now I don't want to turn off JavaScript.
Oh, Google wants me to use JavaScript.
That's stupid.
Okay, how about DuckDuckGo, which is a much better search engine anyway.
Yeah, HTTPS.
Look how fast it loads.
Oh yeah, DuckDuckGo works.
Serving me this nice stripped-down HTML version that actually works great here.
That's really surprising.
How about something like Wikipedia?
Come on, give me the mobile version.
All right, let's just try to go to full-on Wikipedia.
Here at 133 megahertz, memory usage is still pretty low.
And negotiating the secure connection, which goes a lot faster than I expected on this Pentium.
Oh my god, look at that.
It's freaking Wikipedia.
Okay, I am freaking blown away at how well this works.
Let's try to pull up an article.
I mean, the formatting is a little iffy in places, but that is Dillo trying to pull the
least amount of stuff necessary to load and render a page and keep it usable.
All right, can we switch to the mobile version of Wikipedia for a little bit better of an
experience?
All right, let's do n.m.wikipedia.
I mean, it loaded the desktop version.
It just took a while.
No, it doesn't want to give me the mobile version.
It keeps going back to the desktop.
All right, well, here's the desktop page for Tiny Core Linux on full fat Wikipedia, and
it works shockingly well.
Look at this.
I'm scrolling this huge page and it works great.
Shocking.
Okay, well, here's an extra stretch goal.
Can we in any way run Classicube, which is the low spec, super optimized version of classic
Minecraft?
All right, let's give it a shot.
Nope, needs libgl.
All right, open our app center.
Is there libgl?
There is.
I guess let's just install dependencies until something happens.
Can you believe this is a 30-year-old Pentium Packard Bell?
All right, well, illegal instruction, so I guess Classicube is a bit too much for this
Pentium 133.
Although I just realized we forgot to check if USB works.
So here's a 64 gigabyte USB drive.
Let's plug this thing in.
All right, lsblk will tell us if it's available and recognized.
Oh, there it is.
SDB1.
That's our flash drive.
57.8 gigs.
Now, Tiny Core comes with this very nice mount tool, which will list the devices it sees,
and we can just click on it to mount it.
So yeah, it's green now, so it should be mounted at mount sdb1.
It is.
Look at that.
We have access to our USB flash drive.
CD mount sdb1.
Yeah, there we are.
Create a file, test.txt.
Yes, that's our flash drive.
Our modern flash drive.
And it works.
And this mount tool is pretty nice.
If I want to unmount it, just click it in the list.
Unmounted.
Okay, and since we're running from memory, the last thing to look at here is persistence.
So if we want to shut down...
Actually, let's do it from this menu here.
Click exit.
And if we want to shut down, our backup options are backup,
and that will save everything that we've installed.
How freaking cool is that?
Well, I've said it before and I'll say it again.
Tiny Core Linux is basically magic.
Usually when we run modern software on old computers like this,
we're just laughing at how slow it runs.
But this 30-year-old Packard Bell is running a modern Linux with a desktop environment,
browsing the web, modern Wi-Fi.
And it's running well enough to just use.
Yeah, if you've ever been curious about Tiny Core Linux, try to install it on something.
It's very user-friendly, and I bet it'll just work.
But as always, thank you very much for watching.
And I just want to give a very special thank you to all of my Patreon supporters and channel members.
Thank you so much, each and every one of you, for supporting me
and supporting this channel and all the weird stuff I do.
I am so very grateful and I just could not do this without you.
