Chapter 5. Installing Slackware Linux

Table of Contents

5.1. Booting the installation CD-ROM
5.2. Partitioning a hard disk
5.3. Installing Slackware Linux

5.1. Booting the installation CD-ROM

The easiest method for booting the installation system is by using the installation CD-ROM. The Slackware Linux installation CD-ROM is a bootable CD, which means that the BIOS can boot the CD, just like it can boot, for example, a floppy disk. Most modern systems have a BIOS which supports CD-ROM booting.

If the CD is not booted when you have the CD inserted in the CD-ROM drive during the system boot, the boot sequence is probably not correctly configured in the BIOS. Enter the BIOS setup (usually this can be done by holding the <Del> or <Esc> key when the BIOS screen appears) and make sure the CD-ROM is on the top of the list in the boot sequence. If you are using a SCSI CD-ROM you may have to set the boot sequence in the SCSI BIOS instead of the system BIOS. Consult the SCSI card manual for more information.

When the CD-ROM is booted, a pre-boot screen will appear. Normally you can just press <ENTER> to proceed loading the default (hugesmp.s) Linux kernel. This kernel requires at least a Pentium Pro CPU. You can boot an alternative kernel by entering the kernel name on the prompt, and pressing <ENTER>. The following table lists the different kernels that are available from the Slackware Linux CD or DVD.

Table 5.1. Installation kernels

Linux Description
huge.s Previously, there were specific kernels for different sets of disk controlers. The new huge kernels include support for all common ATA, SATA and SCSI controllers. This kernel does not have SMP support, and works on i486 and newer CPUs. If you have a Pentium Pro or newer CPU, it is recommended to use the hugesmp.s kernel, even on uniprocessor systems.
hugesmp.s The hugesmp.s kernel has support for common ATA, SATA, and SCSI controllers. Additionally, this kernel has SMP support. This is the recommended kernel on Pentium Pro and newer CPUs.
speakup.s This kernel is comparable to the huge.s kernel, but also includes support for hardware speech synthesizers.

After booting the installation system, you will be asked whether you are using a special (national) keyboard layout or not. If you have a normal US/International keyboard, which is the most common, you can just press <Enter> at this question. After that the login prompt will appear. Log on as “root”, no password will be requested. After login, the shell is started and you can begin installing Slackware Linux. The installation procedure will be explained briefly in this chapter.

5.2. Partitioning a hard disk

Installing Slackware Linux requires at least one Linux partition, creating a swap partition is also recommended. To be able to create a partition there has to be free unpartitioned space on the disk. There are some programs that can resize partitions. For example, FIPS can resize FAT partitions. Commercial programs like Partition Magic can also resize other partition types.

After booting the Slackware Linux CD-ROM and logging on, there are two partitioning programs at your disposal: fdisk and cfdisk. cfdisk is the easiest of both, because it is controlled by a menu interface. This section describes the cfdisk program.

To partition the first harddisk you can simply execute cfdisk. If you want to partition another disk or a SCSI disk you have to specify which disk you want to partition (cfdisk /dev/device). ATA hard disks have the following device naming: /dev/hdn, with “n” replaced by a character. E.g. the “primary master” is named /dev/hda, the “secondary slave” is named /dev/hdd. SCSI disks are named in the following way: /dev/sdn, with “n” replaced by the device character (the first SCSI disk = a, the fourth SCSI disk = d).

Figure 5.1. The cfdisk parition tool

The cfdisk parition tool

After starting cfdisk, the currently existing partitions are shown, as well as the amount of free space. The list of partitions can be navigated with the “up” and “down” arrow keys. At the bottom of the screen some commands are displayed, which can be browsed with the “left” and “right” arrow keys. A command can be executed with the <Enter> key.

You can create a Linux partition by selecting “Free Space” and executing the “New” command. cfdisk will ask you whether you want to create a primary or logical partition. The number of primary partitions is limited to four. Linux can be installed on both primary and logical partitions. If you want to install other operating systems besides Slackware Linux that require primary partitions, it is a good idea to install Slackware Linux onto a logical partition. The type of the new partition is automatically set to “Linux Native”, so it is not necessary to set the partition type.

The creation of a swap partition involves the same steps as a normal Linux partition, but the type of the partition has to be changed to “Linux Swap” after the partition is created. The suggested size of the swap partition depends on your own needs. The swap partition is used to store programs if the main (RAM) memory is full. If you have a harddisk of a reasonable size, it is a good idea to make a 256MB or 512MB swap partition, which should be enough for normal usage. After creating the partition, the partition type can be changed to “Linux Swap” by selecting the “Type” command. The cfdisk program will ask for the type number. “Linux Swap” partitions have type number 82. Normally number 82 is already selected, so you can go ahead by pressing the <Enter> key.

If you are satisfied with the partitioning you can save the changes by executing the “Write” command. This operation has to be confirmed by entering yes. After saving the changes you can quite cfdisk with the Quit command. It is a good idea to reboot the computer before starting the installation, to make sure that the partitioning changes are active. Press <ctrl> + <alt> + <del> to shut Linux down and restart the computer.

5.3. Installing Slackware Linux

The Slackware Linux installer is started by executing setup in the installation disk shell. Setup will show a menu with several choices. You can see a screenshot of the installer in Figure 5.2, “The setup tool”. Every option is required for a complete Slackware Linux installation, but once you start, the setup program will guide you through the options.

Figure 5.2. The setup tool

The setup tool

The first part of the installation is named “ADDSWAP”. The setup tool will look for a partition with the “Linux Swap” type, and ask you if you want to format and activate the swap partition (see figure Figure 5.3, “Setting up the swap partition”). Normally you can just answer “Yes”.

Figure 5.3. Setting up the swap partition

Setting up the swap partition

After setting up the swap space the “TARGET” menu is launched, which you can see in Figure 5.4, “Selecting a partition to initialize”. It is used to initialize the Slackware Linux partitions. Setup will display all partitions with the “Linux Native” type.

Figure 5.4. Selecting a partition to initialize

Selecting a partition to initialize

After selecting one partition, the setup tool will ask whether you want to format a partition or not, and if you want to format it, whether you want to check the disk for bad sectors or not (Figure 5.5, “Formatting the partition”). Checking the disk can take a lot of time.

Figure 5.5. Formatting the partition

Formatting the partition

After selecting to format a partition, you can specify which filesystem should be used (Figure 5.6, “Selecting a filesystem type”). Normally you can choose the ext2, ext3 and reiserfs filesystems. Ext2 was the standard Linux filesystem for many years, but it does not support journaling. A journal is a special file or area of a partition in which all filesystem operations are logged. When the system crashes, the filesystem can be repaired rapidly, because the kernel can use the log to see what disk operations were performed. Ext3 is the same filesystem as Ext2, but adds journaling. Reiserfs is a filesystem that also provides journaling. Reiserfs uses balanced trees, which make many filesystem operations faster than with Ext2 or Ext3, especially when working with many small files. A disadvantage is that Reiserfs is newer, and can be a bit more unstable.

Figure 5.6. Selecting a filesystem type

Selecting a filesystem type

The first initialized partition is automatically mounted as the root (/) partition. For other partitions the mount point can be selected after the initialization. You could, for example, make separate partitions for /, /var, /tmp, /home and /usr. This provides extra protection against crashes. Since / is rarely changed after the installation if you create these partitions, the chance that it will be in the middle of a write operation during a crash is much smaller. Besides that, it is safer to create a separate filesystem for /home. If a program has a security vulnerability, a user could create a hard link to the binary of that program, if the /home directory is on the same filesystem as the /{s}bin /usr/{s}bin, or /usr/local/{s}bin directories. This user will then still be able to access the old, vulnerable binary after the program is upgraded.

The next step is to select the source medium (Figure 5.7, “Selecting the source medium”). This dialog offers several choices, like installing Slackware Linux from a CD-ROM or installing Slackware Linux via NFS. Slackware Linux is usually installed from CD-ROM, so this is what we are going to look at. After selecting “CD-ROM” you will be asked whether you want to let setup look for the CD-ROM itself (“Auto”) or you want to select the CD-ROM device yourself (“Manual”). If you select “Manual” the setup tool will show a list of devices. Select the device holding the Slackware Linux CD-ROM.

Figure 5.7. Selecting the source medium

Selecting the source medium

After choosing an installation source the setup tool will ask you which disk sets (series) you want to install packages from (Figure 5.8, “Selecting the disk sets”). A short description of each disk set is listed.

