SuSE Linux can installed in a flexible way according to the local circumstances. The various methods range from a graphical ``quick installation'' to a text-based installation that allows manual intervention. The following sections cover various installation methods, such as the text-based installation with YaST and the use of various installation sources (CD-ROM, NFS). A comprehensive description of the graphical standard installation can be found in the User Guide. This chapter also offers troubleshooting tips for problems with the installation. The concluding section provides detailed information on partitioning. |
In addition to installing with the assistance of a graphical interface, SuSE Linux can also be installed with the help of the YaST text menus (console mode). All YaST modules are also available in this text mode. The text mode is especially useful if you do not need a graphical interface (e.g., for server systems) or if the graphics card is not supported by the X Window System.
Insert CD 1 into the drive and restart the computer. If the computer does not boot the CD, reset the boot sequence in the BIOS to CDROM,C,A. The start screen will be displayed after a few moments.
Use the and keys to select ` Manual Installation' within ten seconds to prevent YaST from being started automatically. In case your hardware requires special parameters (which is usually not the case), these can be entered in the line Boot Options. The parameter textmode=1 can be used to run YaST in full-screen text mode.
The F2 key can be used to determine the screen resolution for the installation. Press F2 and choose `Text Mode to enter the text-only mode. Then press . Now, a box will appear with the progress display Loading Linux kernel. The kernel boots and linuxrc is started. Subsequently, proceed with the installation using the menus of linuxrc.
See also the SDB article at http://sdb.suse.de/de/sdb/html/81_acpi.html.
The linuxrc program can be used to specify settings for the installation and load needed drivers as kernel modules. Finally, linuxrc will launch YaST, starting the actual installation of the system software and other applications.
Use or to choose menu items. Use or to select a command such as ` Ok' or ` Cancel'. Execute the command by pressing .
A detailed description of linuxrc is provided in 11.
The linuxrc application automatically begins with the language and keyboard selection.
Now, you will find yourself in the main menu in linuxrc (Figure 1.2).
The following options are offered here:
Normally, you do not need to use this menu item if both your hard disks and the CD drive (ATAPI) are connected to an (E)IDE controller, as (E)IDE support is integrated in the kernel. Details for module selection are presented in the following paragraph.
Select loading of kernel modules with ` Kernel module' only if you need support for SCSI or for PCMCIA or if you do not have an ATAPI drive. At present, other components are also be swapped out as modules (e.g., IDE) or added (e.g., USB, FireWire, or file systems). Read about how modules are loaded in 11. In the following submenu, choose which modules to load. Possible choices are:
Tip |
If you cannot find any support for your installation medium (proprietary CD-ROM drive, parallel port CD-ROM drive, network cards, PCMCIA) among the standard modules, you may find what you need on a module floppy disk, which contains additional drivers. To do this, go to the end of the list and select the item ` - More modules -'. In this case, linuxrc will prompt you to insert the module disk. |
Because ` Start installation/system' is usually preselected, normally just press to proceed with the installation.
The following items are available:
To begin the installation, press to access the menu item ` Start installation/update'. Then select the source medium. Usually, the cursor can be left at the default selection: ` CD-ROM'.
Now press . The installation environment will be loaded directly from CD 1.
As soon as this procedure is completed, YaST starts in the text-based (ncurses) version. The installation will then continue as described in (), chapter Installation.
If this situation arises, the following procedure can often lead to efficient results:
Select ` Settings' ->` Debug (Experts)' in the linuxrc main menu. There, select no in ` Force root image'. Then return to the main menu and restart installation.
Following the installation, decide how to boot Linux for daily operations. The following overview introduces various alternatives for booting Linux. The most suitable method depends on the intended purpose.
The boot disk is a useful interim solution if you have difficulties configuring the other possibilities or if you want to postpone the decision regarding the final boot mechanism. A boot disk may also be a suitable solution in connection with OS/2 or Windows NT.
A detailed discussion of various boot methods, especially of GRUB and LILO, can be found in 4.
Starting with SuSE Linux 7.2, the graphical SuSE screen is displayed on the first console, if the option vga=771 is active as kernel parameter. If you install using YaST, this option is automatically activated in accordance with the selected resolution and the graphics card.
Basically there are three ways to achieve this:
Enter the command echo 0 >/proc/splash to disable the graphical screen. echo 0x0f01 >/proc/splash activates the screen again.
Add the kernel parameter splash=0 to your boot loader configuration. 4 offers more information about this. However, if you prefer the old text mode anyway (which was the default with previous versions), set this to vga=normal .
Compile a new kernel after disabling the option `Use splash screen instead of boot logo in the menu ` framebuffer support'.
Tip |
Removing the framebuffer support from the kernel will automatically disable the splash screen as well. SuSE cannot not provide any support for your system if you run it with a custom kernel. |
What if a standard installation via CD-ROM drive is not possible? For example, your CD-ROM may not be supported because it is an older proprietary drive. A secondary machine, like a notebook, might not have any CD-ROM drive at all, only an ethernet adapter. SuSE Linux offers the possibility of performing the installation on machines without a CD-ROM drive over a network connection. Usually this is done by means of NFS or FTP over ethernet. The following section describes the procedure.
No installation support is available for this approach. Therefore, the following procedure should only be applied by experienced computer users.
To install SuSE Linux from a network source, two steps are necessary:
Prepare the network share by copying the installation CDs to individual directories and make these available on a system with NFS server functionality. For example, on an existing SuSE Linux machine, copy the individual CDs with the following command:
Then rename the directory, for example, to ``CD1'':
Repeat this procedure for the other CDs. Then export the /suse-share directory via NFS. For information, see 13.
Insert the boot medium in the drive. The creation of the boot disk is described in 1 and 1. The boot menu will appear after a short time. Select ` Manual Installation'. You can also specify additional kernel parameters. Confirm the selection with . The kernel will be loaded and you will be prompted to insert the first module disk.
After a short while, linuxrc will appear and ask you to enter a number of parameters:
Now linuxrc will load the installation environment from the network source and start YaST. Proceed with the installation as described in (), Chapter Installation.
The requirements for this are a formatted 3.5" floppy disk and a bootable 3.5" floppy drive.
The directory boot on CD 1 contains a number of disk images. Such an image can be copied to a disk with the help of a suitable utility. A floppy disk prepared in this way is called boot disk.
These disk images also include the ``loader'', SYSLINUX, and the program linuxrc. SYSLINUX allows the selection of the desired kernel during the boot process and the specification of parameters for the hardware used, if necessary. The program linuxrc supports the loading of kernel modules for your hardware and subsequently starts the installation.
The DOS application rawrite.exe (CD 1, directory ) is useful for generating the SuSE boot and module disks. Requirements for this are a machine with a DOS (e.g., FreeDOS) or Windows.
The procedure described in the following is for working with Windows:
After entering the destination drive a:, insert a formatted disk as requested then press . rawrite then shows the copy progress. This process can be terminated with + C.
In this manner, you can also create the other floppy images, modules1, modules2, modules3, and modules4. These are required if you have USB or SCSI devices or a network or PCMCIA card that you want to address during the installation.
A module disk may also be needed if you want to start using a special file system during the installation.
This requires access to a Unix or Linux system with a CD-ROM drive and a formatted disk.
To create a boot disk:
The README file in the boot directory provides details about the floppy disk images. Read the files with more or less.
In this manner, you can also create the other floppy images, modules1, modules2, modules3, and modules4 . These are required if you have USB or SCSI devices or a network or PCMCIA card that you want to address during the installation.
A module disk may also be needed if you want to start using a special file system during the installation.
The procedure is little bit more complicated if you want to use a self-compiled kernel during the installation. In this case, first write the default image (bootdisk) to the floppy disk then overwrite the actual kernel (linux) with your own kernel (see 10):
The ``boot disk'' can be used if you have to deal with special installation requirements (e.g., CD-ROM drive not available). For more information about creating the boot disk, read 1 or 1.
The boot process is initiated by the boot loader SYSLINUX ( package syslinux). SYSLINUX is configured to perform a minimum hardware detection when the system is booted. Basically this includes the following steps:
Tip |
If you keep pressed when SYSLINUX is started, all these steps will be skipped. For troubleshooting: You can insert the following line In syslinux.cfg: verbose 1 to prompt the boot loader to tell you which action is currently being performed. |
As well as CD 1, the second CD is bootable. However, while CD 1 uses a bootable ISO image, CD 2 is booted by means of a 2.88 MB disk image. Use CD 2 if you are sure that you can boot from CD but it does work with CD 1 (fallback solution).
Generally, most CD-ROM drives are supported.
If your ATAPI CD-ROM is not recognized or it hangs while reading, this is most frequently due to incorrectly installed hardware. All devices must be connected to the EIDE controller in the correct order. The first device is master on the first controller. The second device is slave on the first controller. The third device should be master on the second controller, and so forth.
It often occurs that there is only a CD-ROM besides the first device. The CD-ROM drive is sometimes connected as master to the second controller (secondary IDE controller). This is wrong and can cause Linux not to know what to do with this ``gap''. Try to fix this by passing the appropriate parameter to the kernel (hdc=cdrom).
Sometimes one of the devices is just ``misjumpered''. This means it is jumpered as slave, but is connected as master, or vice versa. When in doubt, check your hardware settings and correct them where necessary.
In addition, there is a series of faulty EIDE chipsets, most of which have now been identified. There is a special kernel to handle such cases. See the README in /boot of the installation CD-ROM.
If booting does not work immediately, try using the following kernel parameters:
An example of <parameter to enter> is hdb=cdrom. With this parameter, specify the CD-ROM drive to the kernel, if it cannot find it itself and you have an ATAPI CD-ROM drive.
An example of <parameter to enter> is ide0=noautotune This parameter is often useful for (E)IDE hard disks.
This section provides detailed information for tailoring a system to your needs. This section is mainly of interest for those who want a system optimized system for security and performance and are prepared to reinstall the complete system where necessary. It is absolutely essential that you have extensive knowledge of the functions of a UNIX file system. You should be familiar with mount points and physical, extended, and logical partitions.
There is no golden rule for everything, but many rules for each situation. However, you will find concrete figures in this section to help you.
First, consider the following:
Quite often you will read, ``Swap should be at least twice as large as the main memory''. This is a relic of times when 8 MB was regarded as a lot of RAM. Today, a new computer should not have less than 64 MB RAM. In the past, the aim was to equip the machine with about 30 to 40 MB of virtual memory, meaning RAM plus swap.
Modern memory-consuming applications require even more memory. Usually 128 MB of virtual memory should be sufficient. If you want to compile a kernel in KDE, look at the help pages with Netscape while emacs is running somewhere, not much will be left of your 128 MB of virtual memory. As a normal user, 256 MB of virtual memory is currently a reasonable value. Never do without any swap memory. A swap partition should be available even on a machine with 256 MB RAM. However, in this case 64 MB of swap space will be adequate to fill the basic need. The reasons for this are outlined in 1.
If you want to run extensive simulations with a memory requirement of several gigabytes, you may need a large swap memory. If you are not sure if Linux has sufficient reserves for your application, refer to 1.
The most common use for a Linux machine is as a stand-alone computer. Table 1.1 is an overview of size requirements for different Linux systems.
tex2html_deferred |
The recommended partitioning depends on the size used. The following are only examples that should be modified to your needs.
With a 500 MB spare hard disk to hold Linux, use a 64 MB swap partition and the rest for / (root partition).
If you have more than 1.5 GB available, there is no standard way to partition. Read 1.
Here, hard disk performance is crucial. You should use SCSI devices if possible. Keep in mind the performance of the disk and the controller. A file server is used to save data centrally. This data might be home directories, a database, or other archives. The advantage of this is that administration of the data is simple.
If the file server will serve a huge net (twenty users and more), optimizing hard disk access is essential. Suppose you want to provide a file server for 25 users (their home directories). If the average user requires 100-150 MB for personal space, a 4 GB partition mounted under home will probably do.
If there are fifty users, you will need an 8 GB partition. In this case, it would be better to split home into two 4 GB hard disks, as they would then share the load (and access time).
Tip |
The web browser cache should absolutely be stored locally on the user's hard disk. |
A compute server is generally a powerful machine that carries out extensive calculations over the net. Normally, such a machine is equipped with extensive main memory (512 RAM or greater). The only point where fast disks are needed is for the swap space. If you have a number of hard disks, you can spread swap partitions across them.
The disks are normally the limiting factor. To avoid this bottleneck, there are two possibilities that should be used together:
This needs some further discussion. The total amount of time needed for transferring data can be separated into five parts:
The first item depends on the network connection and must be regulated there. This subject is not covered here. Item two is a relatively insignificant period that depends on the hard disk controller itself. Items three and four are the main parts. The positioning time is measured in ms.Compared to the access times of the main memory, which are measured in ns,this represents a factor of 1 million. Item four depends on the disk rotation speed, which is usually several ms.Item five depends on the rotation speed, the number of heads, and the current position of the head (inside or outside).
To optimize the performance, the third item should be improved. In SCSI devices, the ``disconnect'' feature comes into play. If this feature is used: The controller sends the command (in this case to the hard disk) ``Go to track x, sector y'' to the device. Now the disk motor must start. If this is an intelligent disk (if it supports disconnect) and the driver itself is also able to do disconnect, the controller sends a disconnect and the disk separates itself from the SCSI bus. Now other SCSI devices can do work. After a time (depending on the strategy or load on the SCSI bus), a connection to the disk is reestablished. Normally, the device has now reached the requested track.
On a multitasking, multiuser system like Linux, there are lots of optimizations that can be done here. Look at an output of the command df (see Output 1).
To demonstate the advantages, consider what happens if SuSE @nohyphen root enters the following in /usr/src:
package.tgz will be untarred into /usr/lib/package. To do so, the shell launches tar and gzip (located in /bin, so on /dev/sda) then package.tgz in /usr/src is read (on /dev/sdb). Last, the extracted data is written to /usr/lib (on /dev/sdc). With parallel disks, positioning as well as read and write of the disks' internal buffers can be activated at the same time.
This is only one example. There are many more. If this example were a frequent processing requirement and if there are many disks (with the same speed), as a rule of thumb, /usr and /usr/lib should physically be placed on different disks. Here /usr/lib should have approximately seventy percent of the capacity of /usr. /, due to its access, should be placed on the disk containing /usr/lib.
From a certain number of SCSI disks onwards (4-5), consider buying a RAID controller. Thus, operations on the disks are not merely semiparallel but parallel. Fault tolerance is one of its famous by-products.
The size of main memory is more important in Linux than the processor itself. One reason, if not the main reason, is Linux's ability to dynamically create buffers of hard disk data. Here, Linux uses lots of tricks, such as ``read ahead'' (getting sectors in advance) and ``delayed write'' (saving writes until there is a bundle to write). The latter is the reason why you should not switch off your Linux machine. Both factors contribute to the fact that the main memory seems to fill up over time as well as to Linux's high speed. See also 11.
This professional partitioning tool enables you to edit and delete existing partitions and create new ones. Access the Soft RAID and LVM configuration from here.
Note |
Background information and partitioning tips can be found in 1. |
In normal circumstances, partitions are specified during installation. However, it is possible to integrate a second hard disk in an existing Linux system. First, the new hard disk must be partitioned. Then it must be mounted and entered into the /etc/fstab file. It may be necessary to copy some of the data to move an /opt partition from the old hard disk to the new one.
Use caution if you want to repartition the hard disk in use -- this is essentially possible, but you will have to reboot the system right afterwards. It is a bit safer to boot from CD then repartition it.
` Experts...' opens a pop-up menu containing the following commands:
The Logical Volume Manager (LVM) enables flexible distribution of hard disk space over several file systems. As it is difficult to modify partitions on a running system, LVM was developed. It provides a virtual pool (Volume Group -- VG for short) of memory space from which logical volumes (LV) can be generated if needed. The operating system will access these instead of the physical partitions.
Features:
Implementing LVM already makes sense for heavily used home PCs or small servers. If you have a growing data stock, as in the case of databases, MP3 archives, or user directories, the Logical Volume Manager is just the right thing for you. This would allow you file systems that are larger than physical hard disk. Another advantage of the LVM is up to 256 LVs can be added. Keep in mind that working with the LVM is very different than working with conventional partitions.
Instructions and further information about configuring the Logical Volume Manager (LVM) can be found in the official LVM HOWTO and the SuSE documentation:
Prepare the LVM configuration in YaST by creating an LVM partition when installing. To do this, click ` Partitioning' in the suggestion window then ` Discard' or ` Change' in the screen that follows. Next, create a partition for LVM by first clicking ` Add' ->` Do not format' in the Partitioner then clicking ` 0x8e Linux LVM'. Continue partitioning with LVM immediately afterwards or wait until after the system is completely installed. To do this, highlight the LVM partition in the partitioner then click ` LVM...'.
After you select ` LVM...' in the partitioning section, continue automatically to a dialog in which you can repartition your hard disks. Delete or modify existing partitions here or add new ones. A partition to use for LVM must have the partition label 8E. These partitions are indicated by ``Linux LVM'' in the partition list.
Tip |
You do not need to individually set the 8E label for all partitions designated for LVM. If needed, YaST will automatically set the partition label of a partition assigned to an LVM Volume Group to 8E. For any unpartitioned areas on your disks, create LVM partitions in this dialog. These partitions should then be designated the partition label 8E. They do not have to be formatted and no mount point can be entered.
If a working LVM configuration already exists on your system, it will be automatically activated as soon as you begin configuring the LVM. If this is successfully activated, any disks containing a partition belonging to an activated volume group can no longer be repartitioned. The Linux kernel will refuse to read the modified partitioning of a hard disk as long as only one partition on this disk is used.
Repartitioning disks not belonging to an LVM volume group is not a problem at all. If you already have a functioning LVM configuration on your system, repartitioning is usually not necessary. In this screen, configure all mount points not located on LVM Logical Volumes. The root file system in YaST must be stored on a normal partition. Select this partition from the list and specify this as root file system using the ` Edit' button. To ensure LVM's optimal flexibility, it is recommended to pool all additional file systems onto LVM logical volumes. After specifying the root partition, exit this dialog.
In the dialog ` LVM', the LVM volume groups (often indicated by ``VG'') are managed. If no volume group exists on your system yet, you will be prompted to add one. system is suggested as a name for the volume group where the SuSE Linux system files are located. Physical Extent Size (PE Size) defines the maximum size of a physical and logical volume in this volume group. This value is normally set to 4 megabytes. This allows for a maximum size of 256 gigabytes for physical and logical volumes. The physical extent size should only be increased if you need larger logical volumes than 256 gigabytes (e.g. , to 8, 16, or 32 megabytes).
The following dialog lists all partitions with either the Linux LVM or Linux native type. Therefore, no swap and DOS partitions will be shown. If a partition is already assigned to a volume group, the name of the volume group will be shown in the list. Unassigned partitions are indicated by -.
The volume group currently being edited can be modified in the selection box to the upper left. The buttons in the upper right enable creation of additional volume groups and deletion of existing volume groups. Only volume groups to which no other partitions are assigned can be deleted. No more than one volume group needs to be created for a normally installed SuSE Linux system. A partition assigned to a volume group is also referred to as a physical volume (often indicated by PV).
To add a previously unassigned partition to the selected volume group, first click the partition then the ` Add Volume' button below the selection list. At this point, the name of the volume group is entered next to the selected partition. Assign all partitions reserved for LVM to a volume group. Otherwise, the space on the partition will remain unused. Before exiting the dialog, every volume group must be assigned at least one physical volume.
This dialog is responsible for managing logical volumes (often indicated by just ``LV'').
Logical volumes are assigned, one to each volume group, and have a particular given size. To create a striping array when you create the logical volumes, first create the LV with the largest number of stripes. A striping LV with n stripes can only be created correctly if the hard disk space required by the LV can still be distributed evenly to n Physical Volumes. If only PVs are available, an LV with three stripes is impossible.
Normally, a file system is created on a logical volume (e.g. , reiserfs, ext2) and is then designated a mount point. The files stored on this logical volume can be found at this mount point on the installed system. All normal Linux partitions to which a mount point is assigned, all swap partitions, and all already existing logical volumes are listed here.
If you have already configured LVM on your system, the existing logical volumes must be entered now. Before you proceed, assign the appropriate mount point to these logical volumes. If you are configuring LVM on a system for the first time, no logical volumes will be displayed in this screen yet. A logical volume must be generated for each mount point (using the ` Add' button). You will also need to specify the size, the file system type (e.g. , reiserfs or ext2), and the mount point (e.g. , /var, /usr, /home).
If you have created several volume groups, switch between the different volume groups in the selection list to the upper left. The added logical volumes are listed in the volume group displayed there. Once you have created all the logical volumes as required, exit the dialog and go on to software selection if you are still in the installation process.
Caution |
Using LVM might be associated with increased risk factors, such as data loss. Risks also include application crashes, power outage, and faulty commands. Save your data before implementing LVM or reconfiguring volumes -- never work without a backup. |
The purpose of RAID (Redundant Array of Inexpensive Disks) is to combine several hard disk partitions into one large ``virtual'' hard disk for the optimization of performance and data security. Using this method, however, one advantage is sacrificed for another. ``RAID level'' defines the pool and common triggering device of the all hard disks, the RAID controller. A RAID controller mostly uses the SCSI protocol, because it can drive more hard disks better than the IDE protocol. It is also better able to process parallel running commands.
Instead of a RAID controller, which can often be quite expensive, soft RAID is also able to take on these tasks. SuSE Linux offers the option of combining several hard disks into one soft RAID system with the help of YaST -- a very reasonable alternative to Hardware RAID.
Access Soft RAID configuration by way of the ` RAID' module under ` System' or via the partitioning module under ` Hardware'.
First, see a list of your partitions under ` Expert Settings' in the partitioning tool. If the Soft RAID partitions have already been set up, they will appear here. Otherwise, set them up from scratch. For RAID 0 and RAID 1, at least two partitions are needed -- usually for RAID 1, exactly two and no more. If RAID 5 is used, at least three partitions will be required. It is recommended to only take partitions of the same size. The RAID partitions should be stored on various hard disks to insure against the risk of losing data if one is defective (RAID 1 and to optimize the performance of RAID 0.
Click ` RAID' to open a dialog in which to choose between RAID levels 0, 1, and 5. In the following screen, assign the partition to the new RAID. ` Expert Options' opens the settings options for the ``chunk size'' -- for fine-tuning the performance. Checking ` Persistent Superblock' ensures that the RAID partitions will be recognized as such when booting.
After completing the configuration, you will then see the /dev/md0 device and others indicated on the expert page in the partitioning module by ``RAID''.
Find out whether a RAID partition has been destroyed by the file contents /proc/mdstats. The basic procedure in case of system failure is to shut down your Linux system and replace the defective hard disk with a new one partitioned the same way. Then restart your system and give the raidhotadd /dev/mdX /dev/sdX command. This will enable the hard disk to be integrated automatically into the RAID system and be fully reconstructed.
Configuration instructions and more details for Soft RAID can be found in the HOWTOs at:
Linux RAID mailing lists are also available, such as http://www.mail-archive.com/linux-raid@vger.rutgers.edu.