**This is an old revision of the document!**

Installation

The first step in creating Slackermedia is to install Slackware and configure it for your machine. It is strongly advised that a user be familiar with GNU, Linux, BSD, or UNIX before attempting to build a Slackermedia system. However, it is hardly unheard of (and in fact, arguably best) for someone to start their Linux journey with Slackware. This chapter will guide you through the install process and it will attempt to flag potential points of confusion.

There is no way for this book to anticipate every problem possible, but there are many resources online to help a new Linux or new Slackware user through the installation process, not the least of which is the official Slackware documentation at docs.slackware.com. Some support for installation is available via http://linuxquestions.org, which is a forum run by volunteers, so be patient, friendly, and do as much research as possible before asking questions so that the answers that you do get are not redundant to your efforts.

If you are looking into using Slackermedia for a large user base and you require paid support, contact the author to discuss options.

Off-the-Shelf Linux Systems

Computers are mostly sold with an operating system already installed and configured by the OEM vendor. If that is the experience that you seek, then you should purchase computers from http://zareason.com or //system76.com, or any vendor offering any kind of pre-installed Linux. With Zareason, you can even request a Slackware install, but even if the vendor will not pre-install Slackware, at least when you purchase from a Linux-oriented vendor, you know that the hardware is tested for compatibility, which makes the install process nearly trivial.

Hardware Selection

If you do not have the money or inclination to purchase a pre-approved Linux computer, you can install Slackware yourself. You can even build your own workstation from parts, if you are looking for higher-than-usual performance, or you just happen to enjoy building your own PC.

If you are a starving artist with strong technical tendencies, then you can even rescue a computer from a dumpster (either figuratively or literally), fix it up as needed, and then install Linux.

If you have never installed an operating system, you will probably find it far easier than you might imagine, as long as you choose the right hardware. Most problems in a Linux install occur due to closed source drivers, so choosing hardware that is designed to make a user's life easy will save you time and effort.

The Linux kernel has become famous for its hardware support, but it never hurts to research what you are about to purchase with real-world case-studies. There are a handful of sites on the internet dedicated to analyzing how different hardware works with Linux, which works best as a boolean determination of compatibility; it can accurately be measured whether something does or does not work with Linux. Degrees, however, are harder to ascertain, since one person's requirements for performance might be drastically different than another person's.

The best way to make sure hardware works to the degree needed from a multimedia artist is to test the hardware. Burning a liveCD of a multimedia distribution and taking that disc to a computer store and rebooting the target machine into Linux is a very good way to judge hardware Linux compatibility and performance.

While liveCDs will run slower than running an OS from the harddrive, it should still give the user a good idea of severe problems, and the user should make some allowances for the fact that the test is being performed on a liveCD.

If specific multimedia peripherals are required to work as well, they can be judged separate from the workstation itself. Regardless of what computer is purchased, the Linux kernel either does or does not have support for a peripheral. An online search or tests at home on any computer available should reveal whether or not an interface or peripheral is recognized and usable on Linux.

The computer market can be confusing and it is often difficult to know what actually has a pragmatic significance in multimedia. In other words, all things being equal, where in a computer system should a buyer spend money? Some general things to keep in mind:

CPU

There was a time when every last megahertz really did matter to the end user, but lately most CPUs have reached a mostly-equal plateau in speed. Brands and model names will advertise different features but generally speaking any general-purpose computer AMD or Intel 64-bit CPU will do as well with multimedia as another. “General purpose” excludes chips designed specifically for netbooks and other ultra-portable or low-power devices.

CPUs process data, so the jobs that benefit most from multiple CPUs or very fast CPUs are processing-heavy activities such as video compression, non-realtime special effect rendering, realtime audio effect generation, audio effect rendering (sometimes called “freezing” in a DAW), large image conversion, audio file conversion or compression, and so on. Very broadly speaking, it could be said that the CPU matters most on jobs that involve pressing a button and then getting up and going for a cup of coffee in anticipation of having to wait for the job to be complete. Some of these jobs will literally last for days, others may only be a few seconds past the point at which a typical user becomes bored with waiting.

If you are going to do to do graphically-intensive work such as 3d modeling, digital painting, or video editing, then go with a mid-range CPU and spend more money on a good graphics processor.

