_ __ __ _
(_)__ / /_________ / /________ _______(_)
/ / _ \/ __/ ___/ _ \/ __/ ___/ / / / ___/ /
/ / __/ /_(__ ) __/ /_/ / / /_/ / / / /
__/ /\___/\__/____/\___/\__/_/ \__,_/_/ /_/
/___/
(Originally posted to Cohost on Tue, Jul 9, 2024, 9:00 PM)
I connected a Pi 4 (running Alpine Linux) to my laptop, Omoikane, via a local-only LAN. For security reasons the laptop is not connected to the public internet, only the Pi 4 and any server it hosts.
On the first image, the window on the left is a Wikipedia article hosted on a Kiwix server. The right is Hundred Rabbits' website, saved offline with wget and accessed from a Samba file server.
There's a couple reasons why I wanted to do this:
Windows XP is fine for everyday tasks, but I'm used to the comfort of Linux. Contrary to popular belief though, you can't just slap a modern Linux distribution on a 20-year-old computer and call it a day.
There's a few problems that got in my way:
The driver for my S3 ProSavage8 GPU fails to load, or is insufficient
I noticed this in all the modern OSes I could boot: Slackware 14.1, Slackware 14.2, and NetBSD 10.0 all had choppy, sluggish windows and occasional graphical glitches. The worst case was OpenBSD 7.5 with garbled terminal graphics after starting X11.
fbdev
or vesa
in
xorg.conf
was an improvement over whatever it used by
default, esp. with rendering icons in Window Maker, but it still hogged
the CPU and, in vesa
's case, had this "flashbang LCD bleed"
effect every time the graphical desktop started or stoppedI learned Mesa killed support for S3 Savage GPUs back in 2011, beginning with 8.0 according to this Reddit thread and its changelog
There is only 256 MiB of usable RAM in the laptop, which means most modern distros won't boot or install (incl. more exotic OSes like Haiku)
The laptop can only boot from CD-R, not DVD-Rs or USB. This means you'll have to burn a PLOP Boot Manager disc and plug in a USB if, despite the previous problems, you still want to run a modern operating system that can't fit on a CD
The CPU lacks SSE2 instructions. It's not that
big of a deal, but if you use Windows XP you may not be able to run the
"latest" supported applications. Similarly, when testing Alpine in a VM
without SSE2 instructions, I got an "illegal instruction" error when
trying to run the text editor micro
.
I settled on Slackware 13.37 (2011) after much trial and error, and specifically because Slackware doesn't require much internet access.
And guess what? It works great!
The default install comes with almost every package I need (e-book reader, Pomodoro timer, etc), and the ones it doesn't include can be found as SlackBuilds and transferred to the laptop. Though there are a lot of dead links, it's nothing the Wayback Machine, Googling filenames, and using md5 checksums can't work around.
Some packages I were able to run on Slackware 13.37 were:
Anki 1.2.9 (SlackBuilds) for flashcards with spaced repetition
Anki 2.0.33 (using Slackware 14.1's SlackBuild with the 13.37 dependencies) for a newer version
DOSBOX 0.74 (SlackBuilds) for running DOS programs
feh 2.3 (SlackBuilds) for a desktop background on minimal WMs
i3 4.2 (SlackBuilds) for a tiling window manager
neofetch (from source) for looking cool
Redshift 1.2 (SlackBuilds) for a red light filter
sshfs-fuse 2.4 (SlackBuilds) for file sharing with my Pi 4
VICE 2.1 (SlackBuilds) for running C64 programs
Vim 9.1.544 (from source)
As usual, fellow blogger @nortti
(who originally owned the laptop, giving it the name "Touko"
"touko") has been a huge help, and shared the idea of compiling a modern
kernel on Slackware 13.37 so I can use zram (compressed swap in RAM) and
modern btrfs. I was considering compiling the latest gcc so I can
compile Raylib for game development, and use earlyoom to keep the system
from freezing when OOM.