The Y2Ktop Adventure (pt. 1)
25 Aug 2019
This story starts back in late 2016 – more precisely, October 2016 – when my aunt and uncle gave me 2 (rather dated) laptops. One was your standard, shoddy HP “Invent” laptop from the mid-2000s (which I wasn’t too thrilled to receive, considering my past experience with one that failed to boot after several months of use), and the other was… something quite unlike the other laptops I had ever owned before (not counting the iBook G3, but that’s for another story). Indeed, this laptop was actually a bit of a relic; it came straight from the year 2000!
Naturally, thanks to my passion for retro technology, this machine would be the one that became a favorite of mine. And… not because the other laptop had a damaged motherboard. Nope. Definitely not because of that.
The laptop in question, a Gateway Solo 2150. Pretty obscure.
Some backstory on the laptop: It was originally my aunt’s laptop, which she used throughout college – mainly for note-taking (I think) and writing papers. Installed on this laptop at the time it was flung into my possession was Windows 98SE, a perfect fit for the dated processor and limited amount of RAM it came with. The laptop also happened to have a floppy disk left in the FDD, primarily filled with my aunt’s papers (which I decided to format before using). But, other than that… not much else came with the laptop, neither physically nor on the disk – not even a charger. The only other thing of note was an installation of some game that came with Taco Bell meals that I could not track a copy of anywhere online. Looks like it’s lost media now, since I formatted the HDD shortly after I got the laptop.
So… yeah. I formatted the HDD almost right away. In hindsight, this was a bad idea, as finding drivers for this laptop became a Pain In The Ass™. But, there was a method to my madness: I wanted to install Windows XP, which… ended up being a really bad idea. You see, at the heart of this laptop is a Pentium III clocked at 600MHz. Couple that with the initial 64MB of RAM, and you’ve got a terrible XP experience (XP XP?) on your hands. I was somehow able to install SP2 (and I think SP3, as well) before I decided that it was too painfully slow to do just about anything useful.
Windows XP = slooooowwwww
Windows XP was out of the question at this point, so I decided to go back to stock and created an install CD for Windows 98SE. This was when I noticed the first flaw of the laptop – The CD drive was a bit dated, and thus the drive would have trouble reading newer CD-Rs (like the ones I had on-hand). If I was lucky, the drive would pick up on the disc, and continue as normal. Because of that, I would need to eject and re-insert the disc several times in order to get it to work. But, when CDs did read, there was another issue that popped up regardless of whether or not the CD was new or old.
This issue ended up being the worst of them all, and would cause quite a few OS installations in the future to fail. The issue? Sometimes, the drive would just fail to read several sectors on the disc, and it would fail to read those same sectors no matter what. Even if the disc was spotless, it would still fail to read. Because I didn’t know this at the time, I thought that the 98SE CD I made was just bad. So, I tried making a new CD – and repeated this process a few times. After 98SE kept failing, I decided to try installing Windows 2000. Again, the same issue plagued that install.
Because I was slowly running out of blank CD-Rs at this point, I decided it would be best to just click “Ignore” on each failed file during the installation. This took a while to get through, but eventually I had W2K installed on the laptop. Luckily, it only failed to copy driver files that the laptop didn’t even need, anyway. (Like I said earlier, finding the correct drivers for this laptop was really difficult. I had to scour through really shady-looking driver websites that didn’t even tag their drivers that well, so it was always a gamble on whether or not the drivers would actually work once I copied them over.)
I played around with W2K on the laptop a little bit every once in a while for a few months. It was a bit slow, but it was still cool to use a laptop from that era. Later, I ended up putting the laptop underneath my dresser, and forgot about it for a little less than a year.
Late 2017. I realize I still have this stupidly-old laptop, and I get the urge to play with it, this time installing 98SE instead of continuing to use W2K – Of course, following the same “Ignore” procedure during the install process. It went well, and with the correct drivers installed, I was up and running again. This time I decided to do something a bit interesting: What if I connected an external monitor + a mouse, and tried to make this a desk-based setup? Sure enough, it worked out pretty well! …But unfortunately, this only lasted for a few months before I put the laptop back in storage once again.
Some time in the latter half of 2018, I decided I wanted to start upgrading the laptop. This started with a WiFi card that would fit into a PCMCIA slot in the side of the laptop. Specifically, I chose the Cisco-Linksys WPC54G, mainly due to the fact that it is one of the few PC cards that support both WPA & W2K – perfect for bringing it onto modern networks. But… notice how I didn’t say it supports 98SE. Even though the packaging states it has support for 98SE, and indeed, the driver disc came with a 98SE version, the software was extremely buggy on 98SE. More specifically, the interface was bugged, making it so that I couldn’t even click the controls needed to connect to a network. Ugh.
At this point, I went back to W2K so I could use the WiFi card. Unsurprisingly, the software wasn’t garbage there. Yay! I connected to my home network just fine, checked out some websites with the last supported version of SeaMonkey, and called it a day. It was only a matter of time before I set my sights on the next upgrade…
Ah, hard disks. What would we do without them? Probably store the entire OS in RAM and use flash drives as persistent storage, I guess. No, this is totally not hinting at a later part of this post. The hard disk in the laptop was still stock from 2000, meaning it was a bit of a clunker. Plus, it was pretty tiny – only 6GB of space, which is actually less than most of the flash drives I have on hand! So, naturally, it was next to go. Solid state storage is all the rage these days in modern technology, and it has even spread to the retro/vintage PC community, so I thought: What the heck, why not put a CF to IDE adapter + a CF card in this thing?!
Well, turns out there was a “not” to that “why not“. Once I got the CF card/adapter, popped it into the laptop, and installed W2K onto it, I got a particularly frustrating message I would begin to see much more often: “Operating system not found”. Great. I tried reinstalling W2K again, installing MS-DOS, installing literally anything I could, but no amount of OS installation and BIOS tweaking could help me. Hmmst. After doing a bit of research, however, I found my mistake: I had purchased a regular, standard “consumer” CF card rather than an “industrial” CF card. Why is this important? Well… one of the key differences between consumer and industrial CF cards is that consumer cards can only be used as removable media, whereas industrial cards are treated as fixed disks.
Welp, there it was. Apparently Koko doesn’t do her research. I tried looking for hours into ways to “trick” the firmware of the card into acting as a fixed disk, but to no avail. It was 3am at that point, so without spare funds for a new, industrial CF card, I gave up and went back to the aging 6GB HDD. (Curiously, I just realized that W2K went through the initial install process onto the CF card just fine without even stopping me, despite it being treated as removable. I have no clue why this is.)
Even More Upgrades…
I tinkered with the laptop on-and-off for the next few months. But woah, hey, it’s early 2019 now! Current year!! I got a ton of birthday money around this time, so I decided to put a tiny bit of that money towards the laptop (and literally all of the rest of that money towards a used PS3 and PSP). The upgrades this time were pretty straightforward: A new-old stock WD Blue 80GB HDD (why I didn’t just buy an industrial CF, I have no clue), and a single 256MB stick of RAM (which was a gamble since an unknown revision of the laptop does not support 256MB sticks) to replace the 32MB stick already in the laptop. “But wait, Koko!“, you might be saying. “Didn’t you say earlier that the laptop had 64MB of RAM, and not 32MB??” Why yes, I did say that the laptop had 64MB of RAM… but I’ll get to the specifics of that.
Before I did anything, I decided to image the W2K installation from the old HDD so that I could skip waiting on the garbage CD drive, and just restore the image onto the new HDD. To do this, I used Clonezilla, which actually saves the day again later on in this post.
A disk image + USB 1.1 = snoozefest
So, after getting the new HDD installed and the new RAM seated, it was time to install W2K… wait, the laptop won’t power on. Was my laptop that one revision that didn’t support 256MB sticks? Oh no. Oh no. Oh- wait, now it’s booting fine. Phew. But wait, what’s this I see? 288MB of extended RAM? I thought I had only installed 256MB? Well… after deciding to remove the RAM stick to see what would happen, I learned that, apparently, the laptop includes 32MB of RAM built-in! The stick that was originally in the laptop was only 32MB, meaning the total extended memory at the time was 64MB. Interesting. Cool. More RAM is better.
The new HDD/RAM definitely helped. I was no longer waiting on W2K to load simple things such as the Control Panel or My Computer. So, I tinkered around with the laptop some more, even going as far as installing every single update available on Windows Update (yeah, for some reason W2K updates are still available). Now my laptop felt just a bit more modern and… uh… usable. But… I still decided to neglect it for a few more months. W2K just wasn’t too fun to use. Sure, it was a nostalgic joyride, but I just didn’t enjoy having to track down old versions of software just for W2K support.
So… that brings us to earlier last week. While moving some things around in my room in order to prepare for college move-in, I spotted the Y2Ktop. And, once again, I wanted to toy with it. But… this time was different. This time, I suddenly remembered back when the laptop only had 64MB of RAM, when almost every Linux distribution would fail to load from the live CD due to the anemic amount of memory available. I had around 300MB RAM available now, so… let’s see where we can go with a lightweight Linux distribution!
Linux Disaster, Round 1: Arch
My starting point was Arch Linux. It checked all the boxes: Bare-bones. Simple. Light. Command-line by default. 64-bit only– oh, right. Arch became 64-bit only some time in 2017, and I forgot about that fact because, surprise, I was only using Arch on 64-bit computers before. So, I never really cared until now, when I actually had a 32-bit machine on my hands. Luckily, other people must have had the same issue; because Arch is so lightweight, it’s perfect for running on old machines. Problem is, those same old machines typically use 32-bit CPUs. That’s where the Arch Linux 32 project comes in; it’s Arch Linux, but with support for 32-bit CPUs and configured to use repositories that carry 32-bit packages, as well. It even supports i486 CPUs, too! So, I burnt the ISO to a CD (which, by the way, by this time I had found a stack of older CD-Rs that worked first-try on the laptop… the sector reading issue still persists, though), popped it into the laptop, booted the live CD, and…
…initramfs error. Crap. It didn’t like something about the laptop. So, I tried using the Plop boot disk to boot the installer using a flash drive (did I mention that the laptop has a single USB 1.1 port?), but still no luck. This time, ISOLINUX didn’t even want to load. Alright then, time to find an older ISO of Arch. I picked out an ISO from early 2014, and sure enough, it worked! Er… slight problem, however.
For those who don’t know, Arch uses a little tool known as pacstrap in order to install the base system packages to the hard disk. That requires internet. Guess what doesn’t come with firmware for the WiFi card. Guess what also requires a restart in order to use the firmware for the WiFi card. See what I’m hinting at? Basically, I can’t even install the firmware I need, because I need to install the system first, but I need to connect to the internet to install, but I need to install the firmware to do that, and to install the firmware I need to first install Arch, but to install Arch I need internet….. I think you get the point. I was basically stuck.
Plan B: Copy the ISO contents to the disk, change some things. Huh, maybe I wasn’t stuck, after all. I got the WiFi card firmware extracted and installed into the system, and I was now on the ‘net! Nice! I played around with elinks (a commandline browser) a bit, visiting my website and trying to log into Twitter, before I finally decided to start updating. Slight problem, however: I couldn’t just run pacman -Syu. That would be silly. I already knew that the default Arch repositories moved to 64-bit only packages as well, meaning I needed to edit the mirrorlist to point to repositories from the Arch Linux 32 project. So, I did that, went to do an upgrade (fingers crossed, 2014 to 2019 is pretty long in the Linux world, meaning packages could easily get broken), and… Oh, I need to import some PGP keys. Oh, import failed. This was probably because A) my system was so outdated that I couldn’t import keys, or B) im stupid
Ok, so that’s Arch out of the picture. Relying on an upgrade from 2014 to 2019 was just not how I wanted to go about things.
Linux Disaster, Round 2: Puppy Linux
Hey, remember how I mentioned keeping an OS in RAM and using flash drives as storage? Well, I was hinting at this canine-themed Linux distribution. Fun fact: Puppy Linux was my introduction to the world of Linux back in 2012, which I used on my childhood Pentium 4 machine to play Minecraft a few times. Ah… memories. Well, in looking at lists of lightweight Linux distros, I decided to go with what I knew would likely work. I picked out a version of Puppy with some Debian component/repository support, burnt it to a CD, and set to work playing around with the system.
After seeing that Puppy worked pretty well on the laptop, and realizing that I was getting up-to-date packages PLUS THE WIFI FIRMWARE BY DEFAULT, I decided it was time to install it! Oh fuck! The sector error!
The CD drive sucks, so why not try to boot from USB this time using Plop? Sure, it might not work at all given what happened with Arch, but it’s worth a shot. But, lo and behold, it booted from USB just fine! So, with the sector error out of the way, I was able to install Puppy to the laptop just fine. Finally, a modern Linux distro is on the laptop.
But… I didn’t really like Puppy Linux that much. For one, it felt like I was using a Frankenstein’s Monster-based Linux distribution. Like… it wasn’t Debian-based at all, but… there was a ton of Debian stuff added in. It was confusing. Additionally, I didn’t like how many packages and tools shipped with Puppy. Like, do I really need 3 different sets of control panels?! Overall, the distro was just a mess. It wasn’t bare-bones, it tried too hard to be friendly to the point where it was annoying, and it just didn’t feel light. So, Puppy was out of the picture.
“Was I out of options?” I began to think. “Is a modern, bare Linux distribution too much to ask for?“
No, it wasn’t too much.
Linux Disaster, Round 3: Debian
After doing some research, I somehow stumbled upon the system requirements for base Debian 10, which the laptop met pretty well. I didn’t even know that you could do a base, desktop-less install of Debian up until that point, but apparently you can. So, I followed the usual process of download ISO > burn to CD > pop CD into laptop > run installer > install, but nothing can ever be that perfect, right? Indeed, the sector error came back, even after trying a second CD. Ok, boot from USB using Plop? I mean, that worked for Puppy, so it sh– Nope, that gets stuck before even loading the initrd. Sigh.
At this point, I wanted to just pull the plug on this project. But, then it hit me. I have that P4 machine. And it has a DVD drive. A DVD drive that can actually read discs. I came up with a foolproof plan that I KNEW would lead to a successful install:
- Make a tiny partition on the P4 machine.
- Install base Debian onto that.
- Use Clonezilla to create an image of that, and save it to a flash drive.
- Use Clonezilla on the laptop to restore that image to the laptop’s hard drive.
This process (luckily) went without any hiccups. But, there was another issue: because I wasn’t cloning the whole drive, I had to skip installing GRUB. So… even though I had Debian on the laptop by now, there was no way to boot into it. Psych! I actually had a GRUB boot CD lying around from the day before, and it was able to find Debian on the hard disk, and boot to it just fine. I was in!
So, after getting the WiFi firmware + GRUB properly installed, I had a bare-bones, modern Linux installation on the laptop. (And, it was only using ~32MB RAM at the command-line!)
The only other thing I did beyond the base install was an installation of xserver and i3, which I customized to look a tiny bit more sleek. I know I said I wanted a command-line only install, however I felt as if the laptop could handle a simple window manager just fine, and that it would help the laptop become a bit more useful in the process.
Obligatory piping of screenfetch to lolcat. Don’t know why only 209MB of RAM is found…
Retrospect + The Future
That pretty much concludes the first part of this laptop’s journey. Looking back, I have a gut feeling that this whole thing might be a bit of a waste of time. The hardware can only be upgraded so much, and by the time I get the laptop as powerful as it can be (which is not even far from its current state), it will still be pretty damn slow. That’s not to say that the laptop hasn’t been fun to play with – despite all of the roadblocks, it’s still really neat to see what the laptop can and can’t handle, and even neater to see the laptop run a setup that doesn’t look too far off from my previous Arch+i3 installs. Speaking of Arch, I also realize that I could have done the same install process I did with Debian; but, it’s a bit too late to go back on that.
As for the future of the laptop… The upgrades won’t stop. Sure, it’s pretty maxed-out by now (namely, the RAM and CPU cannot be upgraded further, as well as embedded stuff such as the GPU), but there are a number of things I can still upgrade. Such as…
The hard drive. I still have the CF to IDE adapter, so I could definitely get an industrial CF card at some point and copy the current install over to the card. This would (hopefully) make the laptop a lot snappier thanks to the solid state nature of the cards.
The battery. I cannot believe I didn’t mention this earlier, but I think it’s best I talk about it down here. Because this laptop is extremely old and was likely never used for upwards of a decade (or more), the battery went completely flat, and the laptop would shut down immediately after the charger was removed…
Oh wait, I ALSO forgot to mention the charger situation. So, despite the laptop not coming with its charger, I was able to use the charger from a junk laptop of mine since they use the same barrel-style plug and share similar voltages. The only problem is that the charger is a bit loose when it comes to the port on the laptop, meaning it needs to be in just the right position in order to actually power the laptop. This means that a slight bump of the cable (or even gravity just doing its thing) will immediately power off the laptop. Not good.
Important tangent over, this is partially the reason I want to get the battery to work, because I have run into unexpected shutdowns so. many. times. The other part of the reason I want the battery to work is because, well, it’s a laptop. The main (but no longer prominent since it’s kinda obvious now) point of pretty much any laptop is their portability! I’d love to bring the laptop to classes sometimes, just to “wow” people because you never really see ancient tech still in use in the wild anymore. But… the fact that I need to be tethered to an outlet and I need the charger on me at all times is kinda limiting me from doing this.
Well, what’s my plan with the battery? My only option is to replace the cells in it. A while back I actually cracked the battery open to take a peek at what cells it uses, and how the battery circuit is designed. Lucky me, the cells are soldered in a parallel circuit, and the cells are actually labeled, too. The laptop battery is comprised of 6 Panasonic CGR18650HM cells, which I can easily find information about online. What I can’t find online, however, is the cells themselves for sale. So… unfortunately, I need to study the cell’s specifications extremely closely and find a good substitute for them – hopefully they’ll work and I won’t have them all explode in my face :s
PC cards. I still have one extra slot available for any expansions I may wish to add to the laptop. I’m thinking that an ethernet card may be a good fit, considering the laptop shipped without the option for one selected… But, since the WiFi card works super well, I might just find something else to put into the remaining slot, instead.
CD drive. If I can ever find one that is meant for the laptop, I will definitely buy it. The current CD drive is just super unreliable.
Those are all of the upgrades to the laptop that I can come up with off the top of my head. There’s still quite a bit I can do, as you can see!
Before the final good-bye, here are the (basic) current specs of the laptop at the time of writing this, for those curious:
- OSes: Debian 10 + Windows 2000 Professional
- CPU: Coppermine Pentium III @ 601MHz
- GPU: ATI Rage Mobility AGP 2x
- RAM: 288MB
- MODEL: Gateway Solo 2150
Thanks for sticking with me though this crazy journey in modernizing vintage tech. If you’re still interested in more of the project, you can probably find some updates from time to time on my slightly-more-personal Twitter (@foxgirl_IRL), as I’ll sometimes post about the laptop and the installation of various packages onto it. Feel free to ask any questions/give some suggestions by contacting me or tagging me, as well. Otherwise, you can wait until the next blog post! (Trust me, it won’t be as massive as this one!)
(TL;DR: cd drive sucks)