_      __            __                  _ 
      (_)__  / /_________  / /________  _______(_)
     / / _ \/ __/ ___/ _ \/ __/ ___/ / / / ___/ / 
    / /  __/ /_(__  )  __/ /_/ /  / /_/ / /  / /  
 __/ /\___/\__/____/\___/\__/_/   \__,_/_/  /_/   
/___/

[Home] - [Blog] - [About]




Retro computer shenanigans: Raspberry Pi 4 file server, and running Linux

(Originally posted to Cohost on Tue, Jul 9, 2024, 9:00 PM)

Raspberry Pi 4

Screenshot of a Windows XP desktop with the classic, brutalist theme. The left window is a Wikipedia page about the Dreamcast game "Rainbow Cotton". The right window is the Philosophy page of the Hundred Rabbits' website.

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:

  1. Transferring data from the laptop to other computers was tedious with a USB, and since I wanted to use Omoikane for learning and taking notes, but I'm not always in front of it, there's high latency for walking to the laptop, turning it on, typing my notes, and transferring them. I set up a Samba file server with a shared user and directory (though I needed this answer), and a Syncthing service for my notes to sync on other computers.
  1. Kiwix doesn't work on the laptop. They have a Windows XP build but it looks like a JavaScript client and afaik requires SSE2. The last Kiwix build likely supported by the laptop was hard to find and isn't compatible with newer Kiwix files. However, connecting to a server hosted by kiwix-tools is fine, and it even has a NoJS endpoint for lighter browsers.

Linux on Omoikane

A photo taken of a laptop running Slackware Linux 13.37 with the i3 window manager. The screen has a terminal open, printing the "neofetch" results of this computer. The desktop background is a wallpaper of Ruri Hoshino in a cat costume.

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:

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:

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.