Old Computer Challenge Report

2025-07-13

Short article about my experience in this year old computer challenge

Motivation

Following up on last year's Old Computer Challenge, where I used NetBSD on a text console, I became interested in exploring a graphical interface and Wi-Fi capabilities on my Natcomp this year. As a result, I have chosen what I believe to be an intriguing operating system called Tiny Core Linux (known from ActionRetro[0]) to experiment with.

According to its homepage, it is an ideal fit for my relatively old hardware:

The Tiny Core Project is a lightweight and highly modular Linux distribution designed for efficiency and flexibility. It focuses on providing a minimalistic operating system that can run entirely in RAM, allowing for fast boot times and low resource usage. Tiny Core Linux is built around a core system, which is just a few megabytes in size, and users can extend its functionality by adding community-built extensions as needed. The project aims to create a nomadic, ultra-small graphical desktop operating system that can boot from various media, including CD-ROMs, USB drives, and hard drives, making it suitable for older hardware and embedded systems.

Day One: Get Started with TinyCore Linux

My Natcomp[1] still only allows booting from the CD-ROM. Therefore, I used a similar 'sideloading' approach as last year, but this time I utilized a virtual machine instead of a physical notebook. For that reason I've installed virt-manager (libvirt) to proceed with a frugal install of tinyCore-current.iso on Natcomp's internal HDD that was attached via an USB-IDE adapter. After putting the HDD back into the old notebook. Unfortunately, it didn't boot. I invested some time if it was either the limit of the hardware or the installation process via virt-manager itself. At the end of the day, it was both :-D. On the one hand side I need to use the HDD as a direct SATA device within the storage pool rather than a VirtIO. On the other hand the 55 MB RAM of the Natcomp seems to be not enough for booting.

Day Two: More TinyCore Linux and Booting

At the second day I invested more on the boot issue with TinyCore Linux.

With my physical setup I've invested in the following boot error by tinkering with extlinux bootloader and bootcodes - without success.

500 Mhz AMD K6-2+ CPU
External Cache: 512K installed

SYSLINUX 6.03 EDD 2014-10-06 Copyright (C) 1994-2014 H. Peter Anvin et al
No EFI environment detected.
early console in extract_kernel
input_data: 0x0003e094
input_len: 0x085420c
output: 0x01000000
output_len: 0x00bf70f8
kernel_total_size: 0x00ce1000
needed_size: 0x00ce1000

Decompressing Linux... Parsing ELF... No relocation needed... done.
Booting the kernel (entry_offset: 0x00000000).
initrd.image: incomplete write (-28 != 13141902)
intel_powerclamp: CPU does not support MWAIT
mce: Unable to init MCE device (rc: -5)
Failed to execute /init (error -2)
Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
Kernel Offset: disabled
Rebooting in 60 seconds...

Beside the bootloader I also did a teardown for the Natcomp which is similar to a Mitec 5033 and found out there are indeed 32MB RAM which could be extended up to 64MB[2]. Anyhow if I want to order more RAM it wouldn't be there until the end of the challenge. So I need another approach to nail down the issue.

Back to my main workstation (which serves me well since 10years, does it already count as old?), I was using my virt-manager to "simulate" a lower RAM. With that approach I've figured out that 55MB RAM setup is failing with the same boot issue than on my physical notebook. At least 96 MB RAM are required for the ISO version (+HDD version). This seems not to be an issue with TinyCore linux which states it runs with 48MB (see FAQ[3]) but in combination with the linux kernel.

Today, I've also tried Slitaz[4] found on Wiki with Small Linux systems[5]. In sum, the low ram version worked with 55MB - kind of.

Day Three: Trying it on another Machine

Still motivated to get TinyCore Linux running on a physical notebook, I came up with a ThinkPad x61 and 3GB RAM. Booting from the prepared HDD runs without issues. Because of some obligations in the real world :-D there was not so much achievement for today. So, with a working setup I decided to finish the challenge with the x61 and noted down some hardware improvements for my Natcomp:

Day Four: Getting to Use TinyCore Linux

The fourth day of this years challenge I was really taking time to actively procrastinate with this setup and (to some degree) embrace the limits and slowness of this setup. Here I redo most of my stuff from my former tablet experiment[6] with regard to reading and writing. But I was not using any syncing or programming task (yet) because the apps provided by the application browser where either not available or older. Most of the time I've used the setup to read gemini space via dillo during this day. As a sidenote, that notebook is getting hot and smells (like in the old times). Maybe something I need to invest in future :-P.

Day Five: Persist your Data

The huge benefit of using TinyCore Linux is that each reboot 'resets' the system back to a clean state. Especially in ThinClient environments, this approach is a big plus because it guarantees an always clean system. However, the first time I was rebooting the X61 and recognizing that all my installed applications and configuration where gone was kind of surprising. I spent the fifth day to configure TinyCore Linux to persist applications and configurations. I've followed the documentation and set the boot options accordingly. Most probably, I complicated it too much. In my case, I did the complete frugal install again. Most probably, these settings could be changed by the extlinux config file directly.

Day Six: Wifi

Right from the start of this year challenge, I want to overcome a limitation from last year, namely wifi. According to the documentation there is the possibility to get Wifi up and working with CorePlus. In the end, however, it was not working in my case. I'll give it a try at another day, I promise.

Day Seven: Wrap Up and Next Steps

The last day of this year challenge I took my time to summarize and do a proper write up. First and foremost, TinyCore Linux is an OS that invites you to tinker with. So it is perfectly suited for something like the Old Computer Challenge IMHO. Running on a really old system, however, RAM can be become the limiting factor on using the system (even in frugal install). I would foresee another operating system or use case for my Natcomp (maybe for upcoming challenges) like:

For all of you who read the text and made it until here. Thank you for your interest and the friendly OCC community. Hopefully we'll see us next year again.

Pictures

TinyCore Linux on a ThinkPad x61

Links

[0] Retro Action (Youtube)
[1] OCC Version 2024
[2] Orphanlaptops about Mitec RAM
[3] TinyCore Linux FAQ - Requirements
[4] Slitaz Website
[5] List of light-weight Linux distributions
[6] Working on a Tablet 2024

Thanks for reading. Feel free to send comments, questions, or recommendations via Mail.