Figure 5.8. Selecting the disk sets

Selecting the disk sets

Now it is almost time to start the real installation. The next screen asks how you would like to install. The most obvious choices are “full”, “menu” or “expert”. Selecting “full” will install all packages in the selected disk sets. This is the easiest way of installing Slackware Linux. The disadvantage of this choice is that it can take quite much disk space. The “menu” option will ask you for each disk set which packages you want to install. The “expert” option is almost equal to the “menu” option, but allows you to deselect some very important packages from the “a” disk set.

After the completion of the installation the setup tool will allow you to configure some parts of the system. The first dialog will ask you where you would like to install the kernel from (see Figure 5.9, “Installing the kernel”). Normally it is a good idea to install the kernel from the Slackware Linux CD-ROM, this will select the kernel you installed Slackware Linux with. You can confirm this, or select another kernel.

Figure 5.9. Installing the kernel

Installing the kernel

At this point you can choose to make a bootdisk (Figure 5.10, “Creating a bootdisk”). It is a good idea to make a bootdisk, you can use it to boot Slackware Linux if the LILO configuration is botched.

Figure 5.10. Creating a bootdisk

Creating a bootdisk

The following dialog can be used to make a link, /dev/modem, that points to your modem device. (Figure 5.11, “Selecting the default modem”). If you do not have a modem you can select no modem.

Figure 5.11. Selecting the default modem

Selecting the default modem

The next step is to select whether you would like to use hotplug (Figure 5.12, “Enabling hotplugging”). Hotplug is used for automatically configuring pluggable USB, PCMCIA and PCI devices. Generally speaking, it is a good idea to enable hotplugging, but some systems may have problems with the probing of the hotplug scripts.

Figure 5.12. Enabling hotplugging

Enabling hotplugging

The following steps are important, the next dialogs will assist you with installing LILO, the Linux bootloader. Unless you have experience in configuring LILO it is a good idea to choose to use the simple option for configuration of LILO, which tries to configure LILO automatically (Figure 5.13, “Selecting the kind of LILO installation”).

Figure 5.13. Selecting the kind of LILO installation

Selecting the kind of LILO installation

After selecting the simple option the LILO configuration utility will asks you whether you would like to use a framebuffer or not (Figure 5.14, “Choosing the framebuffer resolution”). Using a framebuffer will allow you to use the console in several resolutions, with other dimensions than the usual 80x25 characters. Some people who use the console extensively prefer to use a framebuffer, which allows them to keep more text on the screen. If you do not want a framebuffer console, or if you are not sure, you can choose standard here.

Figure 5.14. Choosing the framebuffer resolution

Choosing the framebuffer resolution

After setting the framebuffer you can pass extra parameters to the kernel (Figure 5.15, “Adding kernel parameters”). This is normally not necessary, if you do not want to pass extra parameters you can just press the <Enter> key.

Figure 5.15. Adding kernel parameters

Adding kernel parameters

The last step of the LILO configuration is selecting where LILO should be installed (Figure 5.16, “Choosing where LILO should be installed”). MBR is the master boot record, the main boot record of PCs. Use this option if you want use Slackware Linux as the only OS, or if you want to use LILO to boot other operating systems. The Root option will install LILO in the boot record of the Slackware Linux / partition. Use this option if you use another bootloader.

Figure 5.16. Choosing where LILO should be installed

Choosing where LILO should be installed

You will now be asked to configure your mouse. Select the mouse type from the dialog that appears (Figure 5.17, “Configuring a mouse”).

Figure 5.17. Configuring a mouse

Configuring a mouse

You will then be asked whether the gpm program should be loaded at boot time or not (Figure 5.18, “Choosing whether GPM should be started or not”). gpm is a daemon that allows you to cut and paste text on the console.

Figure 5.18. Choosing whether GPM should be started or not

Choosing whether GPM should be started or not

The next few steps will configure network connectivity. This is required on almost every networked system. The Slackware Linux setup will ask you if you want to set up network connectivity (Figure 5.19, “Choosing whether you would like to configure network connectivity”). If you answer “No” you can skip the next few network-related steps.

Figure 5.19. Choosing whether you would like to configure network connectivity

Choosing whether you would like to configure network connectivity

