The way it is structured with the software sets reminds me of my first !SuSE installations. Back then it was !SuSE 4.4 I think. The Slackware-HOWTO seems to be the document I really need. I will download the first two ISO images and see how far I get.
(Why switch from Debian? First, I was using Debian unstable which means that I got a lot of package upgrades and every now and then some breakage – like the day when Claudia really needed a CD and cdrecord was broken… Debian stable didn’t cut it because over the months and years I wanted to try this or that package which was only available in unstable. So I switched. All the upgrading also meant new libraries now and then. And that meant that the stuff I built myself in /usr/local had to be rebuilt now and then because it, too, would fail after a while. So basically, apt-get was not only installing the good stuff, sometimes it was also installing the bad stuff. Self-compiling was also risky because the libs changed now and then. And Debian stable was too old. So I switched.)
Get the Slackware Linux Project key, or download it from their website.  I saved the file as /tmp/gpg-key
gpg --import /tmp/gpg-key
Now you can verify the two ISO images:
verify slackware-10.0-install-d1.iso.asc \
gpg verify slackware-10.0-install-d2.iso.asc \ slackware-10.0-install-d2.iso
You’ll get the following message:
gpg: Signature made […] using DSA key ID […] gpg: Good signature from “Slackware Linux Project <email@example.com>” gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
The warning is correct, unless your GPG already contains an unbroken trust chain between you and the Slackware Linux Project. Oh well. You could go ahead and sign the key yourself. After all, you’re going to install their operating system, and if you don’t trust them, who are you going to trust? But it is not an easy decision to make.
Instead of trusting parted, I booted from Knoppix and moved the contents of my entire root partition (on /dev/hdb1) into another partition (/dev/hdd7), and repartitioned /dev/hdb using fdisk. A few days ago I was too lazy and had chosen /dev/hdb as my new root partition and had left it at 120GB. I made five partitions:
; /dev/hdb1: 10GB – the root for my Debian Unstable system ; /dev/hdb2: 10GB – the new root for my Slackware 10.0 system (I hope) ; /dev/hdb3: 20GB – unknown use ; /dev/hdb4: This one contains the extended partitions. ; /dev/hdb5: 20GB – unknown use ; /dev/hdb6: 60GB – unknown use, probably for media files later on
I then moved the root stuff back from /dev/hdd7 to /dev/hdb1 and reinstalled grub just to be on the safe side:
grub-install --root-directory=/dev/hdb1 /dev/hda
And it worked! Downloaded the ISO images, burnt them on a CD:
cdrecord -data driveropts=burnfree -device = … (must find this commandline)
Installing, I chose /dev/hdb2, full installation, made sure to select the KDE internationalization software set, did what needed doing, ended up creating a new user:
And here I am…
I later decided to give the bareacpi.i kernel a try, because the computer is new and therefore the motherboard supports ACPI. Cool! Now halt really does switch the computer off, instead of just spinning down the disks.
Strangely enough I was unable to do this via the pkgtool → Setup menu. Maybe because I forgot to specify the target again? Oh well. In the end I manually copied the files from the kernels/bareacpi.i directory on a slackware mirror as follows:
And then I relinked it:
ln -sf System.map-ide-acpi-2.4.26 System.map ln -sf config-ide-acpi-2.4.26 config cp vmlinuz-ide-acpi-2.4.26 vmlinuz
I copied the kernel instead of linking because the old copy was not a symlink either.
I also decided to switch from grub on the Debian partition to a new lilo. Here’s my /etc/lilo.conf:
boot = /dev/hda install = menu prompt timeout = 100 change-rules reset vga = normal image = /boot/vmlinuz root = /dev/hdb2 label = Linux read-only other = /dev/hda1 label = DOS table = /dev/hda
Don’t forget to run ‘lilo’ after changing the file! I get the following warning but it seems to have no effect:
Warning: The boot sector and map file are on different disks.
The MBR no longer contains grub, so I can no longer boot the Debian root partition. But who cares. ;)
The DOS partition is for the ComancheGame. I actually haven’t played it on my new computer. Must try it immediately. […] Update: I no longer have a game port on this computer! No joystick!? And the soundcard is wrong, of course. And I have no DOS driver for my NEC3500A! ARGH!
Sound not working… Hm. There was some confusing info when booting, so I tried to fiddle with it. Then I turned to the web and found a report of how somebody else got sound working.  And it turns out that all I forgot was to run alsaconf! Everything just worked… I then ran alsamixer, reduced the volume a bit, and used alsactl store to save this setting. Worked! The motherboard said I had a !SoundMax Digital Audio System with a DLS2 MIDI synthesizer with Yahama !DLSbyXG sound set and blabla. At the very beginning of the booklet, however, it had a much better description: ADI AD1888 6-channel audio CODEC. After running alsaconf, alsamixer now shows me that I have the card SiS S17012 and the chip Analog Devices AD1888 – and that matches the info I have from the booklet. Cool! I think I like Slackware. ;)
Yeah, and I removed the system beep: Edit /etc/inputrc, and uncomment “set bell-style none”.
X is working without any single extra keypress. When I compare this to the good ol’ days with X -probeonly and other crud…
I did change a few things in /etc/X11/xorg.conf. I uncommented the following settings:
; Option “!DontZap”: Emacs uses C-M-<backspace> ; Option “!XkbLayout” “de”: Need the correct layout when typing my password…
For a graphical login box, edit /etc/inittab and change “id:3:initdefault:” to “id:4:initdefault:”.
I also had to run gdmconfig to enable the “action” menu which allows us to reboot or halt the system from the login prompt.
For my Touchstream keyboard I had to run mouseconfig again. This fixed gpm. Just choose an USB mouse. X11 was a bit tougher but pgas helped me out: In /etc/X11/xorg.conf, add an input device for the old mouse and and add the server… Then you can use both keyboards and both the old mouse and the mouse built into the Touchstream keyboard.
Section “InputDevice” Identifier “Mouse2” Driver “mouse” Option “Protocol” “PS/2” Option “Device” “/dev/psaux” EndSection
In the Section “!ServerLayout”:
InputDevice “Mouse2” “SendCoreEvents”
Got some fonts from Explorer language packs from the net (eg. Google:msmincho+download) and saved them in /usr/X11/lib/fonts/TTF. Then run the following in /usr/X11/lib/fonts/TTF:
/usr/X11R6/bin/mkfontdir . /usr/X11R6/bin/fc-cache
And immediately the Chinese text on http://www.oddmuse.org/ looks ok!
Copied them from my old Debian partition into /usr/X11R6/lib/X11/fonts/local/:
cd /usr/X11R6/lib/X11/fonts/local/ cp /mnt/debian/usr/X11R6/lib/X11/fonts/misc/neep-* .
For xfig I wanted some new ghostscript fonts. I downloaded the ghostscript-fonts-std-8.11 tarball  and unpacked the fonts into /usr/local/share/fonts. This time the directory was not on the fontpath.
I added this line to /etc/X11/xorg.conf:
In the current session, I also ran:
xset +fp /usr/local/share/fonts/ xset fp rehash
If you want to use version control from within Emacs, you need ssh-agent or something similar.
In your /.bashrc:
Reading /opt/kde/share/config/kdm/Xsession I found out that /.xprofile is sourced before the window manager is started. Excellent! I verified that other X Display Managers (eg. XDM) support it as well – I looked at /etc/X11/xdm/Xsession, for example.
In your /.xprofile:
Before using ssh, be sure to run ssh-add somewhere. I usually just run it from the command-line… I don’t bother installing it in an init script somewhere.
Right, decided to go with KDE because I liked the way Knoppix 3.4 looked.
I also note that Konqueror doesn’t understand UTF-8 in the default CSS for my website. Grrr. External links are supposed to be prefixed with an arrow pointing up and right. I get three weird bytes on Konqueror…
Ok, now we’re doing the real thing. Instead of apt-get update and apt-get upgrade, I’ll have to do some more work. First, get all the patches (got that info from #slackware @ freenode):
This will take a while. I put them in /usr/local/slackware-10.0.
Signature verification: Import the key as described above, and then verify all of the files:
for f in *.tgz; do gpg --verify $f.asc $f; done
Next, run pkgtool as root in the directory, choose Current and click Ok dozens of times to install all the packages.
I think that should be pretty painless from now on. Use the -c option for wget and rerun to update packages, run pgktool… About as easy as using apt-get, I think.
In the future, I’ll have to check the ChangeLog.
I noticed that I was unable to fetch mail from fencepost.gnu.org:
116 messages for alex at fencepost.gnu.org (836995 octets). fetchmail: cannot get a range of message sizes (1-100). fetchmail: client/server protocol error while fetching from fencepost.gnu.org fetchmail: Query status=4 (PROTOCOL)
Googling the error message brought me to a thread on a Free BSD mailing list  that had the correct workaround: I added fetchsizelimit 1 to my /.fetchmailrc.
Hm. I don’t have a domain name, so something’s wrong. Just got a mail back saying
Diagnostic-Code: SMTP; 501 5.1.8 Domain of sender address firstname.lastname@example.org does not exist
I can’t remember what I did on Debian with Exim4. And I can’t remember how I added SMTP_AUTH. And eventhough I really tried, the config files and the documentation for sendmail are… monstrous. So I’ll just leave it installed with all the defaults and add SmtpMail and SmtpAuth to my /.gnus file. I also installed Thunderbird, just in case.
For managing stuff installed in /usr/local, I use stow. There is no stow package, however, so I had to download it from the homepage.
Trying to prepare Slackware packages for myself only is a waste of time. Just install into /usr/local and use stow.
BitlBee is an indispensable IRC server that acts as a gateway to ICQ and AIM. Thus, I can use irssi to chat on ICQ and AIM. Awesome! 
After installing it, I added the following line to /etc/inetd.conf:
ircd stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/bitlbee
If you use BbdbMode, you need CompFace for that big brother feeling… These here are from the Cygwin port (!!), and renamed from uncompface.exe and compface.exe. I was unable to compile plain 1.4 source code, and too lazy to investigate.
GregScott says that Google turned up the following fix for the compface-1.4 problem: Apply the following patch to both cmain.c and uncmain.c.
60,61c60,61 < extern int errno; < char *strerror(); — > #include <errno.h> > #include <string.h>
I don’t start httpd per default. If I want, I can always start it later:
I linked the current Oddmuse script into the cgi-bin directory:
ln -s /mnt/src/oddmuse/wiki.pl /var/www/cgi-bin/
And I enabled the Option !FollowSymlinks in /etc/httpd.conf in the directory section for /var/www/cgi-bin.
To restart Apache once it is running (after a change to the config file), use:
Perl 5.8.4 comes without any modules from CPAN. You have to install everything yourself, or so it seems. I had to start with LWP::!UserAgent...
(I used to have a weird problem: The CPAN shell would keep trying to install a module called JUNOS! I finally figured it out after googling for it: If you type
It sure feels weird to run the cpan shell as root.
I was happy with AntiWord for reading the occasional Word document I got by mail and never had any use for !AbiWord and KWord that came with Slackware. When I got a mail from a newspaper guy with an article of mine and revision control, I had to install something better. Got myself !OpenOffice directly from their website.
If there’s more than one user on your system, be sure to use the -net parameter when installing as root. Then, every user has to run setup again to install some files into the home directory.
I’m using an OpenWlan without encryption. The Apple !AirPort Express supports both WEP and WPA Personal, but I can’t get the Netgear WG-311T to work with encryption. Without encryption, it works.
Got the madwifi drivers from cvs, make, make install,
In my /etc/rc.d/rc.local I wrote:
ifconfig ath0 up dhclient ath0