Slackware on Pi Notes

To install Slackware on the Raspberry Pi, I was greatly helped by this page:

http://rpi2.fatdog.eu/index.php?p=home

It is essentially a well written and easy to follow cook book for putting Slackware on the Raspberry Pi Model 2.

I have but one complaint: Despite it telling me a half dozen times “DO NOT REBOOT!!” in red, even, after 2.5 hour of code download and another 2.5 hour of install script running, when the script said “reboot now” I chose to reboot. Sigh. squirrel!!

That put me off in “recover a botched install” land. Not as hard as it sounds. I copied the whole system ( from / directory on the chip on down) to my USB drive with a simple tar command: tar cvf /SaveDisk/Slack.tar or something similar) and then just reflashed the SD card with the right boot images and ran through enough of the install to get things back like they needed to be, then restored the Slack.tar blob to the chip and did NOT reboot…

OK, ok… they warned me. Many times. It isn’t THEIR script / install process that offers the tempting reboot; so they can’t fix it, etc. etc. blah blah blah… My bad, I got it…

It is also the case that, as usual, they have you using low level drive formatting commands for the SD card. As usual too, I would normally do it using gparted under Arch (or Fedora or Debian or…) and be done with it, working around that part of the process. In this case, I actually used their command. It gives one of those ncurses like ‘almost graphical’ panels made of text fields… Not too hard to do, but really… welcome to 1980…

http://rpi2.fatdog.eu/index.php?p=infodrives

cfdisk /dev/mmcblk0
[…]
The vfat (FAT32) partition ‘mmcblk0p1’ is fine as it is. You’re going to use that as your boot partition but you’re also going to need additional partitions in order to house your Linux system. So, at this point you should create a swap partition and a root partition.

Create a swap partition like this:

• Move the highlight down to the Free Space, using the cursor keys on your keyboard.
• select [ New ] at the bottom, and then press the enter key.
• Select [ Primary ] and press the enter key.
• When asked to specify ‘Size (in MB):’ type 256 and press the enter key. You can enter your own size if you prefer.
• Select [ Beginning ] and press the enter key.

Your new partition has been created. Now you need to tell cfdisk that this partition is going to be used as a swap file. At the bottom of the screen move the highlight to [ Type ] and make sure that ‘mmcblk0p2’ (the 256Mb swap partition) is the one still highlighted. Then press the enter key.

I understand the desire / need to be entirely self contained and self hosted, but really, other than your first bootstrap machine ever, chuck the card in a box with gparted and be done in 60 seconds…

They give a nice top level overview of the process on the entry panel to the build:

http://rpi2.fatdog.eu/index.php?p=installer

Slackware ARM Installation Guide

Welcome to the SARPi2 installer guide. This guide is a step-by-step, end-to-end, HOW TO install Slackware ARM current on a Raspberry Pi 2 model B. If you have no need of this guide, the SARPi2 installer and system packages are available from the Downloads page.

Some sections of this installer guide are marked with an [option] which means you can choose to follow them, or not, depending on how you intend to carry out your Slackware ARM installation. Each section is linked to the next consecutive section at the bottom of the page to hopefully give this guide a little more user-friendliness and continuity.

If you’re using this website for the first time, it’s advisable to follow the links below starting from the top. When you’re ready…
Prerequisites

• Preparation before you begin
• Configure a microSD card
• Download Slackware ARM source media [option]
Slackware ARM Installation

• 01. Notes for Pre-installation
• 02. Configuring the system for installation
• 03. Setting up the NIC for (remote) installation [option]
• 04. Creating partitions on available drives
• 05. Mounting a USB memory stick [option]
• 06. Running Slackware ARM setup
• 07. Selecting Slackware ARM source media
• 08. Final steps of installation
• 09. Completing the install process
• 10. Configuring the boot partition
Keeping Updated

• Keeping Slackware ARM updated with slackpkg
• Upgrade kernel, modules, and firmware with rpi-update
• Optimise Your System Configuration [option]

Each of the bullet items a link to that step set of directions.

I used a USB disk, not a stick, and it worked fine. My only “issue” there is that the directory you give is a bit less than clear. I had it mounted as /Slack and filled with the download / unpacked source and build bundle. You do NOT say “install from mounted directory ‘/Slack'”… It is /Slack/slackware as they use a directory one level lower than some of the stuff… OK, got it… after a failure to install with /{mountpoint} …

It took me about 2 1/2 hours to download everything, and another 2 1/2 hours for the actual install process (that was mostly spent watching TV as it just runs…). I chose to install absolutely everything, so YMMV if you accept less. (In particular, the fonts for internationalization they say to skip are big and mostly useless to me.)