If you are going to do audio work, put your money into CPU and RAM, and spend less on the graphics card.

Finally, do not be confused by branding. Intel and AMD are basically the same in function and performance from a practical standpoint. The brand should never be a deciding factor.

RAM

How much RAM you have dictates, largely, what size projects your system can comfortably handle. Audacity. for instance, will be responsive with a 30-second spot but will feel sluggish with longer projects, or projects with a great many tracks. GIMP will do well on web graphics but struggle with for-print graphics. This is simply because information is moving in and out of RAM; upgrade the amount of RAM, and the applications will function more consistently.

The speed of RAM is less talked about in consumer electronics, but the overall responsiveness of the system is greatly dependent upon it. The faster the RAM, the faster the information can be moved from RAM to CPU for processing, so given the choice, purchase the faster RAM. On the other hand, if money is an issue, try to find a happy medium between storage space and speed.

The old adage that “you can never have too much RAM” has not held up all that well with time, at least not on a normal desktop or laptop (render farms and RAM disks are notable exceptions). Realistically, you can only be doing so many things at once, so unless you just open up every large project simply to spite your computer, some RAM will end up net being used. So get a lot of RAM, but if price is an issue, only get a little more than you anticipate needing. If you have money to spend, get some extra RAM for comfort, but don't go overboard unless you are actively building a render farm.

Hard drive

Hard drives are quite reasonably priced, so more is probably better, and financially possible for all but the most severest of budgets. Less affordable are Solid State Drives (SSD), but the performance increase is so remarkable that it is strongly suggested that you purchase an SSD drive for at least part of your system; since it only needs to house the applications, it can be a small drive (16gb or 32gb will do, considering that the entire Slackware distribution, uncompressed, is only about 10gb).

An ideal, but still affordable, setup would be one SSD drive to hold the binary, executable applications that run your computer (and the multimedia applications which you will run on a daily basis), one standard hard drive to house all of your data as well as the system data, and a third standard hard drive to perform constant backups.

Graphics Card

A powerful graphics card is quite important if you will be doing video and graphics work. For serious visual multimedia, it is very likely that you will need to install a proprietary graphics card driver since the companies do not release their driver code as free software. This is unfortunate and taints an otherwise open source system, but the performance increase can be measured in orders of magnitude.

If you are not doing intensive video or graphics work, then probably your only concern with a graphics card is whether it will work and handle the basic visual needs of your system. For these low-end to mid-range cards, the drivers can come from Nvidia, ATI, or Intel, or from the Linux (actually Xorg) developers. Performance can usually be gauged in tests at any computer store.

Whether you're looking for a high-performance card or a mid-range card, you can always determine the official support by going to the chipset manufacturer's website and finding a download (or lack thereof) for the card. If the download is there, you are at least guaranteed performance for that chipset, on the kernel or kernels for which the code was released.

Otherwise, look on the X.org website to see if they have a driver for the card you are looking to buy (or buy along with a laptop or pre-built system), and take note of what kind of performance results are being seen with those drivers on that card.

Not out of allegiance for a particular brand, the best bet for graphics are pragmatically Intel for light graphic work (photos, still image compositing, some 3d titling, light video editing) and Nvidia for moderate-to-high graphic work (serious 3d modeling, complex video editing, animation, video compositing, large-format photo work). Nvidia is infamously proprietary and secretive, but they do actively maintain their code, and it performs well. Developers hate them, but in terms of results, they are the high-end graphics to use.

Currently, it is recommended that you avoid AMD (formerly ATI) graphic cards.

GPU Tests

Buying a GPU is nearly as complicated as buying a computer. GPU cards have processor clock speeds, RAM, RAM speed, bus speed, fans, a variety of possible monitor outputs, and may even require additional power to run.

Actually using a GPU notwithstanding, the best way to get a feel for GPU performance is to keep a finger on the pulse of the GPU market, especially within either the visual effects or the gamer community. The VFX community would presumably be the most apropos group to follow, but they tend to be less verbose about the gear they use than the gamer community. Since so much of gaming depends on realtime GPU performance, and gamers are some of the most demanding computer geeks alive, and they tend to take pride in their computer builds. Consequently, when gamers rave about a GPU, you know that the GPU is worth the money.

