Miscellaneous Thoughts: DSL, OpenBSD, ‘core

This is fairly DSL-specific, but the generalities apply to other distros and operating systems. I was going to address something earlier today as a rambling, separate tangential issue apart from the broader issues (and a specific one) raised in a post about updating and upgrading the bits and pieces in DSL.

There’s a catch-22 between supporting newer hardware and supporting older hardware and keeping it “damn small.” I think one negates the other to a large degree unless drastic compromises are made. Those kinds of compromises seem to be off-putting to many users — the ones who show up and say “this used to work when ____” or “but it works when I run ____ so you suck.” People take it personally when support is reduced in one area even if it’s at an extreme in new or old, such as removing certain modules or applications. It doesn’t matter if you make the modules or applications available so users can still use it, they demand things be just as they were but better.

Other compromises also include doing things that are suitable for newer hardware and unsuitable for older hardware, like certain compression protocols. Some distros do this and claim they’re suitable for older hardware when their compression decisions really aren’t suitable for those with slower CPUs or less RAM. To DSL’s credit, it hasn’t jumped on the “compress the shit out of it” mentality and still delivers utility in its 50 MB. So while other “small” distros pack as much or more in a similar ISO, they do it in a manner that makes it an unwise choice for certain hardware.

The question always boils down to, Which user base are you willing to give up? Will you give up those who have newer hardware or those who have older hardware? Or are you willing to make other compromises like increasing the base size from 50 MB to 50+N? Or just remove that limit and make it as “small as possible”? If so, where do you draw the line between what you add and why?

Not easy choices.

The days of “easy” one-size-fits-all distros are over, no matter what size. You can either stay on the bleeding edge so every new fangled device is supported or you can fill a niche and do what all these advocates say Linux is good for — extend the life of older hardware.

It was easier to fill everyone’s needs in one distro when there was a lot less to support. Debian Woody (upon which Knoppix 3.4 and DSL were built) was “approachable” by most hardware of its own era as well as what preceded that hardware because there was less technology to deal with. That’s why DSL was, and to a large extent remains, “approachable” to a lot of hardware up to a certain point.

A lot has changed, for better or worse, since that time frame when Debian Woody, Knoppix 3.4, and DSL were concurrent with those vintages of hardware. The kernel has a new version, a lot of new processes are thrown into the mix, hardware has gotten faster and fancier, and all software has grown very bloated. The demands of users have changed right along with the abilities of their hardware to absorb the resource demands of bigger kernels, more powerful hardware, and GB wallpaper to fill GB RAM.

DSL was suitable for hard drive installs while Woody was supported by Debian. Not anymore. There’s too much that needs to be fixed and updated, and that’s not even getting into changing kernels, while the world has moved along with bigger, faster computers.

I’d thought about re-engineering and updating DSL so there could be a separate traditional hard drive version. That would serve two purposes: it would allow DSL to focus on its intended use and it would also “freshen” up things so those wanting a traditional install would have a bit more security and a system that’s really designed for hard drive installs. I’m not dissing DSL in this respect at all, it’s just getting long in the tooth with respect to available security patches and the “Debian -> Knoppix -> DSL -> pseudo-Debian” process could use a bit if fixing so it’s more like “Debian -> pseudo-Debian.” Not to mention the issues with using extensions that are intended for nomadic rather than static use.

I think the age of the base alone is reason to discourage hard drive installs, short of users taking time to manually patch up the base (which I’ve done to a large extent and can attest is a very time-consuming proposition). You can’t reboot into a fresh state if something has been corrupted on your hard drive install, and you can’t un-do someone’s data being compromised if a computer is breached because of the age and security state of the software included in the base. At least with a frugal install, the damage can be restricted to /home and /opt (and possibly MBR or other mounted partitions if you’re using rewritable media). I realize not everyone has hardware that is suitable for frugal installs, which is why I’ve considered freshening and tweaking things to make a legacy install version.

