This chapter deals with the preparation for installing BlackWeb Linux before you even boot the installer. This includes backing up your data, gathering information about your hardware, and locating any necessary information.
First, just a note about re-installations. With BlackWeb Linux, a circumstance that will require a complete re-installation of your system is very rare; perhaps mechanical failure of the hard disk would be the most common case.
Many common operating systems may require a complete installation to be performed when critical failures take place or for upgrades to new OS versions. Even if a completely new installation isn’t required, often the programs you use must be re-installed to operate properly in the new OS.
Under BlackWeb Linux GNU/Linux, it is much more likely that your OS can be repaired rather than replaced if things go wrong. Upgrades never require a wholesale installation; you can always upgrade in-place. And the programs are almost always compatible with successive OS releases. If a new program version requires newer supporting software, the BlackWeb Linux packaging system ensures that all the necessary software is automatically identified and installed. The point is, much effort has been put into avoiding the need for re-installation, so think of it as your very last option. The installer is not designed to re-install over an existing system.
Here’s a road map for the steps you will take during the installation process.
1. Back up any existing data or documents on the hard disk where you plan to install.
2. Gather information about your computer and any needed documentation, before starting the in-stallation.
3. Locate and/or download the installer software and any specialized driver or firmware files your machine requires.
4. Set up boot media such as CDs/DVDs/USB sticks or provide a network boot infrastructure from which the installer can be booted.
5. Boot the installation system.
6. Select the installation language.
7. Activate the ethernet network connection, if available.
8. If necessary, resize existing partitions on your target harddisk to make space for the installation.
9. Create and mount the partitions on which BlackWeb Linux will be installed.
10. Watch the automatic download/install/setup of the base system.
11. Install a boot loader which can start up BlackWeb Linux GNU/Linux and/or your existing system.
12. Load the newly installed system for the first time.
If you have problems during the installation, it helps to know which packages are involved in which steps. Introducing the leading software actors in this installation drama:
The installer software, BlackWeb Linux-installer, is the primary concern of this manual. It detects hardware and loads appropriate drivers, uses dhcp-client to set up the network connection, runs debootstrap to install the base system packages, and runs tasksel to allow you to install certain additional software. Many more actors play smaller parts in this process, but BlackWeb Linux-installer has completed its task when you load the new system for the first time.
To tune the system to your needs, tasksel allows you to choose to install various predefined bundles of software like a Web server or a Desktop environment.
One important option during the installation is whether or not to install a graphical desktop environ-ment, consisting of the X Window System and one of the available graphical desktop environments. If you choose not to select the “Desktop environment” task, you will only have a relatively basic, com-mand line driven system. Installing the Desktop environment task is optional because in relation to a text-mode-only system it requires a comparatively large amount of disk space and because many De-bian GNU/Linux systems are servers which don’t really have any need for a graphical user interface to do their job.
Just be aware that the X Window System is completely separate from BlackWeb Linux-installer, and in fact is much more complicated. Troubleshooting of the X Window System is not within the scope of this manual.
Before you start, make sure to back up every file that is now on your system. If this is the first time a non-native operating system is going to be installed on your computer, it is quite likely you will need to re-partition your disk to make room for BlackWeb Linux GNU/Linux. Anytime you partition your disk, you run a risk of losing everything on the disk, no matter what program you use to do it. The programs used in the installation are quite reliable and most have seen years of use; but they are also quite powerful and a false move can cost you. Even after backing up, be careful and think about your answers and actions. Two minutes of thinking can save hours of unnecessary work.
If you are creating a multi-boot system, make sure that you have the distribution media of any other present operating systems on hand. Even though this is normally not necessary, there might be situations in which you could be required to reinstall your operating system’s boot loader to make the system boot or in a worst case even have to reinstall the complete operating system and restore your previously made backup.
In many cases, the installer will be able to automatically detect your hardware. But to be prepared, we do recommend familiarizing yourself with your hardware before the install.
Hardware information can be gathered from:
• The manuals that come with each piece of hardware.
• The BIOS setup screens of your computer. You can view these screens when you start your com-puter by pressing a combination of keys. Check your manual for the combination. Often, it is the Delete or the F2 key, but some manufacturers use other keys or key combinations. Usually upon starting the computer there will be a message stating which key to press to enter the setup screen.
• The cases and boxes for each piece of hardware.
• The System window in the Windows Control Panel.
• System commands or tools in another operating system, including file manager displays. This source is especially useful for information about RAM and hard drive memory.
• Your system administrator or Internet Service Provider. These sources can tell you the settings you need to set up your networking and e-mail.
Many products work without trouble on Linux. Moreover, hardware support in Linux is improving daily. However, Linux still does not run as many different types of hardware as some operating systems.
Drivers in Linux in most cases are not written for a certain “product” or “brand” from a specific manufacturer, but for a certain hardware/chipset. Many seemingly different products/brands are based on the same hardware design; it is not uncommon that chip manufacturers provide so-called “reference designs” for products based on their chips which are then used by several different device manufac-turers and sold under lots of different product or brand names.
This has advantages and disadvantages. An advantage is that a driver for one chipset works with lots of different products from different manufacturers, as long as their product is based on the same chipset. The disadvantage is that it is not always easy to see which actual chipset is used in a certain prod-uct/brand. Unfortunately sometimes device manufacturers change the hardware base of their product without changing the product name or at least the product version number, so that when having two items of the same brand/product name bought at different times, they can sometimes be based on two different chipsets and therefore use two different drivers or there might be no driver at all for one of them.
For USB and PCI/PCI-Express/ExpressCard devices, a good way to find out on which chipset they are based is to look at their device IDs. All USB/PCI/PCI-Express/ExpressCard devices have so called “vendor” and “product” IDs, and the combination of these two is usually the same for any product based on the same chipset.
On Linux systems, these IDs can be read with the lsusb command for USB devices and with the lspci -nn command for PCI/PCI-Express/ExpressCard devices. The vendor and product IDs are usually given in the form of two hexadecimal numbers, seperated by a colon, such as “1d6b:0001”.
An example for the output of lsusb: “Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub”, whereby 1d6b is the vendor ID and 0002 is the product ID.
An example for the output of lspci -nn for an Ethernet card: “03:00.0 Ethernet controller [0200]: Re-altek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 06)”. The IDs are given inside the rightmost square brackets, i.e. here 10ec is the vendor- and 8168 is the product ID.
As another example, a graphics card could give the following output: “04:00.0 VGA compatible
controller [0300]: Advanced Micro Devices [AMD] nee ATI RV710 [Radeon HD 4350] [1002:954f]”.
On Windows systems, the IDs for a device can be found in the Windows device manager on the tab “details”, where the vendor ID is prefixed with VEN_ and the product ID is prefixed with DEV_. On Windows 7 systems, you have to select the property “Hardware IDs” in the device manager’s details tab to actually see the IDs, as they are not displayed by default.
Searching on the internet with the vendor/product ID, “Linux” and “driver” as the search terms often results in information regarding the driver support status for a certain chipset. If a search for the vendor/product ID does not yield usable results, a search for the chip code names, which are also often provided by lsusb and lspci (“RTL8111”/“RTL8168B” in the network card example and “RV710” in the graphics card example), can help.
BlackWeb Linux GNU/Linux is also available as a so-called “live system” for certain architectures. A live system is a preconfigured ready-to-use system in a compressed format that can be booted and used from a read-only medium like a CD or DVD. Using it by default does not create any permanent changes on your computer. You can change user settings and install additional programs from within the live system, but all this only happens in the computer’s RAM, i.e. if you turn off the computer and boot the live system again, everything is reset to its defaults. If you want to see whether your hardware is supported by BlackWeb Linux GNU/Linux, the easiest way is to run a BlackWeb Linux live system on it and try it out.
There are a few limitations in using a live system. The first is that as all changes you do within the live system must be held in your computer’s RAM, this only works on systems with enough RAM to do that, so installing additional large software packages may fail due to memory constraints. An-other limitation with regards to hardware compatibility testing is that the official BlackWeb Linux GNU/Linux live system contains only free components, i.e. there are no non-free firmware files included in it. Such non-free packages can of course be installed manually within the system, but there is no auto-matic detection of required firmware files like in the BlackWeb Linux-installer, so installation of non-free components must be done manually if needed.
Information about the available variants of the BlackWeb Linux live images can be found at the BlackWeb Linux Live Images website.
If your computer is connected to a fixed network (i.e. an Ethernet or equivalent connection — not a dialup/PPP connection) which is administered by somebody else, you should ask your network’s system administrator for this information:
• Your host name (you may be able to decide this on your own).
• Your domain name.
• Your computer’s IP address.
• The netmask to use with your network.
• The IP address of the default gateway system you should route to, if your network has a gateway.
• The system on your network that you should use as a DNS (Domain Name Service) server.
If the network you are connected to uses DHCP (Dynamic Host Configuration Protocol) for configuring network settings, you don’t need this information because the DHCP server will provide it directly to your computer during the installation process.
If you have internet access via DSL or cable modem (i.e. over a cable tv network) and have a router (often provided preconfigured by your phone or catv provider) which handles your network connec-tivity, DHCP is usually available by default.
As a rule of thumb: if you run a Windows system in your home network and did not have to manually perform any network settings there to achieve Internet access, network connectivity in BlackWeb Linux GNU/Linux will also be configured automatically.
If you use a WLAN/WiFi network, you should find out:
• The ESSID (“network name”) of your wireless network.
• The WEP or WPA/WPA2 security key to access the network (if applicable).
hardware will let you do the type of installation that you want to do.
Depending on your needs, you might manage with less than some of the recommended hardware listed in the table below. However, most users risk being frustrated if they ignore these suggestions.
A Pentium 4, 1GHz system is the minimum recommended for a desktop system.
Recommended Minimum System Requirements
Install Type | RAM (minimum) | RAM (recommended) | Hard Drive |
---|---|---|---|
No desktop | 128 megabytes | 512 megabytes | 2 gigabytes |
With Desktop | 256 megabytes | 1 gigabyte | 10 gigabytes |
The actual minimum memory requirements are a lot less than the numbers listed in this table. De-pending on the architecture, it is possible to install BlackWeb Linux with as little as 20MB (for s390) to 60MB (for amd64). The same goes for the disk space requirements, especially if you pick and choose which applications to install; see Section D.2 for additional information on disk space requirements.
The actual minimum memory requirements are a lot less than the numbers listed in this table. De-pending on the architecture, it is possible to install BlackWeb Linux with as little as 20MB (for s390) to 60MB (for amd64). The same goes for the disk space requirements, especially if you pick and choose which applications to install; see Section D.2 for additional information on disk space requirements.
It is possible to run a graphical desktop environment on older or low-end systems, but in that case it is recommended to install a window manager that is less resource-hungry than those of the GNOME or KDE desktop environments; alternatives include xfce4, icewm and wmaker, but there are others to choose from.
It is practically impossible to give general memory or disk space requirements for server installations as those very much depend on what the server is to be used for.
Remember that these sizes don’t include all the other materials which are usually to be found, such as user files, mail, and data. It is always best to be generous when considering the space for your own files and data.
Disk space required for the smooth operation of the BlackWeb Linux GNU/Linux system itself is taken into account in these recommended system requirements. Notably, the /var partition contains a lot of state information specific to BlackWeb Linux in addition to its regular contents, like logfiles. The dpkg files (with information on all installed packages) can easily consume 40MB. Also, apt-get puts downloaded packages here before they are installed. You should usually allocate at least 200MB for /var, and a lot more if you install a graphical desktop environment.
Partitioning your disk simply refers to the act of breaking up your disk into sections. Each section is then independent of the others. It’s roughly equivalent to putting up walls inside a house; if you add furniture to one room it doesn’t affect any other room.
If you already have an operating system on your system (Windows 9x, Windows NT/2000/XP/2003/Vista/7, OS/2, MacOS, Solaris, FreeBSD, . . . ) which uses the whole disk and you want to stick BlackWeb Linux on the same disk, you will need to repartition it. BlackWeb Linux requires its own hard disk partitions. It cannot be installed on Windows or Mac OS X partitions. It may be able to share some partitions with other Unix systems, but that’s not covered here. At the very least you will need a dedicated partition for the BlackWeb Linux root filesystem.
You can find information about your current partition setup by using a partitioning tool for your current operating system, such as the integrated Disk Manager in Windows or fdisk in DOS. Partitioning tools always provide a way to show existing partitions without making changes.
In general, changing a partition with a file system already on it will destroy any information there. Thus you should always make backups before doing any repartitioning. Using the analogy of the house, you would probably want to move all the furniture out of the way before moving a wall or you risk destroying it.
Several modern operating systems offer the ability to move and resize certain existing partitions with-out destroying their contents. This allows making space for additional partitions without losing ex-isting data. Even though this works quite well in most cases, making changes to the partitioning of a disk is an inherently dangerous action and should only be done after having made a full backup of all data. For FAT/FAT32 and NTFS partitions as used by DOS and Windows systems, the ability to move and resize them losslessly is provided both by BlackWeb Linux-installer as well as by the integrated Disk Manager of Windows 7.
To losslessly resize an existing FAT or NTFS partition from within BlackWeb Linux-installer, go to the partitioning step, select the option for manual partitioning, select the partition to resize, and simply specify its new size.
Creating and deleting partitions can be done from within BlackWeb Linux-installer as well as from an existing operating system. As a rule of thumb, partitions should be created by the system for which they are to be used, i.e. partitions to be used by BlackWeb Linux GNU/Linux should be created from within BlackWeb Linux-installer and partitions to be used from another operating system should be created from there. BlackWeb Linux-installer is capable of creating non-Linux partitions, and partitions created this way usually work without problems when used in other operating systems, but there are a few rare corner cases in which this could cause problems, so if you want to be sure, use the native partitioning tools to create partitions for use by other operating systems.
If you are going to install more than one operating system on the same machine, you should install all other system(s) before proceeding with the BlackWeb Linux installation. Windows and other OS installations may destroy your ability to start BlackWeb Linux, or encourage you to reformat non-native partitions.
You can recover from these actions or avoid them, but installing the native system first saves you trouble.
This section will walk you through pre-installation hardware setup, if any, that you will need to do prior to installing BlackWeb Linux. Generally, this involves checking and possibly changing BIOS/system firmware settings for your system. The “BIOS” or “system firmware” is the core software used by the hardware; it is most critically invoked during the bootstrap process (after power-up).
The BIOS provides the basic functions needed to boot your machine and to allow your operating system to access your hardware. Your system provides a BIOS setup menu, which is used to configure the BIOS. To enter the BIOS setup menu you have to press a key or key combination after turning on the computer. Often it is the Delete or the F2 key, but some manufacturers use other keys. Usually upon starting the computer there will be a message stating which key to press to enter the setup screen.
Within the BIOS setup menu, you can select which devices shall be checked in which sequence for a bootable operating system. Possible choices usually include the internal harddisks, the CD/DVD-ROM drive and USB mass storage devices such as USB sticks or external USB harddisks. On modern systems there is also often a possibility to enable network booting via PXE.
Depending on the installation media (CD/DVD ROM, USB stick, network boot) you have chosen you should enable the appropriate boot devices if they are not already enabled.
Most BIOS versions allow you to call up a boot menu on system startup in which you select from which device the computer should start for the current session. If this option is available, the BIOS usually displays a short message like “press F12 for boot menu” on system startup. The actual key used to select this menu varies from system to system; commonly used keys are F12, F11 and F8. Choosing a device from this menu does not change the default boot order of the BIOS, i.e. you can start once from a USB stick while having configured the internal harddisk as the normal primary boot device.
If your BIOS does not provide you with a boot menu to do ad-hoc choices of the current boot device, you will have to change your BIOS setup to make the device from which the BlackWeb Linux-installer shall be booted the primary boot device.
Unfortunately some computers contain buggy BIOS versions. Booting BlackWeb Linux-installer from a USB stick might not work even if there is an appropriate option in the BIOS setup menu and the stick is selected as the primary boot device. On some of these systems using a USB stick as boot medium is impossible; others can be tricked into booting from the stick by changing the device type in the BIOS setup from the default “USB harddisk” or “USB stick” to “USB ZIP” or “USB CDROM”. In particular if you use an isohybrid CD/DVD image on a USB stick (see Section 4.3.1), changing the device type to “USB CDROM” helps on some BIOSes which will not boot from a USB stick in USB harddisk mode.
UEFI (“Unified Extensible Firmware Interface”) is a new kind of system firmware that is used on many modern systems and is - among other uses - intended to replace the classic PC BIOS.
Currently most PC systems that use UEFI also have a so-called “Compatibility Support Module” (CSM) in the firmware, which provides excatly the same interfaces to an operating system as a classic PC BIOS, so that software written for the classic PC BIOS can be used unchanged. Nonetheless UEFI is intended to one day completely replace the old PC BIOS without being fully backwards-compatible and there are already a lot of systems with UEFI but without CSM.
On systems with UEFI there are a few things to take into consideration when installing an operating system. The way the firmware loads an operating system is fundamentally different between the clas-sic BIOS (or UEFI in CSM mode) and native UEFI. One major difference is the way the harddisk partitions are recorded on the harddisk. While the classic BIOS and UEFI in CSM mode use a DOS partition table, native UEFI uses a different partitioning scheme called “GUID Partition Table” (GPT). On a single disk, for all practical purposes only one of the two can be used and in case of a multi-boot setup with different operating systems on one disk, all of them must therefore use the same type of partition table. Booting from a disk with GPT is only possible in native UEFI mode, but using GPT becomes more and more common as hard disk sizes grow, because the classic DOS partition table cannot address disks larger than about 2 Terabytes while GPT allows for far larger disks. The other major difference between BIOS (or UEFI in CSM mode) and native UEFI is the location where boot code is stored and in which format it has to be. This means that different bootloaders are needed for each system.
The latter becomes important when booting BlackWeb Linux-installer on a UEFI system with CSM be-cause BlackWeb Linux-installer checks whether it was started on a BIOS- or on a native UEFI system and installs the corresponding bootloader. Normally this simply works but there can be a problem in multi-boot environments. On some UEFI systems with CSM the default boot mode for removable devices can be different from what is actually used when booting from hard disk, so when booting the in-staller from a USB stick in a different mode from what is used when booting another already installed operating system from the hard disk, the wrong bootloader might be installed and the system might be unbootable after finishing the installation. When choosing the boot device from a firmware boot menu, some systems offer two seperate choices for each device, so that the user can select whether booting shall happen in CSM or in native UEFI mode.
Another UEFI-related topic is the so-called “secure boot” mechanism. Secure boot means a function of UEFI implementations that allows the firmware to only load and execute code that is cryptograph-ically signed with certain keys and thereby blocking any (potentially malicious) boot code that is unsigned or signed with unknown keys. In practice the only key accepted by default on most UEFI systems with secure boot is a key from Microsoft used for signing the Windows bootloader. As the boot code used by BlackWeb Linux-installer is not signed by Microsoft, booting the installer requires prior deactivation of secure boot in case it is enabled. Secure boot is often enabled by default on sys-tems that come preinstalled with a 64-bit version of Windows 8 and there is unfortunately no standard way to disable it in the UEFI setup. On some systems, the option to disable secure boot is only made visible when a BIOS password has been set by the user, so if you have a system with secure boot enabled, but cannot find an option to disable it, try setting a BIOS password, powercycle the machine and look again for an appropriate option.
Windows 8 offers a feature called “fast boot” to cut down system startup time. Technically, when this feature is enabled, Windows 8 does not do a real shutdown and a real cold boot afterwards when ordered to shut down, but instead does something resembling a partial suspend to disk to reduce the “boot” time. As long as Windows 8 is the only operating system on the machine, this is unproblematic, but it can result in problems and data loss when you have a dual boot setup in which another operating system accesses the same filesystems as Windows 8 does. In that case the real state of the filesystem can be different from what Windows 8 believes it to be after the “boot” and this could cause filesystem corruption upon further write accesses to the filesystem. Therefore in a dual boot setup, to avoid filesystem corruption the “fast boot” feature has to be disabled within Windows.
It may also be necessary to disable “fast boot” to even allow access to UEFI setup to choose to boot another operating system or BlackWeb Linux-installer. On some UEFI systems, the firmware will reduce “boot” time by not initialising the keyboard controller or USB hardware; in these cases, it is necessary to boot into Windows and disable this feature to allow for a change of boot order.
USB BIOS support and keyboards. If you have no PS/2-style keyboard, but only a USB model, on some very old PCs you may need to enable legacy keyboard emulation in your BIOS setup to be able to use your keyboard in the bootloader menu, but this is not an issue for modern systems. If your keyboard does not work in the bootloader menu, consult your mainboard manual and look in the BIOS for “Legacy keyboard emulation” or “USB keyboard support” options.