Another mistake I made was to say “Sure, install dnsmasq”. This fights with BIND for port 53. You are not expected to run them both at the same time. My bad. While I do run dnsmasq on another box under raspbian, I don’t really need it here. BIND is fine. Either that, or realize you are responsible for changing the config to only run ONE DNS resolver using port 53…

The other minor goblin I ran into was that time was being a pill. It often is. IFF you are too far off from the time reported by a time server, ntpd will refuse to ‘drift’ you to that time. It decides that your clock could not have just drifted 45 years during a shutdown… This fails to service a Raspberry Pi well, as it has no hardware clock. I knocked together some mini-scripts that stuff the present time into a file at shutdown and read it back in to set the clock at boot up and many ‘need to set the clock by hand’ issues ‘went away’. I’ll post the exact details when I get the Slackware chip back in and booted again. IIRC, in the rc.d for ntpd I added a line to set the date, and in a new /etc/local_shutdown script added a command to write the current clock setting out to that same file. Each command in /usr/local/sbin and a ‘one liner’ like date -s ‘cat /etc/SaveTime’ or some such.

After that, all was good.

General impressions?

I like the BSD style rc.d init control scripts. Took me a couple of minutes to remember to forget the init.d SystemV stuff and revert to BSD ;-) So not only does Slackware have the good taste to call systemd crap, they didn’t even get hooked withy the “System V Consider it Standard” crap either. Nice ;-)

The original rc.d init system is clean, simple, and easy to modify, so in about 5 minutes I had my clock workaround in place and tested. I have no clue how to fix it under the systemd overlord… I’m really liking the BSD init glow ;-)

It seems fast. No, I didn’t do any timing yet. It is just that you notice when things are ready and you are not yet… that “but wait, I reached for the coffee cup but have to STOP before the sip? That’s new…” thing.

Konqueror was a dream at reading pages and making comments. Due in part to the lack of constant live spell checking of every word in a loop. You select when to spell check and it then does a whole doc check presenting you with a list of dictionary words for each thing where it thinks there is an error. Partly just for who knows what reason. CPU use down in the 7% range most of the time. Rarely over 17%. Snappy and with no ‘type ahead’ issues on comments. My one complaint here is that attempting to write an article ended badly. I lost the “save” button. Maybe it is a ‘feature’ and I had some toggle turned (it also jumps to a new window on some mouse things… another miss-feature gaining wider use…) but “suddenly” and against my will I could not save the article. I’ll go back to it later and explore a bit more. Figure out if it is a PIBKAC problem or not. (Problem Is Between Keyboard and Chair)

That there is exactly ONE browser and not a one I regularly use is an issue for me. Now I’m either off in the “install another ARM built browser on a strange system” land, or … (Not many folks expect ARM / Pi Model 2 as their typical download / install target, so you wade through all the PC M.Soft and Mac stuff to find it.. then get the x86 AMD64 Linux options out of the way then… ) So unlikely to become my “daily driver” unless and until that is fixed, somehow. No, not “hard”, just time that I don’t want to spend at the moment. The time budget drives all…

FWIW, the Original Article Start

Just as a FWIW thing: I’d managed a ‘copy paste save’ of the original article I was writing on Slackware on Slackware.. Here it is, just for grins:

BEGIN QUOTE:

I’d run into some difficulties getting X-windows installed on Gentoo, so thought I’d just “limber up” with a vanilla install of something else that didn’t take so much detailed work. (Gentoo is almost all source code based, has its own build system that’s a bit alien to anything else, and X building is a black art at best, obscure hell most of the time, and “run screaming from the room hair on fire” often…) As I’ve already installed just about every other major release for the Pi (there are dozens of more minor ones…) I decided to give Slackware a try.

Slackware is one of THE oldest releases of Linux. (I’m tempted to say the oldest except Linus must have been running some tools on top of his kernel… yet was that a ‘release’ if it was never released?…). It “has its own way” about it. Slightly surly curmudgeon about gratuitous change (that’s a good thing!) and a tendency to like things that just work, even if you do have to pay attention some times. (i.e. not fond of GUI layers of abstraction that make it easy for a noob to, say, bring up a default network, but make it hard to have a clue what you are doing and / or get in the way of the experienced hand… I’ve had that under other distros with wicd arguing with other network config stuff…)

So it tends to be a bit “musty” in general appearance and action. Yet “it just works”. Yes, some “old friends” of problems are still around where you can trip over your own shoelaces with things like having BIND running and trying to launch dnsmasq (which I did. More below.) Yet they have a philosophy of “release when it is ready, not on a date”. So if something is known broken, it doesn’t release. I like that. It also has a more “old school” build / install process, so I figured “Hey, easy, I’ll just stuff it on a chip to get the mojo working again.”