You will now be asked to set the hostname (Figure 5.20, “Setting the host name”). Please note that this is not the fully qualified domain name (FQDN), just the part that represents the host (normally the characters before the first dot in a FQDN).

Figure 5.20. Setting the host name

Setting the host name

After setting the host name you can set the domain name part of the fully qualified domain name (FQDN) (Figure 5.21, “Setting the domain name”).

Figure 5.21. Setting the domain name

Setting the domain name

The rest of the network configuration steps depend on whether nodes in the network are configured to use a static or a dynamic IP address. Some networks have a DHCP server that automatically assigns an IP address to hosts in the network. If this is the case for the network the machine select DHCP during this step of the installation (Figure 5.22, “Manual or automatic IP address configuration”). When DHCP is selected you will only be asked whether a host name should be sent to the server. Normally you can leave this blank. If you use DHCP you can skip the rest of the network configuration described below.

If the network does not have a DHCP server you can choose the static IP option, which will allow you to set the IP address and related settings manually.

Figure 5.22. Manual or automatic IP address configuration

Manual or automatic IP address configuration

The first step of the manual configuration is to set the IP address of the first interface (eth0) of the machine (Figure 5.23, “Setting the IP addres”).

Figure 5.23. Setting the IP addres

Setting the IP addres

After setting the IP address you will be asked to enter the netmask. The netmask is usually dependent on the IP address class (Figure 5.24, “Setting the netmask”).

Figure 5.24. Setting the netmask

Setting the netmask

You will then be asked to set the address of the gateway (Figure 5.25, “Setting the gateway”). The gateway is the machine on the network that provides access to other networks by routing IP packets. If your network has no gateway you can just hit the <ENTER> key.

Figure 5.25. Setting the gateway

Setting the gateway

The next dialog will ask you whether you want to use a nameserver or not (Figure 5.26, “Choosing whether you want to use a nameserver or not”). A nameserver is a server that can provide the IP address for a hostname. For example, if you surf to www.slackbasics.org, the nameserver will “convert” the www.slackbasics.org name to the corresponding IP address.

Figure 5.26. Choosing whether you want to use a nameserver or not

Choosing whether you want to use a nameserver or not

If you chose to use a nameserver, you will be given the opportunity to set the IP address of the nameserver (Figure 5.27, “Setting the nameserver(s)”).

Figure 5.27. Setting the nameserver(s)

Setting the nameserver(s)

The final network settings screen provides an overview of the settings, giving you the opportunity to correct settings that have errors (Figure 5.28, “Confirming the network settings”).

Figure 5.28. Confirming the network settings

Confirming the network settings

After the network configuration you can set which services should be started (Figure 5.29, “Enabling/disabling startup services”). You can mark/unmark services with the <SPACE> key.

Figure 5.29. Enabling/disabling startup services

Enabling/disabling startup services

Traditionally the system clock is set to the UTC timezone on UNIX(-like) systems. If this is the case, select Yes during the next step (Figure 5.30, “Choosing whether the clock is set to UTC”). If you also use a non-UNIX(-like) OS on the same system, like Windows, it is usually a good idea to choose No, because some PC operating systems do not work with a separate system clock and software clock.

Figure 5.30. Choosing whether the clock is set to UTC

Choosing whether the clock is set to UTC

You will then be given the opportunity to select the time zone (Figure 5.31, “Setting the timezone”). This is especially important on systems that have their system clock set to UTC, without selecting the correct timezone the software clock will not match the local time.

Figure 5.31. Setting the timezone

Setting the timezone

If you installed the X Window System you can now set the default window manager (Figure 5.32, “Choosing the default window manager”). The most basic functionality of a window manager is to provide basic window managing functionality like title bars. But some options, like KDE, provide a complete desktop environment.

Figure 5.32. Choosing the default window manager

Choosing the default window manager

The final step is to set the root password (Figure 5.33, “Setting the root password”). The setup will ask you whether you would like to set it or not. There is no reason not to do this, and without a root password your system is dangerously insecure.

Figure 5.33. Setting the root password

Setting the root password

At this point you have completed the Slackware Linux installation. You can now reboot the system to start your fresh new Slackware Linux system. It wasn't that hard, was it? ;-)

Figure 5.34. Finished

Finished