Installing Slackware Linux 14.2

Introduction

These are the steps I followed to install Slackware Linux 14.2 on an Acer Aspire 1642ZWLMi:

Installing

First we enter the computer BIOS at boot time with F2, then we change the boot order, putting first the CDROM before the Hard Disk. Then we put the Slackware 14.2 DVD and reboot.

Our computer does not support PAE, so the SMP kernels don’t work. I had to select the non SMP kernel, so I typed huge.s at the first screen to boot the huge non SMP kernel.

At the keymap selection, I selected the mapping es.map .

Now we type root and run cfdisk to make the partitions. Windows already occupies 2 partitions, one for recovery and another for the OS. I make two more partitions, primary, the first a Linux partition (34 Gb), the last a Linux swap partition (1.5 Gb approx). I make the Linux partition bootable. It would be better to make a /home partition separated, so we can reinstall the system without touching it, but it is difficult to know how much we will need for this partition and how much for root /.

Now we run setup and /dev/sda3 will be our root partition and /dev/sda4 our swap partition. Slackware detects our Windows Xp partition, so we add it to fstab with read-only mode for everyone but read-write for root. The Windows partition will be /dev/sda2.

Now we select the software collections to install. We choose everything except KDE, KDEI and EMACS (because we use XFCE for desktop and VIM as editor).

For the lilo options, we choose standard console, enabling UTF-8 console. Finally we install lilo on the MBR.

We select the USB mouse driver (but it seems the installation selectes imps2 anyway) and let Slackware install this in /etc/rc.d/rc.gpm: /usr/sbin/gpm -m /dev/mouse -t imps2.

For the services, I only let enabled fuse, messagebus and syslog. We use the clock in local time and don’t use ntpd, to not confuse Windows. We will have to boot Windows in Spring and Autumn to set the clock or run this:

# Sinchronize with Internet time.

ntpdata -s es.pool.ntp.org

# Synchronize BIOS clock.

hwclock --systohc

For the timezone we select Europe/Madrid.

For the network, we select NetworkManager and something like acer and home.sdfeu for domain.

Configuring

Now we can boot the system. Remove the DVD and change again the boot order to be the HDD first.

Now first, we make a new user running adduser. In the groups selection, we add him to users, and in the extra groups selection we press the up arrow key to show more groups, and add him to those groups.

Next, to enable slackpkg we run vi /etc/slackpkg/mirrors, find bytemark and enable (uncomment) the http server for it.

Now we are going to remove some packages by using pkgtool:

Ok, now we want to enter the desktop at reboot. We edit /etc/inittab and change the runlevel from 3 to 4 on the line: id:3:initdefault:. Now we reboot.

The WIFI is not recognized by default (or I don’t know how to do it). We open a console and type nmcli d wifi to see the list of WIFI networks. Now that we know which is ours, we run nmcli d wifi connect our_network_name name name_we_want_to_call_it. Remember to press the WIFI button on the computer to enable it.

Now we can update the system. We run slackpkg update and slackpkg upgrade-all.

Ok, now, to recognize our Spanish keys, we go to Settings - Keyboard and select an Acer Laptop keyboard, add a Spanish keymap (Spanish with dead tilde) and remove the English keymap.

The first time we ran the desktop, XFCE created some folders in our home folder: Documents, Downloads, etc. Now that those names are in English, we are going to change our profile language. For that, we create a .profile file at home with this:

export LANG=es_ES.UTF-8
export PATH=$PATH:~/bin

The second line is to enable some scripts we will put in our home bin folder.

Now, if we reboot, the desktop should be in Spanish.

To have colors in the X terminal, we create a .bashrc at home with:

if [ "$TERM" != "dumb" ]; then
    alias ls='ls --color=auto -F'
fi

We add pulseaudio-plugin to the XFCE panel (Settings - Panel).

At this moment, we have occupied 6.6 GB.

Installing the generic kernel

We are using the huge kernel. To install the generic kernel we use the instructions in the Slackware doc wiki.

As we use a non SMP kernel, but we have the kernel headers installed as the SMP kernel, we can patch it. For that, we go to the DVD, to /extras and enter linux-4.4.14-nosmp-sdk. Here we can run patch-to-non-smp.sh to patch them. This is just in case we need to build modules in the fufure.

If the kernel gets upgraded at some point by slackpkg we first run lilo after the upgrade (slackpkg will remind us about this).

Then we restart the system but select the huge kernel in the lilo menu (LinuxHuge).

Then we will follow these steps again, except that we will have to download the patches for the sources of the non-smp kernel instead of using the CD. For example:

wget -r -l1 --no-parent http://mirrors.slackware.com/slackware/slackware-14.2/patches/packages/linux-4.4.19/linux-4.4.19-nosmp-sdk

Slackbuilds

Now we are going to install sbopkg to be able to install www.slackbuilds.org packages. We go to the sbopkg web site and download it. Then we run installpkg sbopkg_name to install it. Now we can run it normally. These are some packages and dependencies that we have installed:

I have installed gst-plugins-bad, gst0-plugins-bad, gst-plugins-ugly, gst0-plugins-ugly, with a lot of codecs. I don’t know if I will need them or not.

System logs

We have several jobs by default at /etc/cron.daily, in particular those that clean the logs that the system generates, but they are scheduled to run at 4:40 AM and we are not a server, we never turn on the computer at that time. So the logs grow and grow. As far as I know this happens with other distributions, a casual desktop user does not know about it. It happened to me when I was running Debian long time ago that the /var partition got full.

We are going to handle this manually. We have a script ~/bin/run-dalily-jobs-now.sh that can only be run by root and runs those jobs immediately:

#!/bin/sh

/usr/bin/run-parts /etc/cron.daily 1> /dev/null

We run this script from time to time, for example each week.

Another option that should work is not to enable syslogd, but maybe other processes generate logs without using it… I don’t know.

Playstation 3 controller

NOTE: This was for 14.1, on 14.2 it is not needed.

We have a file called 99-joystick.rules:

# Add this file to /etc/udev/rules.d/ to make the playstation 3
# controller to work for all users (they will have permission)
KERNEL=="event*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0268", MODE:="0644"

Fix Firefox “Open containing folder”

Firefox is opening Audacious whenever I select “Open containing folder” in the Downloads list. To fix it:

  1. Edit /usr/share/applications/mimeinfo.cache
  2. Find inode/directory
  3. Remove the string audacious.desktop;