Then Slackware reminded me that “It’s never that easy. -E.M.Smith” (however easy you think it will be… It’s never that easy…) Yet none of the “issues” was really much. More in the niggling little things range. Like finding that dnsmasq would not start. Initially I thought that a Slackware issue, but doing a web search on the error message, most of the pages were Debian or Ubuntu… so not just Slackware, or even mostly Slackware. Why is the dnsmasq port “in use” so it can’t start? By default BIND is running as DNS and nothing stops you from being stupid and launching dnsmasq too… During the install, I just thought “oh heck, turn on everything” and it gives you that choice… Hey, that is the traditional Unix Way

Jumping to the end, my major surprise is just how fast the combination of Konqueror Web Browser and xfce on Slackware can be. ALL of the “typeahead” lag is gone. Zero. I’ve got the browser open typing an article and CPU usage is about 7%. If I stop typing, it goes to 99% Idle. Unlike a SystemD world where about 10% of CPU goes just to keeping SystemD et. al. idling. Unlike FireFox where it seems to take about 20% of CPU to do nothing, and bounces up to about 100% of one core as soon as I type a word. Frankly, this is just sooo much more comfortable for posting I can not see any way I’m going to “go back” to lags and pauses and “almost good enough”. I have zero complaints about this engine as a posting engine.

On my “todo” list is to see if the xfce / konqueror combo is similarly good on other base systems, like Arch / Gentoo / Raspbian. Basically, find out who has the magic sauce…

END QUOTE.

As of now, I do have a complaint… I could not hit “Save Draft” for some reason… We’ll see if that complaint goes away or not, over time.

In Conclusion

Overall, my impression of Slackware is a good one. A bit “retro” in some of the look and feel department, but solid and fast. Short on browser options, though.

It is an easy bring up system install process, as long as you remember “DO NOT REBOOT!!!” ;-) and has a very fast default desktop / browser combo for general reading and comments to articles. Writing articles on WordPress TBD. (WordPress does many high resource use and PITA things and is not known for code flexibility… I’m still fighting it about not forcing me into the “beep bop boop” editor that I think may be Javascript and a slow pig PITA on low resource machines like the Pi or my tablet). Any “issue” is as likely to be WordPress as konqueror… IMHO.

IFF I can relatively rapidly and painlessly get a Mozilla family browser or Chromium on it, and they stay fast, I’m highly likely to use it as the Daily Driver. (When your home dir is on an external drive, it is VERY easy to move to a new system ;-) You are one mount command away from moved, most of the time. Firefox and Seamonkey / Thunderbird fight over where your mail is stored, but that’s about it.)

Overall, I like it a lot more than Debian / Raspbian. Why? No systemd, faster, and a more general sense that the “Benign Dictator For Life” who sets style decisions has had a reasonable sense about when to “just say no!” to gratuitous changes and fads. Not quite as ‘retro’ and non-changing as BSD, so some of the newer kit is there when needed, yet not running around from fad to fad like much of the rest of the Linux world. In short, I like this guy.

Open issues:

I’ve not yet taken the build system for a test drive. No idea how hard it is to “roll a new one”.

I’ve not yet installed variety browsers or looked at total package richness. There’s a lot in there already (6 GB!), but clearly on browsers it is short, so “some digging required”.

Configuration examination. I noticed, for example, that setting my password had the crypt-text show up in /etc/passwd. Most of the world has this in /etc/shadow now. Since /etc/passwd is world readable, anyone can see the crypt-text. About 1986 when running a Cray site, we figured it would take about 2 TB to precompute all possible password crypt-text values and make password cracking a “lookup”… At that time our 2 TB storage cost $1/2 Million… now it is $59 at Best Buy. That is why the cyrpt-text is now hidden in a non-readable file. Yet here it is readable. Configure option I missed? Who knows… Other users, like root, have their password in /etc/shadow, so the system knows how to do that. It just leaves me wondering how many other “known exposures” have been left laying around for “the experienced sysadmin will know to close them”… discovery.

Compare Gentoo that offers a hardened libraries option…
clearly way over the top aware of security issues.

But maybe it’s just me. Moving into a new system is always a journey in examination of self expectations. There might well be some rational thing I just don’t know about it yet. (Say, for example, they use AES password encryption instead of the Old Way, and I just didn’t notice that…)

Overall, much more usable faster than Gentoo. (no surprise there). Not run into any missing basic tools issues yet (like ARCH where I could not get wget to build…) but a bit light on user space things like browser choices. But those can all be fixed. With time and work.

Subscribe to feed

About E.M.Smith

A technical managerial sort interested in things from Stonehenge to computer science. My present "hot buttons' are the mythology of Climate Change and ancient metrology; but things change...
This entry was posted in Tech Bits and tagged , , , . Bookmark the permalink.

7 Responses to Slackware on Pi Notes

  1. beng135 says:

    Hmm. Never made a Linux swap partition, don’t see the need and resent installations telling me to do so. I just put the swap file (file.swp) in the base partition (for quickest access) & it works fine.

  2. E.M.Smith says:

    @beng135:

    I’ve done it both ways, both work fine.

    I tend to put a swap partion of 2x typical memory on slice 2 (/dev/sdx2) partly out of long standing habit. It does have the nearly useless feature that some installs (especially live CDs) find it automatically and use it when found. It also means I have a clear marker for “ok to fool with” and if in doubt I’ll do things like “file -s” against 2 first (that also shows a label like “DISKn_swap” and if I somehow screwed up the command at most I mess up a swap space so who cares… Also a quick check on a disk to see if I put a Nix on it somewhere…

    I know, none of those are really worth it… but the habits…..:-)

    Once or twice (out of the last 20 years?) being able to do ‘file -s /dev/diskfoo2’ see swap, and do ‘swapon /dev/diskfoo2’ has saved me from memory shortage hell (you can actually skip the file command if desperate as swapon is smart about what it will use). Yeah, not something to drive 20 years of wasted swap slices but…. once you needed it, that stove always looks hot….)

    Though lately I have started skipping the swap slice on new disks. My 2 TB mostly archive not left on the systems disks, for example.. so there is some hope for me ;-)

    Then again, I have been known to move swap to a lesser active disk 2 from a disk where I am about to drive it hard… even with zero current swap usage… But I tell you, that stove WAS hot once… 8-}

  3. E.M.Smith says:

    FWIW, on the clock issue, it looks like for about $7 you can add a real time clock…

    http://www.amazon.com/JBtek-DS3231-Clock-Module-Raspberry/dp/B00ZOZUTMU

    or $9

    http://www.amazon.com/SunFounder-DS3231-Precision-Raspberry-Arduino/dp/B00HF4NUSS

    probably a lot more too… so on my shopping list now are a couple of those, just because time is important to Nix machines… and for the one that runs in a lunch bucket as my portable hot spot, well, it might not have ethernet available when it first boots up…

  4. E.M.Smith says:

    Well, as a test, I’ve installed konqueror on Raspbian. It took 237MB or so! The thing just sucks in libraries like candy.

    There is a barely detectable typeahead as I type this, so it is a touch slower than on Slackware. FWIW, Arch didn’t have the package at all and refused to consider it…

    All in all, it looks like most of the speed comes from konqueror and not from Slackware, but there is likely a little bit that is the Slackware lean speedup. But at what a cost in size!

    Right now, running just “top” and the browser, I have 853.220 MB of memory used and 28732 free, with 4 on swap… I don’t know if any of that is leftover cached bits from the install, but in any case, it is just way large to just run a browser.

    In other news, the apt-get install konqueror or Raspbian worked fine, but did not put an entry in the menu (likely expecting kde instead of lxde desktop) so I’m running it via the command “konqueror” in a terminal window (that is occupied waiting for that command to end until I quit the browser…)

    Next up, I’m going to try editing an article with it again.

    Don’t know if I can really get that enamored of a fat pig of a browser, even if it is fast… Surely somewhere there’s a fast light browser that actually works with WordPress… (Yes, more “dig here”… however reluctantly…)

  5. Regis Llanfar says:

    “853,220 MB of memory…” KB?

    [Reply: Fixed, thanks. Comma, decimal point, UK, USA decisions decisions… ]

  6. Konqueror is probably loading all the KDE libraries in order to run. It is a KDE-based program and you aren’t otherwise using KDE.

    With the move to HTML5 and the imminent demise of Adobe Flash (after security holes were made obvious) the browser will need to cope without plugins. It’s going to get bigger, and small fast ones won’t display the page as intended (that may be a desired feature for me). That also means that my default of not letting Flash run will no longer be enough to stop the most annoying adverts showing. The browser will also need a Java engine built-in. I look back at the days of animated GIFs being the only distraction and the closest thing to bandwidth-hogs with regret. These days it seems the browsers all conspire to get around my attempts to have no moving pictures on the screen unless I tell them to start because I want to see it. I’ll be watching your search for a light browser, that actually is functional enough, with interest.

  7. E.M.Smith says:

    @Simon:

    There is another way to block things. I use a homegrown DNS grounder… but someone else has a better one. I intend to convert and do an article “someday”, but until then, look up “pi hole”.

    https://pi-hole.net/

Anything to say?

Fill in your details below or click an icon to log in:

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