Alternatives to DSL on hard drive if it’s not freshened up? Unfortunately, there’s not many modern options especially if you don’t want or need a 2.6 kernel. Even minimal installs of Debian come with a bloat factor if one uses apt, and that’s the while idea. DeLi looks like it might fill the niche but it uses ulibc, which really isn’t a 1:1 replacement for glibc, and I haven’t bothered installing it to see how well it stacks up to other distros (I also question the developer’s judgment in porting OpenBSD’s ksh and slapping GPL on it). Slackware still supports down to version 8 (versions through 11 use 2.4 kernels) and has a lot of flexibility in the way its installed, but that requires a little planning and reading documentation — something most users seem unwilling to do. That’s it for Linux, the kernel that supposedly avoids “planned obsolescence” according to all the fanboy sites and their “20 reasons you should use Linux instead of Windoze.” I don’t think the distros have gotten that memo.

I’ve gone in a different direction. I picked up a new hard drive the other day and was going to copy over my last DSL hard drive install and be done with it, even though I want a few things that will require updating a few more things than I already have. Then I thought I’d do a minimal install of Slackware 11 instead and stick with 2.4 and have a fresher base and fewer hassles down the road and an easier pathway to the things I want.

Instead, I installed OpenBSD and updated to 4.3-stable (I may update to -current so I can install Firefox 3, but I may not mess with Firefox at all on my desktop; it’s kind of funny that for my browsing I’m using dillo without SSL and elinks with SSL now).

$ sysctl kern.version                                                                            
kern.version=OpenBSD 4.3-stable (GENERIC) #0: Mon Aug  4 23:17:04 CDT 2008

Besides my familiarity with (and preference for) OpenBSD on my servers, one of the reasons I chose it over Linux and the other BSDs is because its installed defaults are pretty spartan — not that FreeBSD or NetBSD install with excessive bloat, either. Though that’s intended for security reasons, there’s a side effect of shipping something that has few services started by default: it’s excellent for older hardware that should start as light as possible.

The other day I mentioned in the DSL forums the hassles of using Vector, which was supposedly “light” and suitable for older hardware, and having to turn off all kinds of stuff that was enabled by default, changing icons, un-setting wallpaper, etc., just to have a system that was reasonably usable with more RAM available than in use when starting X. And then I ended up recompiling a whole lot of stuff to reduce system demands and dependencies. Light Linux? If so, I don’t care to see the heavy stuff.

In contrast, the one daemon/process running in a default OpenBSD install that I could shut off is sendmail. I guess I could also defer running sshd until I need it, but I seem to use it all the time anyway. There’s no CUPS running at boot (something I wouldn’t have installed in Vector if I’d known it wouldn’t give me a choice about starting it at boot — something else I had to undo to use my freaking computer), no automounters paralyzing the system waiting for devices that may never get stuck into a port, etc. There’s also no 500kb wallpapers (no wallpaper at all! hallelujah!), no slavish accommodations to the fashion Nazis, no blurry fonts, no icons all over the place. For such a clean slate you have to set up X yourself, write your own .xinitrc to suit your own needs and tastes (mine is just a couple lines to set a font path for Terminus, set the background black, and start ratpoison), etc. No big deal.

That’s one of the reasons I’ve been a big fan of DSL, and why I’ve looked forward to tinycore. DSL had no BS and not a lot of crap to turn off so it’s usable. Tinycore has even less to strip — it’s a base upon which to build, not clutter to clean up. It may not be user-friendly (yet), but too much stuff that’s deemed “user-friendly” is friendly to neither user nor hardware.

Anyway, I’ve freed up another hard drive, or a significant part of one, for working on core. I still have my DSL stuff on it and don’t know if or when I’ll delete it. I don’t even know how many users want a 2.4 hard drive install with a freshened base. I still see more posts whining about wanting DSL to work with NeatoDooDad v3.8 (which requires kernel 2.6 and libopendoodad for its driver blob to work — quite crappily — in Linux) and complaints about the lack of eye candy than any concern for re-Debian-izing things, SSL/SSH patches, or UCI-to-tar.gz extensions for hard drive use.

I suspect it’s not something with enough of an audience to even work on it. Please let me know if I’m wrong about that because I could end up trashing those DSL partitions for core development sooner than later.


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

%d bloggers like this: