Giving Slax a test drive…

Although my love of computers started with Commodore, I’ve used Windows nearly exclusively for the last 20 years.  While there are things that I don’t like about Windows, I’ve enjoyed using most versions since Windows 95.  Under the hood, Windows 10 is an amazing operating system.  You just have to hack on the UI a bit to get a decent desktop experience, luckily there are lots of blog posts and utilities that help here.  Although I’m still running Windows 7 on every machine that I own or have control over.

While looking at other operating systems, there are two things that I am looking for.  The first is a rich, fully functional environment for development, internet usage, documents and office related work, and so on.

The other is a minimal, yet easy to use, operating system that can be more like the software in thousands of various electronic appliance and gadgets that just does what I need it to do, and unless you stop to think about it, you don’t even realize it is there.  I’m very interested in the various retro gaming systems people are putting together.  I remember way back when a few shops started building custom arcade cabinets and putting MAME boxes in them.  But today, lots of enthusiasts and hackers are putting together their own gaming systems, and that is something that I’m very interesting in doing myself.  Although I could buy something “pre-built”, I don’t know exactly what I want and I want to be able to maintain and improve it on my own.  So I need to build it myself.

Which is why I wanted to take Slax for a test drive.  Yes, I’ve finally gotten to the point of this post.  🙂  Slax is a lightweight Linux distribution based on Slackware.  I like the philosophy behind Slax, in that it is intended to be very easy to use and very modular.  Some system level items like network firmware can be installed without rebuilding the kernel.  All applications and utilities are “modules”, which are different from typical Linux packages.  A Slax module is neither decompressed nor is it installed.  It is kept on disk in its packed form.  You “activate” a module to use it.  The module is then mounted into the file system.  Behind the scenes, I assume it is decompressed to memory, perhaps a ram disk, but I haven’t dug in that much yet.

Indeed, getting/launching/using supported application is very easy.  However, administration tasks require a good bit of Linux administration knowledge and experience. Although Slax is not updated frequently, there are massive incompatibilities between versions.  This makes finding the correct solutions online difficult.  I searched for instructions for solving two tasks: installing Slax to a hard drive and configuring wireless networking.

No, that first one isn’t a typo.  As odd as it seems, Slax is primarily intended to run from a live CD.  If Slax worked out as the base OS for a retro gaming system, that wouldn’t be a bad thing.  A DVD could include the OS, emulators, gaming front-ends, native games, utilities, and more.  Everything that a retro gaming hacker would want.  The problem is, I need a modifiable environment that I can build and tweak, which would then be made into a live CD.

There are various instructions for installing to a hard disk.  I found instructions that seemed official, several blog or forum posts from Slax users with possible solutions, a script that was supposed to do it, and a Slax module (of all things) that was supposed to do it.  Each of these applied to an earlier version of Slax and were completely useless for version 7.  There are for making a bootable USB Slax 7 install, and that does provide persistence between sessions.  I decided I could try that and, if I liked Slax like I expected to, hopefully I could find a solution to move it to a hard disk later.

With Slax now bootable from USB, I gave it a spin outside of VMware.  Any emulator provides some advantages.  One primary advantage is that the guest network is a common network configuration, using a fairly well known “chipset” that requires a fairly common driver.  Essentially something that almost always just works without any effort on your part.  At least that has been my experience.

Booting to my native hardware though, I realized that I needed to figure out how to configure wireless networking, from the driver for the wireless nic to the wireless configuration itself, including security and encryption.  During this challenge, I became frustrated not only with Slax, but once again with its roots: Slackware.

Although I don’t have much Linux experience, I’ve been exposed to Linux almost since its root (sorry).  One of my high school friends found out about it early on, before the kernel version took the leap to 0.95.  You couldn’t do much with it then, so it didn’t interest me at the time.  But over several months, he kept using Linux and more stuff became available for it.  Back then there was a huge computer flea market of sorts in downtown Dallas, called First Saturday or something like that, due to it occurring on the first Saturday of the month.  I came across a 2 CD set of Slackware 3.0 and picked it up, both out of my own curiosity and to share it with my friend.  Although it didn’t have anything he wanted and didn’t already have.  🙂

Slackware attempts to be as close to Unix as Linux can be, being very selective in the official packages provided.  I’m fairly sure it is intended more for Linux gurus that would rather pull everything out of GitHub and build it themselves, nightly probably.  Perhaps I’m being over critical.  The moral is, don’t even consider looking at Slackware if you don’t know how to administer Linux, including rebuilding the kernel and/or firmware.

I was about to stop looking at Slax when I found the answer to one of my first questions: How to install Slax to a hard drive.  With Slax 7, the steps are almost the same as installing to USB, which is nice.  Although I had to use another distribution to create and format a partition and then copy Slax to it.  If there is a way to do this from Slax itself, I couldn’t figure it out.  I don’t understand why this isn’t a common task that has a solution already available within the live CD environment, but it isn’t.

Just as the initial frustrations were resolved and I was able to really start playing with Slax, I found that Slax 7 is too unstable to use.  I could have done something wrong, although there aren’t many places a mistake could be made.  For some reason, applications stopped launching.  There would be a flash in the task bar like the app was going to launch, but then it immediately disappeared.  It was particularly frustrating since the installed web browser, a port of Firefox, was one of the applications would not launch.  Sure, I could take the time to investigate further, but I was looking for something that was already stable that I could use for my project and, if successful, contribute anything that may be of value back to the community for anyone else to use.

I attempted to create an account on the Slax forums so I could post some questions.  Unfortunately the CAPCHA used during the registration process refused to show me the image containing whatever numbers or characters I was supposed to type to prove I am human, so that wasn’t an option either.

Not that I mind hacking, troubleshooting, and solving problems.  I quite enjoy it.  But I don’t like doing it alone or without any support whatsoever.  And I’m a lot more interested in hacking on AROS than Linux, once I get past the distraction of finding other interesting and usually related projects that I want to take a quick peak at.  😉

Advertisements

Author: Jon Robertson

Software developer, Commodore hacker, and a fortunate husband and father!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s