Differences
This shows you the differences between two versions of the page.
install [2015/05/09 07:14] slackermedia |
install [2021/06/03 19:48] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== The Installer ====== | ||
- | |||
- | Upon first boot of the install disc, 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: | ||
- | |||
- | -Log in as root | ||
- | -Partition your drive(s) | ||
- | -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. | ||
- | |||
- | |||
- | ------------------------------------------------------------------------------- | ||
- | |||
- | ^[1] tldp.org/HOWTO/Partition/devices.html | ||
- | |||
- | ^[2] Slackermedia recommends jfs solely based on experiential data. In some | ||
- | 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. | ||