The general-purpose multimedia community is usually less reliable, since so many of the users in that space don't actually know what a GPU or a CPU does. They generally know a lot about video editing or 3d modeling, but not much about the technical side of what makes it all happen.

A GPU's performance is defined primarily by how much video memory it has, and how fast its processor is. Look at a card's specs, and find out the clock speed and the amount of memory, and use these numbers to determine what to expect from the card.

A few unscientific tests to determine the real-world performance of a graphics card, should you have the opportunity to test it in a computer store before buying, is to go burn an image of Slax, a portable live Linux distribution based on Slackware. Take the CD (or USB drive, if you're savvy) to a computer store and put it into any display computer and reboot. For a full explanation of how to use Slax, see the website http://straightedgelinux.com/slax.

  1. Launch KDE's System Settings and turn on Desktop Effects in the Desktop pane.
  2. Navigate to the All Effects tab and turn them all on.
  3. Close System Settings (saving your changes). If any of the effects are not able to be activated, then that GPU is obviously limited (or its driver is).
  4. Assuming all the effects can be enabled, open a few windows (Dolphin, Konsole, konqueror, and so on) and play a video in Dragon; while the video is playing, use alt-tab to switch between the windows.
  5. If the video and its reflection continues to play smoothly through the animated switching, the card will more than likely be a suitable card for at least moderate to heavy video work and other multimedia creation.
  6. Continue to add more videos, and continue to alt-tab to test the limits of the card. Take note of flickering, stuttering, and other distortion.


If you have time and the skill for Blender, test it out on the computer. If Blender performs well, then the card is probably well-suited for any other visual work you have in mind for it.

Sound card

Play sound to ensure that the speakers are being recognized and are supported by the Linux kernel. Assuming that the computer does provide sound, try playing multiple sources of sound and test how the audio card handles multiple tasks. Obviously, the more robust the card, the better, but in most computers the real test is simply whether or not the sound card is recognized. For multiple inputs and outputs, an additional, more professional sound card or interface will need to be added.

Audio difficulties usually arise from either HDMI (the computer might see HDMI as the primary output, but most speakers plug into the 3.5mm jack), or from dual-purpose audio jacks (a horrendous invention that combines the output for headphones with the input for a microphone, meaning that you can never have both plugged into your computer at once).

If audio does not appear to work during your tests, chances are that it will either never work, or it will work only after much re-configuration. Consider that before you purchase.

If you are having problems in your sound tests, find out the specs of the audio card with the command aplay -l and then research the model online.

Wireless card

Although this is less of a problem now than it has been historically, there are wireless network cards that simply do not have Linux drivers. Recently more drivers have been developed and hacks around the lack of drivers have been implemented, but a cursory test of the wireless card is worth while. If it is not recognized, issue the command lspci on the command line and look through the listing to find the card's chipset. Perform an online search to find out how well supported the chipset is and review the necessary steps that will need to be taken for the card to function.

The go-to site for wireless information on Linux is https://wireless.wiki.kernel.org.

Webcam

Webcams are generally well-supported in Linux, even if they are not recognized out of the box. If the webcam is vital, launch vlc to test whether the webcam is recognized.

  1. Launch vlc; install if it is not already on the liveCD
  2. Navigate to the File menu and choose Open Capture Device
  3. How the webcam will be seen is difficult to predict; it might be listed as /dev/video0 or it may be some other name, and it may use the video4linux (v4l2) driver or the UVC driver.
  4. Play around with the settings, look at the /dev listing in a terminal as needed, and see if you can get an image from the webcam when you press the Play button in the capture device window.

Miscellaneous Considerations

Anticipate what might be required of the multimedia system and take this into consideration whilst considering the purchase. The outward appearance of a computer matters not at all compared to its capabilities. Proprietary connection types and a lack of common features like an optical drive or SD card reader will only complicate the always complex task of importing media.

If it is not a new computer being purchased, but a used computer, the same tests should be performed, in addition to common physical tests, such as ensuring all of the ports are functioning, the optical drive functions as expected, the harddrive is healthy, and so on.

In all cases, the commands lspci » lspcicomputerModel.txt and aplay -l » aplaycomputerModel.txt should be performed, and the resulting files (lspcicomputerModel.txt and aplaycomputerModel.txt) should be saved to a thumbdrive for later review. The lspci command lists all internal components such as the graphics card, amount of RAM, wireless card, and so on. Some commands to bear in mind in general:

  • lspci lists all major internal components including revision numbers and much more
  • cat /proc/cpuinfo lists all details on the CPU(s)
  • free -g reveals how much RAM is in the system in gigabytes
  • df -h reveals free disk space in human readable format; useful for checking the size of the harddrive

Desktop or Laptop?

It's financially advantageous for computer manufacturers to claim that their laptops are as powerful as traditional desktop computers; it encourages people to buy laptops, which feature lower-specs for higher prices. These claims seem true at first glance. After all, if someone is editing a video clip on a laptop then the marketing must have been right.

The truth, of course, is that laptops have lower-specs than a desktop that is even a fraction of its price, so for the same amount of money as one might spend on a good laptop, a downright amazing desktop could be purchased. And for every professional artist you see working on their masterpiece on a laptop in either a glossy magazine ad or in a trendy cafe, there are ten real artists working on actual productions at their desktops.

If it is horsepower you seek, then you should invest in a desktop machine. If you are more flexible with how much raw power you have at your immediate disposal and value mobility, then obviously a laptop is probably a better choice.

Building Your Own System, and Ideal Specs

Building your own system from parts is the best possible option you have in terms of finances and control. Useless parts are not forced upon you, you can achieve a perfect balance of all the different features and capabilities you need, and there always room for expansion.

A computer consists of a few main parts that can be bought individually from any good computer store. You must ensure that all of the parts fit together properly, which can be tricky for beginners, but if you read the descriptions of the items carefully and match all of the part numbers and types together, then you will be able to assemble it with success.

If you are unsure about what you've chosen, find an IRC server where you can chat with Linux geeks, and ask them about the parts you've chosen. Slackermedia itself maintains an open IRC channel on the irc.freenode.net network.

Balancing cost with performance is obviously an eternal struggle. Keep in mind what you really want from your computer, and spend your money accordingly. For graphics and video, concentrate on the graphics card; for audio, lean toward the CPU and RAM, and possibly an extra audio card or interface, and for writing, well, buy a second-hand netbook and save your money for coffee.

In any case, consider purchasing an SSD drive (solid state harddrive) for your system. The performance increase is mind-boggling and a small 16gb or 32gb SSD drive can easily hold the system partitions for Slackware (that sounds small, but consider that Slackware itself is distributed on a 4.7 disc).

In every case, try to re-use parts from other computers; if you can recycle an optical drive, save yourself the expense. Find an old keyboard you can use, pull a network card from a neighbour's discarded computer. Offer to rescue a helpless Windows user's data in exchange for the parts of their dead computer. Building your own box makes re-directing cashflow quite easy.

Slackware's installation is menu-based and provides all the information needed to understand the process. This is not necessarily true with all operating system installers, or even with all Linux installers, but with Slackware, reading the screen makes the installation fairly self-explanatory.

The following walk-through will explain how to do a normal, general-purpose Slackware install. If you require something more complex (hint: you probably don't), then refer to docs.slackware.com.

Installation of Slackware begins with obtaining a Slackware installation disc. Since an installation disc is a handy thing to have around, and since you'll likely find Slackware a priceless addition to your studio, purchase a disc from the Slackware Store. If you cannot afford an install disc, it is also available for free from slackware.com or via bit torrent.

Warning

Slackermedia officially advises against “dual booting”, a somewhat popular method of having more than one operating system or versions of operating systems on a single computer. Dual booting is fine for bug testing or trying out various versions of GNU Linux, or for enabling a user to have both a proprietary OS needed for work and one free OS for real life, but it tends to add confusion to the installation process as well as to the stability of the system since one OS may attempt to change the master boot record unexpectedly, or a user of the other OS may accidentally erase or corrupt another partition, and so on.

Slackware works best when you simply have faith in it. Dual-booting provides a false sense of unnecessary security, and helps subconciously reinforce the idea that Slackware is too complex or too independent or not popular enough, or whatever subconscious fear you happen to have about it.

Install Slackware and use it. Or don't. But don't hedge your bets and dilute your commitment.

At $50, a complete operating system and a complete set of applications is not a bad price, and all the money goes to Slackware, so do consider paying if you can.

After the Slackware install disc has been obtained, begin installation as with any other OS or distribution: place the disc into your optical drive, and reboot the computer with BIOS or EFI settings such that the optical drive precedes the harddrive in boot order.

Motherboard Settings

There are dozens of motherboards on the market, and there is no way to cover them all, but there are some general things to know about motherboard settings. First of all, the settings of a motherboard can be modified by an embedded firmware interface. By modifying the motherboard settings, you can activate or deactivate features that will help your install go much smoother, and possibly enable your computer to have better performance.

Warning

Apple hardware locks down the motherboard firmware interface, making it inaccessible to the user. They have some snag keys that perform basic actions (such as activating a verbose boot, or selecting a boot device) but mostly the user is locked out.

To enter the firmware interface of a motherboard, there is a “snag key” that you must press just after powering up the computer. The snag key will probably be different depending on what motherboard your computer uses, but it's usually Del or F2 or Esc. Refer to onscreen instructions if there are any, or to the motherboard's documentation, if you are not sure.

Available options vary from motherboard to motherboard, but these are important ones to look for:

Motherboard Settings

Secure Boot

Motherboards made around the time of Windows 8 may have the option of using
"Secure Boot" (on some boards, the option is rather to <emphasize>not</
emphasize> use "Secure Boot"). "Secure Boot" should be deactivated, as it
will treat any non-Microsoft OS as, more or less, a virus.

Boot Order

This controls which drive gets priority when the computer gets powered on.
Set it to look to the optical media first, then whatever drive you will be
installing Linux to.

You can usually override this setting manually, as well, with some other
snag key at boot time (F8 or F9 seem to be popular choices).

Partition support

Every motherboard seems to label this differently, so look for CSM Mode,
IDE Mode, BIOS Legacy, or anything with options differentiating BIOS and
UEFI.

There are, basically, two types of motherboards: those that use BIOS and
those that use UEFI.

If your motherboard uses BIOS, then you will use MBR partition headers, and
will not be able to use any single drive that is larger than 2TB in size
(you can RAID several drives together into an array greater than 2TB, but
no single drive can be over 2TB due to limitations of MBR)

UEFI motherboards can use the GPT (GUID) partition type, free of any
pragmatic limit on drive size.

UEFI motherboards usually have the option to also support MBR partitions
(usually labelled "legacy mode"). If you do not have a drive that is
greater than 2TB, then you can use this mode. If you have a drive greater
than 2TB then you must use the GPT partition type.

Date and Time

Take note of the date and time settings on your motherboard. If they are
incorrect, set them to either local time or to GMT (also called UTC).

Upon first boot, you'll be presented with an option to choose what kernel you'd like to use. The kernel is the part of the operating system that scans the hardware in, and attached to, a computer so that drivers may be loaded, which enables you to interact with that computer. Once all of the drivers are loaded, the OS initialises an interface: a text shell (in modern computing, there is an expectation that the text interface to a computer will be concealed by a Graphical User Interface, but Slackware defiantly defaults to plain text). Slackware's default kernel is an all-purpose one (called the Huge kernel) that should detect all modern (and most legacy) hardware.

To continue the boot process with the default kernel, press RETURN or ENTER.

The next screen verbosely explains how to go about installing in three easy steps:

  1. Log in as root
  2. Partition your drive(s)
  3. Type in setup and follow the prompts

And it really will be as simple as that.

Login

Log in as root by typing root and pressing RETURN. That's the first step done.

Partition Your Hard Drive(s)

Despite what the packaging might say, hard drives are not very smart. They do not care what operating system you use them on, they do not care how you store data on them. They are just storage media.

The most convenient (but not the only) way we have devised, so far, to store data on a hard drive is by putting bits into what we call a “filesystem”; that is, a common system that the computer knows to use in order to read and write data, a bit like a secret decoder ring, or an index. As the term suggests, it is a system for dealing with files.

Usually, we use a “partition” to provide a filesystem with boundaries. You might have seen this before, if you have ever had a computer with a rescue partition: one harddrive with a mostly invisible slice partitioned off so that in the case of an emergency it can boot to a clean rescue install image.

The first step in preparing a drive for an operating system is to partition it. Slackware itself will take care of creating the filesystem, later.

Warning

Slackermedia assumes that you are using new drives, or at least drives that you have already backed up, because everything in this section will destroy any existing data on the drives. That is the intent. Do not follow this section verbatim if you have valuable data on your drive that you do not intend to erase.

The way Linux sees hard drives is by identifying what controller they are connected to on the motherboard, and then by assigning a letter to denote the order in which they are connected. The prefix for a hard drive is sd (for historical purposes). ^[1] So the identifier for the first hard drive on a system would be sda, and the second drive would be sda.

You can verify what drives Linux finds by looking in the device, or dev, directory:

ls /dev/sd?

On a laptop, you probably only have one drive, so the result will likely be / dev/sda but a desktop can (and arguably should) have multiple drives, so results might be /dev/sda /dev/sdb /dev/sdc, and so on to the last drive.

Whether you have one or three or more drives, each drive must have a partition in order for an OS to be installed.

Warning

Mistakes are easy to make. Disconnect any drive that you do not intend to erase while you create partitions, just in case you type in the wrong drive and erase something you did not mean to erase.

In other words: only the drives you intend to erase should be attached to your computer, to prevent accidental data loss.

To create an MBR (for use with BIOS or UEFI-in-BIOS-mode) partition label (replace sdX with the appropriate drive identifier):

# parted /dev/sdX mklabel msdos

If you require or prefer a GPT partition for use with UEFI (replace sdX with the appropriate drive identifier):

# parted /dev/sdX mklabel gpt

And then create the actual partition boundaries. To do this, you must know the size of your drive:

# parted /dev/sdX print | grep Disk

If you want hibernation support, then you need to make one partition for your operating system and personal data, plus one partition for hibernation (called a swap partition). Swap space should be a little more than the amount of RAM you have in the computer. Assuming you have a 2TB drive and are reserving 16GB for swap:

# parted /dev/sdX mkpart
primary 1 1984000
# parted /dev/sdX mkpart
primary 1984000 -0
# mkswap /dev/sdX2

Warning

If you are using multiple drives, then you should only make a swap partition on one non-SSD drive. You do not need swap space on each physical drive.

On old systems, swap space was a necessity in the event that you ran out of RAM. This is less of an issue now that RAM is relatively cheap, so if you have heaps of RAM then you probably do not need swap space. If you are using a desktop and do not require hibernation, or you just don't anticipate needing hibernation, then you can opt to forsake the swap partition and just create a single partition that spans the entire drive:

# parted /dev/sdX mkpart
primary 1 -0

Do this for each drive that you want to use in your system.

Setup

Type in setup to open a rudimentary GUI interface for the install menu. The first selection is to read the HELP section. If you have never used an ncurses interface, read up on how to navigate the menu in front of you.

The next option, KEYMAP is optional. Use it if you have a non-US keyboard.

ADDSWAP may also be optional, depending on whether you added a swap partition to your drive. If not, skip it. Otherwise, enter the install process here; the installer should detect your swap partition, so let it add the partition to the system layout and continue.

Set the destination for the OS install with the TARGET menu item. If you are on a single-drive system, the one choice is obvious: add the one partition available as the target.

If you are using an SSD drive for your applications, then you will need to add both drives as targets and specify the mount points of each.

The mount point for your standard drive should be /, which is the Unix notation for the “root” of the filesystem; the top-level directory into which all other data is placed. This means that all system data, including your personal data, will be stored in directories within the root directory. To place your user applications on the SSD drive, define its mount point as /usr/bin, which will ensure that all user-oriented applications will be placed onto the very fast SSD drive.

The installer will offer to format each drive for you. It is usually safe (and quickest) to perform a standard Format with no bad block checking. Use jfs for your filesystem type. ^[2]

Once your drives are formatted, select the source of the installation. Presumably you are installing from a DVD, so select the first option. Allow the installer to perform an automatic scan for the disc. (This option probably seems odd to you, but there are several ways to install Slackware Linux, and so this menu is actually very useful for advanced installs. However, unless you are an expert, there is no real need to perform anything but a standard install from the boot disc).

Next, you must choose the packages that you want to install. By default, all but the internationalisation files for the desktop are selected. You may activate the internationalisation package set if you want a non-English desktop, otherwise it is safe to leave it deactivated.

The next menu confirms that you wish to perform a full and automated install of all package sets. Slackermedia only supports a full install. If you turn any other package set off, you risk unexpected incompatibilities. The full install is not large compared to the standard install of other operating systems, and yet you get an amazing amount of software, development headers, libraries, and tools. In short, install everything.

Uncompressing and copying thousands of installable files takes time. You can use this time for a coffee break, but if you're very new to Linux, then watching the installer may prove interesting, just so that you get some idea of what gets installed on a fully-featured operating system.

Once all packages have been installed, you have the opportunity to create a USB boot loader disc. It is safe to skip this step on modern hardware; if anything goes wrong, you can generally perform a rescue with your install disc.

In order for your computer's BIOS or UEFI to pass control over to an operating system, it must know where that operating system is located. On the commercial computer systems that you buy, this is hidden from the user, presumably to give the appearance that the OS is the computer. On Linux, this functionality is exposed so that the user can intercept the boot process as needed. The software that governs this is known as a boot loader.

The boot loader that Slackware uses is called LILO and should be installed to the MBR (master boot record). From a user perspective, it just amounts to a menu at boot time that lets you choose what drive or OS to boot into. Since Slackermedia recommends having only one OS, this menu is surplus to requirements, but since it is necessary for the boot precess, and not a bad tool to have around for troubleshooting, installing it correctly is important.

If you are using BIOS or UEFI-in-BIOS-mode, you can use the simple option of letting the installer auto-detect your settings, and then configure and install LILO for you.

If you are using UEFI with GPT partitions (which you will probably only do if you have a drive that is larger than 2TB), then choose to skip this step for now. A manual LILO install will be performed after the install.

Next, choose a resolution for your monitor. On modern LCD panels, the highest quality is probably safe, but if you are using old monitors then stay with the standard option.

The next few prompts are well documented in themselves. Continue on until you are prompted to configure GPM. This defaults to Yes but it is safe to choose No if you do not anticipate using your mouse in a text-only console. If you are unsure, choose No.

Configuring the network is the next major option that deserves some special attention. You certainly want to configure your network. The first field is for a hostname for your computer. You can give your computer any hostname you like, but short and simple is usually better. Many sys admins have a complex naming scheme (ie, name all computers in one department after famous spaceships, all computers in another after sea animals, and so on) but for personal use, you can use anything you please, and unless you intend to set up and use internal DNS, you will probably never actually use it directly.

The next field is a domain name. Again, unless you actually intend to set up a complex intranet, you will likely never use this directly and you can provide it with any string you please. An example would be slackermedia.local, or you can use your own production company's name, or anything. Again, short and simple is probably best.

Finally, choose how to configure your network. This entirely depends on your network. An in-depth lesson on network design is out of the scope of a book about multimedia workflows, so if you intend to create a complex intranet, you should know how you intend to distribute IP addresses. If you are not sure yet, then choose NetworkManager.

For the sake of complete documentation, here is a summary of each option, plus one that does not appear:

Network Configuration Options

static IP

Set your own IP address based on either what your sys admin tells you, or
what your ISP tells you.

This is fairly rare for home users, since usually you will have a router or
modem between you and your ISP (so the router or modem may have a static
IP, or else a dynamic one being managed by the ISP, so that your computers
do not have to). Even in large businesses, these sorts of things are often
handled by the server rather than on the client side.

DHCP

Tells your computer to ping a server or router for an IP address. This is
very common on home connections, with wired connections. It is also very
common on business networks.

This is not what you want if you use wireless connections to a router
(unless you intend to use the <applciation>wicd</applciation> network
manager).

loopback

This could be used if you had no network, or intend to use a dialup modem.

NetworkManager

Uses the NetworkManager application to dynamically let you decide what
connection to use. You can plug in and use a wired connection, or unplug
and switch to wireless. You can set static IP addresses, or use DHCP, or
VPN, and much more. This is what you expect from a modern computer and is
almost certainly what you want on a laptop, and possibly a desktop.

Wicd

This is not an option at this stage, but it is an extra package on the
install media, which you can install later. It is a more unixy version of 
NetworkManager, and popular with geeks who want the convenience of
dynamically changing wireless networks combined with the option to easily
deactivate network management, or who are concerned about simple and
modular code.

To use wicd, choose DHCP for now and install wicd later.

If you do not understand why any of those things are signficant, or are confused about what to choose, then you should choose NetworkManager.

Next, you are provided with a list of startup options. This is largely geared toward sys admins, or computer users who like to do sys admin tasks (like reading logs, playing on the network, start up various services, and so on). Each item that gets started at boot time unsuprisingly adds to boot time, so if you are on a laptop or you anticipate rebooting often, then you should choose no extra services here and in fact can safely deactivate rc.inetd (assuming that you are using NetworkManager, and even rc.syslog. If these are required at some later time, you can easily reactivate them.

Further boot time optimisations will be made later.

The next option is to customise the font used in the text console. It is safe to choose No here.

Remember when you were mucking about with BIOS and UEFI? here is another place where that will pay off: in the next menu screen, you need to tell Slackware whether your system clock is set to local or to GMT/UTC time. If it is set to local, the next screen will require you to define your location. In practise, this does not necessarily matter that much, because you can always set an offset for your clock, or use an NTP server, but it's tidier if you make the effort.

The next screen asks you to set a default desktop. Unlike commercial operating systems, Linux's GUI desktop is treated not as the window into the OS, but as just another application; it can be swapped out with an entirely different one, much as you would choose to use a different web browser, or video player, and so on. Slackware ships with the most robust desktop of them all, KDE, as well as with some alternatives for the adventurous. Slackermedia recommends KDE, because it is flexible and highly configurable, and yet basically just works as-is. If you choose a different desktop, then you will need to do extra configuration that this handbook does not address. If you are not comfortable with multimedia on Linux yet, then choose KDE to keep things simple and to maintain a set of known variables. You can always launch different desktops in your own spare time, since you have already installed all of them. This menu simply sets the default.

The final (more or less) screen asks you to set a password for the administrator of the computer. The administrator's name is root, no matter what. This is the first user, the primary owner of the computer. Set the password to whatever you want, but do not forget it.

The scripted installer process is now over. Whether or not your job is done depends on whether or not you are using UEFI. If so, then you skipped the LILO boot loader install, so if you were to reboot now, you would have no way of getting into your OS without a rescue disc. If you did accidentally reboot before reading this paragraph, then reboot using your install media and follow the instructions in the appendix for recovering a lost password, and then return here.

Exit out of the installer, and use this command to enter your freshly installed system:

chroot /mnt

This changes the root directory from being the install disc to being the root directory that you defined whilst installing. So now you can operate on your system before actually booting into it.

To configure the boot loader, use the nano text editor, which runs as a semi-graphical application within the text console:

chroot /etc/lilo.conf_example

Midway through this file, you will see several VGA options. Below that section are several examples of what valid boot loader congfigurations might look like. You can use one as a starting point, creating an entry that looks like this:

insert lilo.conf here foobar

When you have finished editing, press control+o to “write Out” the file. In the buffer that appears near the bottom of the screen, rename the file to lilo.conf.

Press control+x to exit.

Now run LILO to instantiate the configuration.

lilo

It is now safe to reboot the computer. The best way to do that is to press control+alt+F2 to log back into your install media. Login as root again, and then issue this command:

# reboot

This reboots your computer. Make sure that the install media is ejected so that your BIOS or UEFI does not boot back into the installer.

Now that you have installed the OS, your next step is to set up your user environment.


ways, it has fewer features than something like ext4 but it is a good, stable open source filesystem that is useful on both SSD and standard drives, and it is backed by IBM and used by IBM on large amounts of data in very large data centers. It makes the most sense for Slackermedia, and has successfully powered Slackermedia machines that are in production for the past five years (including one that is exclusively SSD).

If you know Linux well and have reason to prefer ext4 or xfs or some other filesystem type, feel free to ignore this recommendation.