2.4. Installation Without a Supported CD-ROM Drive Other Boot Managers Because of the increasing importance of Linux, some creators of commer- cial boot managers have included options for booting Linux in their products. Best known among boot managers are System Commander Deluxe and Parti- tion Magic. In addition to help screens at boot time, many of these packages offer a lot of functionality. For example it is possible to extend existing FAT32 partitions or to change FAT16 partitions into FAT32. You can not find these programs on the installation CD's and we do not offer Installation support for these products! 2.4 Installation Without a Supported CD-ROM Drive What do you do if a standard installation via the CD-ROM drive is not pos- sible? Your CD-ROM drive might not be supported if it is an older, "propri- etary" model. Or it might be your second computer, (a Notebook, for exam- ple) which might not even have a CD-ROM drive, but instead has an Ethernet adapter or a PLIP cable. . . SuSE Linux provides ways of installing a system to such a machine without using a supported CD-ROM drive: * from a DOS partition (section 2.4.1) * via a network connection: NFS or FTP via ethernet, or PLIP (section 2.4.2 page 43) 2.4.1 Installation from a DOS Partition What's It All About? This involves (partially) copying Linux software to a DOS partition on the hard drive, if the standard kernel on the CD does not support your CD-ROM drive, or if Linux does not support the drive at all. Then you cannot use the CD-ROM drive in Linux, temporarily, or at all. Requirements You are using DOS, Windows or OS/2 and cannot use your CD-ROM and you know that Linux does not support your CD ROM. You have enough space on your DOS, OS/2 or Windows partition (3.11 or 95/98) and your computer has enough Memory. Step by Step. . . This is how you should copy all the required files to the hard drive (if you do not want to carry out the following steps individually, the batch file lhdsetup.bat in the directory \dosutils may be of help to you): 1. Create a directory to where the files should be copied. It doesn't matter what it is called, in our example it is named \emil. 41 2. Your first SuSE Linux installation Necessary directories suse a1 Base system (series a) images root root image scsi1 Bootkernel image setup descr Description files du Description of sizes loadlin.exe Linux loader (loadlin) xap1 xwm1 Other directorties with optional series Figure 2.17: Directory structure for the installation 2. Beneath the directory \emil you will need another directory, suse, and there, in turn, at least the directories a1, images and setup. These are necessary for the base installation of Linux. Create these directories now. Diagram 2.17, shows the complete file tree needed. 3. Copy the files from \suse\a1 of the first CD to \emil\suse\a1 on your hard drive: if you have enough space on your DOS partition then you can copy the complete tree, \suse from the CD to \emil\suse. 4. In \suse\images select a kernel which supports your hardware. More detailed information about which kernel supports which hardware can be found in \suse\images\readme.dos. Copy this kernel to \emil\suse\images. A kernel consists of four files (see above): the kernel without an extension and those files with the extensions .ikr, .inf and .map. If space on your hard drive is not an issue, you can copy all the kernels into this directory. You can then choose your kernel later on. 5. To be on the safe side, copy the files \suse\images\root and \suse\images\initdisk.gz to \emil\suse\images. 6. Copy \suse\setup\loadlin.exe to \emil\suse\setup. 7. Then you must unpack the file \suse\setup\root and copy it to \emil\suse\setup; to do this, you should use the DOS version of gzip form the directory \dosutils of the CD: C:> cd \emil\suse C:> gzip -dc < images\root > setup\inst-img This file is relatively big, but it is only needed while doing the first instal- lation. When the base system is up and running, you will be able to install additional packages from a DOS partition; then the file inst-img can be removed. 42 2.4. Installation Without a Supported CD-ROM Drive C:> cd \emil\suse C:> gzip -dc < images\root > setup\inst-img 8. Create the directory \emil\suse\setup\descr and copy all files from \suse\setup\descr to it. 9. If there is some space left on your hard drive, you can copy \suse\setup\du to \emil\suse\setup\du, which you have to create in advance. These files are not really necessary but will help you later for showing you how much space is left and how much is already occupied. If you have enough space, then this is quite useful. 10. You now have everything that is essential for installing Linux on your hard drive. But all other software is still missing. Since your CD-ROM is not supported by Linux, you have to install everything step by step, which means that you have to copy everything you want onto the hard drive, install it from there using YaST, and then delete it again from the hard drive. You don't have to do that right now, but if you already know what you're going to use, you can start now: just create the corresponding directory in \emil\suse and copy the relevant files there. You can find all packages with their contents in the online documentation of the CD or in the package descriptions. Now the installation can begin as described in section 2.2.2 page 24. When linuxrc asks for the source medium (section 2.2.3 page 25), you should enter `hard drive', and the question about the hard drive parti- tions is answered with the Device of your DOS partition. This is normally /dev/hda1 or /dev/sda1 if DOS resides on the first primary partition. If you stuck to the example above, the source medium ­ this is the next question ­ should be specified as emil. Then the installation proceeds as described in section 2.2.4 page 29 pp. Under no circumstances should you, when asked about partitioning, specify the `Use whole hard disk' ­ this would undo all your preparations. 2.4.2 Installation from a Source in the "Net" We do not offer support for this method of installation (see section H.1.2 page 493). It is only recommended for experienced computer users. What's It All About? There is no CD-ROM installed in the machine you want to install Linux on. There is no DOS partition either. You are capable of connecting to a remote machine that has an installed CD-ROM or a machine with the CD copied to a hard disk over the network (as described in section 2.4.1 page 41). In addition it is necessary to copy the files .S.u.S.E-disk* from the CD-ROM to the hard drive; in Linux this can be abbreviated in the following way: earth: # cp /cdrom/.S* /emil earth: # cp -a /cdrom/suse /emil This "other" computer must "export" the directory in a suitable manner. 43 2. Your first SuSE Linux installation Step by Step 1. Start the installation of the client as specified in section 2.2.2 page 24. 2. Continue with the installation as described in section 2.2.3 page 25, but: When you come to `Kernel modules', select `Networking cards' and load the necessary driver. This is not necessary if you are installing via PLIP. When linuxrc asks you for a `Source medium', you should enter `Network (NFS)' and go through the menu for network configura- tion. An alternative is to install via FTP. 3. Finish up the installation as given in section 2.2.4 page 29. Possible Problems * The installation aborts before it has actually started, because the installa- tion directory of the "other" machine wasn't exported with exec permis- sions. Correct this and start again. * The server does not know the computer on which SuSE Linux is to be installed. Enter the name and IP address of the computer which is to be newly installed into the file /etc/hosts of the server. 2.5 Installation Using setup and loadlin 2.5.1 Putting Windows 95/98 into DOS mode You must switch your computer to real mode in DOS to proceed with the installation. The program loadlin which is called up by the installation program setup.exe is an MS-DOS program which is only able to load the Linux kernel to mem- ory and start it for the Base-Linux into memory and start it if either the CPU runs in real mode or a VCPI server3 is active. The DOS window of Windows 95/98 runs in virtual 8086 mode but does not offer a VCPI server. This is why setup does not work here. Step by Step There are two alternatives: switching to DOS mode from Windows 95/98 or booting your computer and selecting command line input (DOS). If Windows 95/98 is already running, click on `Start', `Shut down', `Restart the computer in MS-DOS mode'. Or if you are just booting, you can press F8 at the Windows start and choose `command line input'. Possible Problems Problems may arise if you have a non-US keyboard in MS-DOS or the driver for your CD-ROM is not loaded: 3 e. g., provided by emm386.exe. 44 2.5. Installation Using setup and loadlin * In DOS mode, if German umlauts and special keys do not work, see section 2.7.2 page 53. * In DOS mode, if you cannot switch to your CD-ROM drive, see sec- tion 2.7.3 page 53. 2.5.2 Invoking setup and First Steps with setup What's It All About Setup.exe starts your Base-Linux which enables you to proceed with the ac- tual Linux installation. We use the program until we have to choose between two alternative methods of starting the base Linux. You have started MS-DOS or an MS-DOS window (not in protected mode). The first CD is in your CD-ROM drive and you can access it. With the help of the program Setup.exe you will get a base Linux system started, which later allows the actual Linux installation to take place. Start Setup.exe now and and go through the steps until you reach the point where you have to decide between one of two alternatives, namely booting with boot disks or with loadlin from CD. Step by Step Here's how to proceed: 1. Start setup.exe in the root directory of your CD. 2. Select a language; for an `English' installation just highlight, and press . 3. Enter your CD-ROM drive letter (e. g., E: on DOS). This may have changed due to a DOS partition having been added. 4. Setup.exe welcomes you; we reply to such a nice gesture by pressing . 5. The following sections will explain the booting of the base-Linux. (see section 2.5.3, below). 2.5.3 How Do I Boot the Base-Linux from setup? There are two methods of booting your base-Linux from setup: either with boot disks or directly from CD-ROM using loadlin. Now you have to decide which one to choose. Additional Information The easiest and most convenient way is to start your base-Linux directly from CD using loadlin.exe. It runs on DOS, loads a kernel image from CD into RAM and starts executing kernel code. In order for this to function, the computer has to be running in real mode or a VCPI server4 needs to be active in virtual 8086-mode. It is not possible to use the DOS box of OS/2 DOS or Windows NT. 4 Ein VCPI server is provided, for example, by emm386.exe. 45 2. Your first SuSE Linux installation Booting via disks is almost always possible but is a little more tricky and requires a bit more time. We are talking here about the disks created by setup. The easiest way of all is to use the SuSE boot disk (or to boot from CD). We will explain these options later, but for now let's stick to the option of creating floppy disks with setup, or loading the kernel directly with loadlin. Recommendation Take the "loadlin way" whenever possible as long as your CD-ROM is sup- ported and you are not working in OS/2 or Windows NT. If in doubt, just try it. If this fails, you only need to start again at section 2.5.2 on the preceding page and choose the "floppy method". 2.5.4 Installing loadlin and Loading Base-Linux In this step you will install and use loadlin. Then you will start a kernel from DOS and bring up your Base-Linux. Requirements If you have made it this far and are ready for your first Linux prompt, then you have fulfilled all requirements! Details Setup now creates the directory \loadlin in your DOS partition. The files setup.exe, loadlin.exe, Linux.bat and the selected kernel (zimage) are copied to this directory. If you want to start Linux later, just enter Linux.bat, adding the root partition as parameter. Assigning the root partition is covered in section 2.10.2 page 66. At the end of this step, the kernel is loaded and started. Step by Step Now proceed to install loadlin to start your Base-Linux. 1. Choose `loadlin' and press . 2. The box displays your RAM size. Normally, this should be correct and you should confirm by pressing . If the size doesn't match, please correct it. 3. Now you have to state whether your CD-ROM drive is supported. You have already answered this question ­ give the same answer as in sec- tion 2.6.4 page 52. * If Linux supports your CD-ROM drive, just press . * If your drive is not supported, you have already copied files to a DOS directory in section 2.4.1 page 41. Just select `Hard disk' and press . Next, enter the path where you copied suse to. In our example, in section 2.4.1 page 41, we used \emil. So we need to enter \emil. You don't need to enter the directory beneath it, suse. 4. Now you need to select a suitable kernel. 46 2.6. Partitions 5. This step deals with kernel parameters. You can specify one parameter per line, an empty line means finished. A detailed description of kernel parameters may be found in section 14.1 page 325. A complete list of kernel parameters relevant for the installation can be found in section 14.3.2 page 327. 6. Now you are asked whether to install loadlin. Just answer `Yes'. Setup now creates the directory \loadlin and copies the files there. 7. Now we can start Base-Linux with the option `Load Linux'. You should see one or two pages scrolling by. If everything went well, linuxrc will welcome you. You may scroll through the kernel messages with Shift + PgUp and Shift + PgDn . Now the installation can start, as described in detail in section 2.2.3 page 25. Possible Problems Problems here could occur at two points: either loadlin cannot load the kernel or the kernel has problems with the hardware: * there is too little memory for loadlin to load the kernel. See section 2.7.8 page 55. * loadlin cannot start the kernel. It runs in virtual 8086 mode but there is no VCPI server present. See section 2.7.10 page 56. * loadlin fails. See section 2.7.9 page 55. * The CD is damaged. See section 2.7.4 page 53. Now the installation may start as given in section 2.2.3 page 25. 2.6 Partitions 2.6.1 Creating Space for Linux (Partitioning) You need to prepare your hard drive for Linux partitions. ­ Hopefully you have some time to read through this section carefully. It is recommended that you have some disks or tapes for a backup, and a boot disk to boot your existing operating system. Details By partitioning, your hard drive can be separated into several independent parts. One reason for partitioning your hard drive might be the coexistence of several different operating systems with different filesystems on your hard drive. Hard drives are divided into cylinders. Each cylinder always contains exactly the same amount of tracks, cylinder 0 being the innermost. How do you get space for your Linux partition? * Individual partitions on the hard drive can be deleted but all data which resides on these partitions will be lost. This space is now available for new partitions (e. g., Linux). You could, though, split this partition into two or more partitions. 47 2. Your first SuSE Linux installation * Any partition can be assigned to a different filesystem. As with deleting, all data on these partitions will be lost. * In MS-DOS or Windows 95/98 you can reduce the last partition of the hard drive in size without losing files in it; you must ensure, with a de- fragmentation program, that all files are located at the beginning of the partition. If you just have one MS-DOS- or Windows partition you can make space in this way for Linux partitions very simply. After defrag- menting you can, with special programs ­ for example, the Freeware pro- gram, fips ­ reduce the cylinder upper limit, thus making the partition smaller. You can find fips on CD 1 in the directory dosutils. * If you are using MS-DOS or Windows, you can minimize the last partition without losing data. If all data resides on low-numbered cylinders, special programs (e. g., fips) can decrease the upper cylinder limit to reduce the size of the last partition leading to the possibility of creating a new partition for Linux. Using a defragmentation program ensures you that all data is moved to the beginning of the partition. * The easiest way is to buy a new hard drive. This, of course, will cost you some money. Every change of the partition tables must be done with extreme caution! Please read the documentation of the corresponding programs! Severe problems can occur while changing partition tables; you can even lose all your data. We at SuSE cannot be held responsible for this! It is strongly recommended that you have at least a boot disk and a backup of your important data. Step by Step This is how to proceed to partition your hard drive: 1. If you don't know already, you have to find out how many partitions your hard drive consists of and the size of the partitions. Use fdisk of your OS for this task. 2. Determine how many partitions you really need and which size you are going to assign to them. Information on this may be found in Section 2.8 page 58 and in Section 2.9 page 60. 3. Write down the partition data; you're going to need it later during the installation process. 4. A backup of your hard drive at this point is highly recommended! If you don't have a backup tape or streamer installed and don't want to back up everything onto floppies (which is a tedious job), at least make a backup of the most important data and files (e. g., autoexec.bat, config.sys, *.ini, etc.). Create a boot disk for your OS and make sure you can boot with it! There are several programs that might come in handy on your boot disk, such as fdisk, an editor, a formatting program and a backup program. 5. The next step depends on your system configuration. 48 2.6. Partitions DOS/Windows 95/98, One Partition on Your Hard Drive, and No Backup You have to reduce the size of your partition without deleting data. Move all data to the beginning of your partition using a tool such as defrag (MS-DOS 6 or Windows 95/98). The defragmentation program doesn't normally move hidden or system files because sometimes they are write-protected and have a defined place on the hard drive; moving them could have adverse effects. If you are sure that no such data is on your hard drive you can deactivate the attributes hidden or system for the necessary files or, depending on which de- fragmentation program you are using, you can "force" the defragmenta- tion of such files. Please keep in mind that even the Windows swap file is a hidden file. If it's in your way, you have to deselect it in Windows in "disable virtual memory". Once you have retrieved enough space, change to the directory \dosutils\fips15 on your SuSE CD. There you will find fips.exe, with which you can make partitions smaller. Study the documentation included about fips carefully, since changing partition tables can be quite tricky! The program fips.exe only runs on DOS, not on Windows; you have to exit Windows or (if using Windows 95/98) change into DOS mode (see Section 2.5.1 page 44). After running fips.exe, you will have a second partition which later will be divided into your Linux partitions. fips.exe in \dosutils\fips\fips20 is capable of shrinking fat32 partitions. Please make a backup before trying out this fips version! DOS/Windows 95/98 with Several Partitions or You Have a Complete File Backup You can delete your DOS partitions and afterwards install them again, reduced in size. You are going to lose all data on those partitions, so you have to have a complete backup available (file backup, no image backup!). Using fdisk, you delete all partitions and install the new ones. Next, you format these partitions, install your OS and copy all data from your backup back to disk (remember that you must have your backup program on your boot disk). OS/2 Here, you have the following possibilities: * Reduce your OS/2 partitions. To accomplish this, you must backup all data on your OS/2 partition, delete these partitions using OS/2's fdisk and reinstall them reduced in size. The space now available will be used later for your Linux partitions. * You plan to use Linux in future instead of OS/2. Then all you have to is change the partition type later on to Linux. Or delete all OS/2 partitions and recreate them later as Linux partitions. 49 2. Your first SuSE Linux installation * You buy a new hard drive. Formatting and partitioning it will be done later with YaST. 6. Reboot your computer. 7. Check whether your old system is still running! Linux partitions on the freshly created new space will be installed later using YaST. Possible Problems The following problems can occur: * The partition might not be adequately reduced in size because defrag cannot move some files. See Section 2.7.1 page 52. * In DOS/Windows your CD-ROM now has another hard drive identifier; in Windows 95/98 the computer hangs. See Section 2.7.12 page 56. 2.6.2 Booting with CD 2 As well as CD 1, the second CD is also bootable. Whilst on CD 1 a 2.88 MB large boot image is used, the second CD contains a traditional image of 1.44 MB in size. You should use CD 2 when you know for certain that you can boot from CD, but when things don't work with CD 1 (the "fallback" solution). Unfortu- nately not every BIOS correctly recognizes the large images. 2.6.3 Creating a Boot Disk In DOS Requirements You need a formatted 3.5" floppy disk and a bootable 3.5" floppy drive. If you are working in Windows 95/98, you must launch setup from MS-DOS mode, and not from within a DOS window. Additional Information CD 1 in the directory /disks contains a number of disk images. Such an image can be copied to a disk with the help of suitable auxiliary programs, this disk is then called a boot disk. Also on these disk images are the "loader", Syslinux and program linuxrc; Syslinux allows you to select a specific kernel for the booting process, and to add parameters for your hardware, if necessary. The program linuxrc supports the loading of kernel modules specially for your hardware and then starts the installation. Normally the SuSE-boot disk supplied can be used to boot with. Only for exotic hardware, not supported by the modularised kernel of this boot disk, or if you download a disk image from the Internet, for example from ftp://ftp.suse.com, do you need to create your own boot disk, as described here. 50 2.6. Partitions With Setup Step by Step Here's how to create a boot disk: 1. Start setup directly from CD 1. 2. Select `floppy' and press ,next select `Boot' and again . 3. Now you have to select a disk with a suitable kernel that, for example, supports your SCSI adapter, if you have one. setup shows the essential part of the kernel descriptions. If you need further information, you can look it up in \disks\readme.dos. Remember the name of your your kernel. You will need it later. Now press . 4. Now you're ready to create the boot disk. Insert the (DOS-formatted) disk into the 3.5" drive and select the disk you want to create. * Only the boot disk is needed (`Root' is not needed anymore for SuSE Linux.) Move the cursor onto `Boot' and press . * setup requests you to confirm that you have inserted a disk. Press and the disk is written. * When this is finished, press . * Now select `Done' to exit this screen and setup. With rawrite Alternatively you might want to use the (perhaps slower) DOS program rawrite.exe (CD 1, directory \dosutils\rawrite) to write the disk at the boot prompt. The standard disk images are contained on CD 1 in the directory /disks; please read the file README. The image bootdisk or scsi01 is the usual choice for the standard disk. All the actual kernels can be found in the directory /suse/images, and have the extension .ikr. If you need the the standard disk which is supplied with every SuSE Linux then you should proceed as follows; it is assumed that you are in the directory of the CD: Q:> dosutils\rawrite\rawrite disks\eide01 Things get slightly more complex if, for example, you need a kernel for special EIDE chipsets; type of SCSI kernel; in this case you should first copy the standard image (bootdisk) to the disk and then overwrite the actual kernel (linux) with the special EIDE kernel you require (for example, with eide.ikr): Q:> dosutils\rawrite\rawrite disks\bootdisk Q:> copy suse\images\eide.ikr a:\linux 2.6.4 Creating a Boot Disk with UNIX Requirements You have access to a Unix/Linux system with an accessible CD-ROM drive. You need to have a formatted disk ready. This is how you create a boot disk: 51 2. Your first SuSE Linux installation 1. If you need to format the disks first: earth: # fdformat /dev/fd0u1440 2. Mount the first CD (disk 1) (e. g., to /cdrom: earth: # mount -tiso9660 /dev/cdrom /cdrom 3. Change to the disks directory on CD: earth: # cd /cdrom/disks 4. Create the boot disk with earth: # dd if=/cdrom/disks/bootdisk of=/dev/fd0 bs=8k In the README file in the directory disks you can read about what features specific kernels have; these files can be read with more or less (on less, cf. Section 19.7.3 page 434). 5. If you need a different kernel, proceed as follows: earth: # dd if=/cdrom/disks/scsi01 of=/dev/fd0 bs=8k earth: # mount -t msdos /dev/fd0 /mnt earth: # cp /cdrom/suse/images/eide.ikr /mnt/linux earth: # umount /mnt 2.6.5 Does Linux Support My CD-ROM? Almost every CD-ROM drive is now supported by Linux. * Using ATAPI drives (those drives connected to an EIDE controller), there should be no problems at all. * Using SCSI CD-ROM drives, it is only important whether the SCSI con- troller is supported by Linux (supported SCSI controllers are listed in the Appendix). If your SCSI controller is not supported and there is a HD connected to it, you will have a problem anyway. * Lots of proprietary CD-ROM drives are supported under Linux (see Ap- pendix). Here is the most likely place for problems to occur. If your drive is not mentioned, you could try choosing a similar type. * In the meantime parallel port CD-ROM drives have become very popular. Unfortunately there is no standard, which can lead to unexpected trouble. SuSE Linux contains a large number of alpha drivers for some devices. If none of them works you have to install via DOS. Please keep in mind that you may access some of these devices only after the have been set up under DOS. So you might need a warm reboot. 2.7 Problem Description 2.7.1 Files Cannot Be Moved Files with the system or hidden attribute set can't be moved by defrag- mentation programs. If you want to find out which files might be causing a problem, just type: attrib \*.* /s > Now you can see a whole list of your hard drive in the file . Here you can identify the files that cause problems and change them using: 52 2.7. Problem Description attrib -S -H Proceed with care not to delete copy protection files, permanent swap files, or other system specific files. After defragmentation, you should undo your attribute changes. In Windows you can use the "file manager" or the "Explorer" for this purpose. If this doesn't work, then you have to take the plunge, and repartition your hard drive. This means that you have to save all your important files in order to restore them after you have finished repartitioning your drive. The alternative is to buy a new hard drive. Since prices are falling steadily, this might not be a bad idea. . . 2.7.2 No English Keymaps in DOS Mode In DOS mode enter the following line: loadhigh keyb gr,,c:\windows\command\keyboard.sys or simply add this line to autoexec.bat. If Windows is located elsewhere, then you have to adjust the path accordingly. 2.7.3 No CD-ROM Driver in a Windows 95/98 DOS Window In MS-DOS mode, only those drivers are available that have been loaded in config.sys and autoexec.bat. It makes sense not to put your CD- ROM driver into those files since Windows 95/98 has its own drivers. For using CD-ROM drivers in a DOS window, you have to create a shortcut to an MS-DOS command line. Then, using the right mouse button, open up the properties for this shortcut and under tab `Program' click the `Ad- vanced' button. Here is where you must enter your CD-ROM drivers to work in this DOS window. 2.7.4 CD is Damaged This possibility is extremely unusual, but it cannot be completely excluded. If this is the case, you should get in touch with your hardware dealer. 2.7.5 ATAPI CD-ROM Hangs While Reading 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 to not know what to do with this "gap". You can try to fix this by passing the appropriate parameter to the kernel (hdc=cdrom) (see section 14.3.2 page 327). 53 2. Your first SuSE Linux installation Sometimes one of the devices is just "mis-jumpered". This means it is jumpered as slave but is connected as master, or vice versa. In case of doubt, just 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. (cf. the README in /disks of the installation CD-ROM; the kernel parame- ters needed are described in detail in Section 14.3.2 page 327 and Chapter 13 page 317. If booting does not work straightaway, then try using the following kernel parameters. At the boot prompt (boot:), enter: boot: linux (see below) Note: Don't forget to add the name of the kernel (linux) before the actual parameters! ­ hd=cdrom - stands for a,b,c,d... and is to be interpreted as follows: * a - Master on the 1st IDE controller * b - Slave on the 1st IDE controller * c - Master on the 2nd IDE controller * . . . An example of : hdb=cdrom With this parameter you can specify the CD-ROM drive to the kernel, in case it cannot find it itself, and if you have an ATAPI CD-ROM drive. ­ ide=noautotune - stands for 0,1,2,3 and is to be inter- preted as follows: * 0 - 1. IDE controller * 1 - 2. IDE controller * . . . An example of : ide0=noautotune This parameter is often useful for (E)IDE hard drives. Further kernel parameters can be found in section 14.3.2 page 327 pp.; in case of problems with SCSI systems or with connecting network cards, you should also look here. 2.7.6 Problems with CD-ROM Drives on Parallel Port All available drivers are listed by Linuxrc at the installation. Normally there are no peculiarities. Unfortunately, lots of drives (e. g. Freecom) are not supported yet. It may be that you cannot use them although the manual claims that the type is identical. The manufacturer apparently has changed the internals without making these changes public. . . Some of the devices need to be initialized by the DOS driver for making them available under Linux: 54 2.7. Problem Description 1. Boot DOS and load the CD-ROM driver. 2. Insert a Linux boot disk. 3. warm reboot the machine If your drive is not supported you will have to install from a DOS partition, as before (see section 2.4 page 41). For current information on parallel port programming have a look at: http: //www.torque.net/linux-pp.html. 2.7.7 Problems with "Proprietary" CD-ROM Drives There are a number of different drivers available for Mitsumi drives! These special Mitsumi drivers are ones specifically responsible for the "old" drives which have their own controller (e. g. LU-005 or FX-001). For more recent drives (such as FX-400) the item `ATAPI EIDE' must be selected. The same applies for drives from Sony and Aztech. The Mitsumi MCDX driver differs from "normal" Mitsumi drivers only in the sense that it is able to read Multisession CD's. It is thus irrelevant for the installation which of the two drivers are used. We have decided, however, to include this driver explicitly, since there might possibly be cases in which one, but not the other, driver may function. 2.7.8 Thinkpad "Sleeps" While Installing While booting, the system aborts at different places :-( There is no general solution available. For some older versions an alternative might be the installation via DOS via setup.exe and to load Linux itself with loadlin (see section 2.5 page 44) Here are some hints that we collected in the past. Feedback is welcome: * Please switch off everything that enables power safe mode. Keys: "sus- pend mode", "power management", "sleep features". * If you start via DOS load the CD-ROM driver in your config.sys with the /S option. For and you have to enter your system specific values. DEVICE = :\\IBMTPCD.SYS /S * Please avoid accessing the floppy drive during the installation. 2.7.9 Loadlin Doesn't Have Enough Memory to Load the Kernel You don't have enough free memory below 640 KB. Try to remove drivers from your startup files or shift them to high memory. If you use compressed drives under Windows 95/98 and shifting the driver to high memory doesn't work, you have to decompress those drives. 55 2. Your first SuSE Linux installation 2.7.10 Loadlin Doesn't Start If you encounter any problems using loadlin, you should start loadlin using the following options: -v, -t or -d. It is best to write the debug information into a file, debug.out. C:\> loadlin -d debug.out You could send this file to the SuSE support. For you need to enter your system-specific values (see section 4.9.1 page 125) 2.7.11 DOS Runs in Protected Mode loadlin can only boot the kernel if the machine isn't running in protected mode, or if a VCPI server is running. If you're working in Windows 95/98, you have to switch to MS-DOS mode. * Either go via the `Start' button to `Shut down', then `Restart computer in MS-DOS mode' or * create a link to the MS-DOS command line and change the properties accordingly: In the `Program' menu select `Advanced' and mark with an "X" on `MS-DOS mode'. If you now restart your MS-DOS window, it will start in MS-DOS mode. 2.7.12 Label of CD-ROM Drive Has Changed If you have created an additional partition using fips, this is a DOS partition. Therefore, all other drives are shifted forward one step and your CD-ROM is no longer D: but E:. After changing partition types to Linux with YaST, this changes back; your CD-ROM drive should now be D: again. If you are not able to open the CD-ROM in Windows Explorer or My Com- puter under Windows 95/98, this means that it is still trying to access `E:' (using the above example). You then have to use the system management tool in the Control Panel to change your CD-ROM label to `D:'. 2.7.13 General Hardware Problems One or more of the following phenomena occur : * Timing problems when accessing the CD-ROM (halt,long delays, bus errors, segmentation faults) * kernel generation (or compilation of other programs) aborts with signal 11 or signal 7. * Incorrect file contents * Error accessing memory * Graphics are not displayed correctly * crc-errors when accessing the floppy disk drive * Crashes or halts during boot-up * Errors when creating a filesystem (mke2fs reports errors)) * Errors setting up the swap area * Other "strange" system behavior when accessing hardware 56 2.7. Problem Description Background Information These strange phenomena are most probably down to faulty or wrongly con- figured hardware. The reason for this is that many motherboards apparently have timing problems. These timing problems become visible through bus errors (CPU-memory-PCI-ISA). Even if the system is stable under DOS or Windows, for example, this doesn't say anything about the stability of the hardware and its configuration. The hardware manages to work with the slow segmented memory access of a CPU working in 16 bit realmode (under DOS, Windows). As soon as the memory is accessed in linear mode with 32 bit bursts, errors can occur. A further cause can be a badly cooled CPU or too slow or faulty (heat- sensitive) RAM modules (SIMMS). Faults in the 2nd-Level cache (incon- sistency, heat problems) can also create the above-mentioned effects. The cause lies quite clearly, then, with the hardware, and not with Linux. Linux requires more hardware stability than other operating systems do. On the one hand this provides increased performance. On the other hand it can lead to the above-mentioned problems on some systems. In contrast to other operating systems Linux assumes that the hardware works stable. If this is not the case Linux stops working. An operating system that still runs with faulty or potentially faulty hardware represents a severe security risk. See http://www.bitwizard.nl/sig11. What Can Be Done? There are a number of parameters and conditions that can be changed in order to isolate the faulty equipment. * Switch off the internal and/or external Cache using the BIOS setup (CMOS) * Reduce the bus clock (VLB a maximum of 40MHz! PCI bus according to the specifications, a maximum of 66 MHz for the external processor clock): use BIOS setup or jumpers on the mainboard. * Increase the number of waitstates when the CPU accesses memory or cache: use BIOS setup. * Check whether the option `15-16M Memory Hole' is activated in the BIOS setup: if this is the case, de-activate it! Linux does not expect such "holes"! * In the (Advanced) Chipset Setup, if available, set `CAS before RAS': use BIOS setup. * Test the memory modules: ­ There will always be problems where modules of different kinds are used together! ­ When using a PCI-bus with 66 MHz the DRAM modules must be specified with 60ns (or less) (no overtiming). ­ Check the fittings of the SIMMS or DIMMS, they must fit exactly and must not be loose or tilted. Remove the modules from the board and put them back in (check for corroded contacts!) 57 2. Your first SuSE Linux installation ­ Change the order of the modules in the memory banks. * Check that the CPU fan is working and whether it really fits exactly on the CPU (if necessary use heat transfer paste) * Switch off Power Management (APM). This was noticed several times as a source of errors, particularly in conjunction with the 2940: use the BIOS setup. * Some Pentium clones cause problems if the kernel or the compiler were optimized for the Pentium but a K6 or a Cyrix 6x86 is used instead. On such systems you have to optimize the kernel and the programs for a 486 at the maximum. It might even be necessary to fall back to 386 optimiza- tion. You should use the SuSE standard kernel (refer to yast.boot). * Check all general BIOS settings. If necessary, revert to the (rather con- servative) `BIOS defaults'. * If you have a buggy PC-BIOS the only solution is a BIOS update. Ask your local dealer or the manufacturer of the mainboard. * The power supply doesn't supply enough electricity or the voltage fluctu- ates: try switching off some other appliances. * Do not use the "Busmaster-DMA", also known as "UDMA" or "Ultra- DMA". Make sure the EIDE cable is short and is of good quality. 2.8 Partitioning for Novices Is Linux and its filesystem completely new to you? Then you probably ask yourself questions like: How much space should I assign to Linux? What's the minimum I need? What's best for my needs? How should I divide up the available space? Partition Types on a PC Every hard disk contains a partition table which in turn contains space for up to four entries. Each entry may be either a primary or an extended partition. Only one extended partition may be assigned. Primary partitions are a continuous section of cylinders which are assigned to one operating system. Using primary partitions, you would only be able to create four partitions. More will not fit into the partition table. An extended partition itself is also a continuous section of cylinders, but you can divide an extended partition into multiple logical partitions which, in turn, don't need a separate entry in the partition table. The extended partition is more or less a container for logical partitions. If you need more than four partitions, you have to make one an extended partition in which you may assign logical partitions. The maximum for SCSI systems is 15 partitions and 63 for (E)IDE systems. Linux doesn't care what kind of partition it is installed in. It can be primary or logical. 58 2.8. Partitioning for Novices Time to Decide Let's start with the minimum SuSE Linux install: 180 MB. This only works if you use the machine for a simple purpose, e. g., you only work on a text console (no X Window System). If you want to take a look at X and start a few applications, you will need 500 MB. Both values include swap. What is a reasonable size for an installation? 1 GB. In this world of gigabyte hard drives, this is quite a modest requirement. And there is no upper limit. What's the best for your needs? That depends on what you want to do: * Working in X and using applications such as Applixware and Netscape will require 1.2 GB. * To create your own applications in X, you also need 1.2 GB. * Both of the above items: 2 GB. * To compile your own X servers, write your own CD's together with the items mentioned above: 4 GB . * To set up an Internet/FTP server: 700 MB minimum. With the robustness of the Linux filesystem which has now been achieved, it is a very good idea, especially for novices, to follow the strategy sug- gested by YaST: a small partition at the beginning of the hard drive for /boot (at least 2 MB, for large drives, 1 cylinder), a partition for swap (64-128 MB), all the rest for /. If you want to partition something, but also as little as possible, then the following simple rules are valid: How should you divide up the hard disk? This simple question cannot be answered easily. Apply these guidelines: * up to 500 MB: swap partition and a root (/) * approx. 500 MB to 2 GB: small boot partition for the kernel and LILO at the very beginning of the hard disk (/boot, approx. 5-10 MB or 1 cylin- der), a swap partition and the rest for the root partition /. * more than 2 GB: boot (/boot, swap, root (250 MB), home (/home with approx. 100 MB per user) and the rest for applications (/usr); posssibly a further partition for /opt (see on this page) and for /var. If you plan to start Linux directly from the hard drive, you will need a Linux partition below the "1024 cylinder limit" as a boot partition (you can read more on this in page 107. This doesn't concern you if you are starting Linux from DOS/Windows with loadlin. Usually, from SuSE Linux 6.0, the boot partition (/boot) will be the same as the root partition. You should bear in mind that some programs (mostly commercial programs) install their data in/opt; if you are installing a number of these you should either create a separate partition for /opt or enlarge the dimensions of the root partition accordingly. Specifically this involves the program packages or demo programs listed in table 2.1 on the following page ­ which have been 59 2. Your first SuSE Linux installation calculated with size increases in mind (in the table mentioned there are also programs which are not included in SuSE Linux) Just in case, either provide for /opt its own partition or make the root parti- tion big enough. Some examples are shown in table 2.1. KDE 170 MB GNOME 100 MB htdig 5 MB Fortify 2 MB dochost with htdig full text search 200 MB Wabi 10 MB Netscape 35 MB Arcad 350 MB Applixware 400 MB Eagle 18 MB Staroffice 150 MB Cyberscheduler Software 30 MB Cygnus Source-Navigator 20 MB SNiFF+ 45 MB Insure++ 45 MB pep 18 MB Oracle 8 400 MB Sybase ­ Adaptive Server Enterprise 170 MB virtuoso ­ OpenLink Virtuoso Lite Edition 55 MB Table 2.1: Packages in directory /opt 2.9 Partitioning for Experts In the previous section 2.8 page 58 and in section 2.10.1 page 64 details are given of the various ways of partitioning your system. This section should provide more detailed information for tailoring a system that best suits your needs. This section is mainly of interest for those who want an optimized sys- tem as far as security and performance are concerned ­ and who are prepared to re-install the complete system, where necessary. It is absolutely essential that you have extensive knowledge of the functions of a UNIX filesystem. You should be familiar with the topics mount point, physical, extended and logical partitions. It should be mentioned here that there is no golden rule for all, but many rules for each situation. Don't worry, you will find concrete figures in this section to help you. First, you need to gather the following information: * What is the purpose of the machine (file server, compute server, stan- dalone machine)? * How many people are going to work with this machine (simultaneous logins)? 60 2.9. Partitioning for Experts * How many hard disks are installed? How big are they and which kind (EIDE, SCSI or even RAID controllers)? 2.9.1 Size of Swap Partition Quite often you will read: " Swap should be at least as large as physical RAM". This is a relic of times when 8 MB was regarded as a lot of RAM Memory. Applications that need considerable memory have shifted these values up. Generally, 64 MB of virtual swap should be sufficient. Do not be stingy. If you compile a kernel in X and want to have a look at the manual pages using Netscape and have an emacs running, you will already take up all of 64 MB. To be safe, opt for at least 96 MB of virtual memory. One thing you should never do is not assign swap space at all! Even on a machine with 256 MB RAM, there should be a swap partition. The reasons are described in sec- tion 2.9.3 page 64. Do you plan to run extensive simulations and need gigabytes of memory? In case of doubt as to whether Linux suits your needs, please read section 2.9.2 on the next page (Example: compute server). 2.9.2 Computer Used as Standalone Machine The most common use for a Linux machine is as a standalone computer. In order to make decisions as easy as possible for you, we provide you with some concrete figures which you can use at home or at your company. In table 2.2 is an overview of size requirements for different Linux systems. Installation Disk space needed minimum 180 MB up to 400 MB small 400 MB up to 800 MB medium 800 MB up to 4 GB large 4 GB up to 8 GB Table 2.2: Examples of disk space requirements for different installations Example: Standalone Machine (Small) You have a 500 MB spare hard disk to hold Linux: use 100 MB for root /, a 64 MB swap partition and the rest for /usr. Example: Standalone Machine (Average) You have 1,2 GB available for Linux. A small boot partition /boot (5- 10 MB or 1 cylinder), 180 MB for /, 64 MB for swap, 100 MB for /home and the rest for /usr; don't forget the /opt area (see section 2.8 page 59). When deciding on the size of the root partition, remember that the RPM database is created in /var (see section 15.3.2 page 373)! 61 2. Your first SuSE Linux installation There is 1.2 GB available for Linux. As above, use 100 MB for root /, 64 MB for swap, 100 MB for /home and the rest for /usr. Note that the RPM database in /var occupies several MBs (see also section 15.3.2 page 373). Example: Standalone Machine (Luxury) If you have more than 1.2 GB available, there is no standard way to partition. Please read section 2.9.3. Using as a File Server Here, hard drive performance is really 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 directo- ries, 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 (from 20 users upwards), 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 80 MB for personal space, a 2 GB disk mounted under home will probably do. If there are 50 such users, you will need a 4 GB disk. In this case, it would be better to split home into two 2 GB disks, as now they would then share the load (and access time!). Using as a Compute Server A compute server is generally a powerful machine that carries out extensive calculations over the net. Normally, such a machine is equipped with exten- sive main memory (512 RAM or greater). The only point where fast disks are needed is for the swap space. the same rule applies here: if you have a number of hard drives you can spread swap partitions across them5. Separate the swap partitions onto separate disks. Linux can normally only handle 128 MB swap partitions, but can handle eight of these.6 2.9.3 Optimizations The disks are normally the limiting factor. To avoid this bottleneck, there are two possibilities which should be used together: * separate the load onto multiple disks * use an optimized file system (e.g. reiserfs). * equip your file server with enough memory (at least 128 MB) 5 If your system is still running with the 2.0.xx kernel, you should bear in mind that a swap partition should be no larger than 128 MB; Linux can, however, quite easily manage 8 such partitions ­ and even 64 with slight modifications. For the 2.2.xx kernel the limit of the swap partition is 2 GB 6 and even 64 with slight modifications 62 2.9. Partitioning for Experts Parallelizing Multiple Disks This needs some further discussion. The total amount of time needed for transferring data can be separated into five factors: * time elapsed until the request reaches the controller * time elapsed until this request is send to the disk * time elapsed until the hard disk manages to set its head * time elapsed until the media has turned to the right sector * time elapsed for transferring data The first factor depends on the network connection and has to be regulated elsewhere. We do not to cover this here. The second factor can be ignored; this depends on the controller. The third factor is the vital part. The time is counted in milliseconds. Relative to the access time of main memory (measured in nanoseconds), this is a factor of one million! The fourth factor depends on the disk rotation speed. The fifth factor depends on the rotation speed, the number of heads and the actual position of the data (inside or outside). For optimized performance, one should consider factor three. Here, the SCSI feature disconnect comes into play. Let's look at what happens: 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 has to start up. 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 re-established. 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. Let's look at an output of the command df (see screen output 2.9.1). Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda2 45835 27063 16152 63% / /dev/sdb1 992994 749694 192000 80% /usr /dev/sdc1 695076 530926 133412 80% /usr/lib Screen output 2.9.1: Example of a df command output So, what benefits does parallelizing bring us? Suppose we enter in /usr/src: root@earth:/usr/src/ > tar xzf package.tgz -C /usr/lib Here, package.tgz will be untarred into /usr/lib/package. To do so, the shell launches tar and gzip (located in /bin and thus on /dev/sda), then package.tgz in /usr/src is read (on /dev/sdb). At last, the extracted data is written to /usr/lib (on /dev/sdc). Using parallelizing, position- ing as well as read/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, then, as a rule of thumb, if there are many 63 2. Your first SuSE Linux installation disks (with the same speed), /usr and /usr/lib should physically be placed on different disks. Here /usr/lib should have approximately 70% 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), one should consider buying a RAID controller. Thus, operations on the disks are not only quasi- parallel but parallel. Fault tolerance is one of its famous by-products. Processing Speed and Size of Main Memory The size of main memory is more important in Linux than the processor itself. One reason7 is Linux' 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 items are the reason why Linux is so fast and why the memory seems to fill rapidly. Linux works with shared libraries, that is, lots of programs and applications share the same library. A library call has only to be allocated once. This also means that your memory fills up rather quickly. So if you do not know whether to purchase another main board or some more memory, we recommend you do the latter as it increases the speed of Linux. total used free shared buffers cached Mem: 63304 62312 992 15920 38692 4200 -/+ buffers: 19420 43884 Swap: 199508 14548 184960 Screen output 2.9.2: Output of free If you want to find out what memory is being used, just enter: root@earth:/root > free This will give you an overview of used memory and buffers. The output 2.9.2 shows that some 38 MB are being saved in buffers. If you want to access data that is already buffered, this data is almost immediately available. 2.10 Configuring Your Hard Drive Manually 2.10.1 Configuring Partitions What's It All About? In section 2.2.4 page 29 you have decided to interactively partition your hard disk. Here we describe the menus you are presented with. Background information on the various partition types can be found in a document by Andries Brouwer (http://www.win.tue.nl/ aeb/ partitions/). 7 if not the main reason 64 2.10. Configuring Your Hard Drive Manually Step by Step. . . This is how to proceed when setting up your partitions: 1. YaST presents you with a screen that is divided into several parts (see figure 3.9 page 78): * At the top, you should see your hard drive's parameters. * The second part shows warnings and error messages from the program fdisk. You can take a closer look by pressing F6 . * At the bottom you can see the partitions fdisk has found. Here, you should see the partitions of your former operating system and the swap partition, if you have already assigned one. 2. If you want to remove existing partitions in order to use the space for new partitions, you should do that now. Highlight the partition you want to remove. Remember and lets you scroll through the list. Make sure the correct partition is highlighted. Then press F4 and confirm by pressing . If you remove a partition, all data on this partition will be destroyed.a a Technically speaking, this is not 100% correct; but your data will be lost anyway! If you want to remove multiple partitions, you should do that now. 3. If you want to use existing partitions of other systems for Linux, you may do so simply by altering the partition type. If you alter the partition type, other operating systems such as DOS and Windows may not be able to access data contained on them! Now highlight the partition which you want to change, using und If you are sure you have marked the "correct" partition, just press F3 . Now you are presented a dialog box where you may select the partition type. Select either normal or swap and confirm by pressing . 4. If you want to assign new partitions (this is the normal case), you should create them sequentially. Just press F5 . If this doesn't have any effect, it means that the disk is already full with partitions. Then you may have to delete partitions. (See above). . . A dialog box pops up letting you select the type of partition. (figure 2.18 on the following page) You may select between either `primary partition', `ex- tended partition' or `logical drive'. Confirm by pressing . Remember: you may assign up to a maximum of four primary partitions. If you need more, you need to assign at least one as an ex- tended partition. Within this extended partition, you may assign logical partitions. See section 2.8 page 58. When you have assigned a primary or logical partition, you must enter the device name. YaST displays a list of the available device names. Nor- 65 2. Your first SuSE Linux installation Figure 2.18: YaST ­ Assigning Partitions mally, you should just select the uppermost entry, e. g., `/dev/hda2' and press . The next step lets you set the size of the partition. YaST recommends starting at the first cylinder of the first free partition. Normally, you should confirm this default. To set up the size, you may select one of three alternatives: the number of the last cylinder (e. g., 976), the number of cylinders of the partition (e. g., +66) or the size in megabytes (e. g., +100M). Pressing should now move you to `Continue'. Here, just press . Now you should see your freshly assigned partition in the lower part of the screen. If you are not satisfied, you may remove it by pressing F4 . 5. One of your partitions needs to be a swap partition. If there isn't already a swap partition, use and to select a proper one. Information on the size of a swap partition may be found in section 2.8 page 58. Press F3 and select `Linux Swap Partition' and confirm by pressing . 6. Is everything to your satisfaction? The drive should be completely popu- lated with partitions. Did you remember the swap partition? Now move the cursor to `Continue' and then moves you to the `Assign- ing mount points' menu. Under certain circumstances, YaST checks your swap partition to make sure no errors occurred. 2.10.2 Filesystems and Mount Points What's It All About? In the previous section all partitions were written to the partition table. In this step you will now provide additional information for the Linux partitions which have just been configured, and also for any DOS/HPFS partitions, if they exist. 66 2.10. Configuring Your Hard Drive Manually You have created all necessary partitions and these partitions have been added to the partition table, but they are still not written to disk. There are some vital parameters still missing which will be added in this step. Summary This information is partially written to the file system table, /etc/fstab, which contains all the relevant information on the filesystems you want mounted. Each entry includes the device, its position in the directory tree and the type of file system.8 Furthermore, YaST needs this data to create Linux filesystems on the format- ted drives. The swap partition is not touched in this step as it has been already created in section 2.10.1 page 64. In contrast to the partition table entries (see section 2.10.1 page 64), the /etc/fstab entries are Linux-specific and have no influence on other op- erating systems. Also worthy of explanation: * In Linux, all filesystems are linked to one "directory tree" (see figure C.1 page 467). You must assign each filesystem a branch on this tree. This is called its mount point. Even DOS and HPFS filesystems can be linked into the Linux directory tree. * Hard drive space for file systems is administered in Linux by using Inode. An inode is just a small file that points to the corresponding data for a given file. The number of inodes is assigned while creating a filesystem. If you want to create lots of small files, you will need many inodes, which require some space of their own as well. For filesystems containing many large files, fewer inodes are necessary. For more detailed information on this, see section 3.3.10 page 81. Step by Step You are now in `Set target partitions / filesystems' (see figure 3.10 page 79). To determine the file systems of your new partitions, proceed as follows: 1. First some information about what is to be done: * For each of your DOS and HPFS filesystems (in DOS and HPFS par- titions), you may create a mount point. * For each of your new Linux partitions: ­ you must select a mount point ­ you may select a file system `F3=choose type' (ext2 or reiserfs). ­ you may do some fine tuning, with `F5=Expert menu' ­ you may change the suggested formatting mode `F6=Formatting' (with or without a check). * The function `reading fstab' is normally not needed. 8 As well as information for dump and fsck; see manpage for fstab (man 5 fstab). 67 2. Your first SuSE Linux installation Figure 2.19: YaST ­ mount DOS/Windows partitions 2. You can set the type of the Linux filesystem with F3 . Currently the tried and tested ext2 or the new reiserfs, with advanced options, are available. ReiserFS can not be used in conjunction with RAID 1 or RAID 5 software. For hardware RAID solutions there are no limitations. ­ reiserfs is very new in comparison to ext2; please bear this in mind if you decide on reiserfs. There is more information on ReiserFS at page 80. 3. If you want to access a DOS or HPFS partition in Linux, you have to select it and press F4 . Now a window pops up and you can enter a directory. In this directory, you will mount your DOS or HPFS filesystem. For example, enter /dosc (don't forget the slash!). Confirm this action by pressing . If you have selected a DOS partition, another window appears (fig- ure 2.19). Here, you can choose which method to use to access DOS in Linux (see section 3.3.10 page 80). Generally you will want to use your DOS filesystem independently and only occasionally want to access the DOS partition from Linux, for example, to transfer files; for this purpose, choose `DOS' or `FAT-Win95' (= vfat). UNIX file attributes and long file names, as provided by the UMSDOS filesystem, are only needed if you want to install SuSE Linux on a DOS partition ­ do this at your peril! Generally, you want to use DOS independently and just want to exchange files in Linux. For the normal Linux install, choose `DOS'. UNIX file attributes and long filenames, as offered by the UMSDOS file system, are only necessary for demo mode. 4. Next, enter the mount points for your Linux partitions. Just select your Linux partitions one after the other and press F4 . A window will pop up letting you decide where to mount this partition on your filesystem tree. Enter the complete path beginning with the "slash" (/). 68 2.10. Configuring Your Hard Drive Manually Figure 2.20: YaST ­ Mount points Which mount points you choose for your partitions depends on how you plan to organize your partitions. In any case, you definitely need a root directory /, which is the "root" for the whole filesystem. All other filesys- tems and their mount points more or less depend on your preferences. You should create a mount point for each Linux filesystem. You will not be able to access unmounted filesystems. Directories which are needed at boot time must be located directly under /. At this stage, the separate branches are not yet put together (mounted). For this reason you may not assign /bin, /dev, /lib, /etc, and /sbin to other partitions. 5. You should ignore the `Expert menu' if you are just starting out with Linux; as a rule defaults are set automatically to guarantee a secure oper- ation. Only change the suggested values if you really know what you are doing (see page 81)! 6. You must now decide whether (and how) you want to format your Linux partitions. Since you just created those partitions in section 2.10.1 page 64, they must now be formatted. If you own a fairly new hard drive, do `normal formatting'. If your storage media is not that new, it is better to choose `Formatting and checking'. Select the Linux partitions one after another and press F6 to select the appropriate formatting. At the end the menu should resemble figure 2.20 (it is possible you have not specified an NFS directory!). 7. After selecting `Continue', a dialog box pops up asking you whether you are sure. Then YaST formats your partitions. 69 2. Your first SuSE Linux installation 70 Chapter 3 YaST ­ Yet another Setup Tool YaST (yast) is a very important part of SuSE Linux. It is the principal program used to configure and administer your operating system. With it, you can install or remove system and user software and perform basic system administration tasks, such as changing hardware, configuring networking or adding valid users. This chapter outlines many important features of YaST, some of which are used during system installation. Your SuSE Linux 6.4 comes with the most recent version of YaST; con- sequently it is possible that the screen shots included in this chapter may differ in detail from what is displayed on your monitor. 3.1 Basic Usage You can start YaST from the Prompt simply by typing the command yast: earth: # yast You navigate the menus and the screens in YaST with the arrow-keys and the tab-key ( Tab ). Once a particular menu item is highlighted, you can use the Enter (or ) key to select it. To return to a previous menu, use the Esc key. If you want to save a particular choice (such as the selection of a package you wish to be installed) you should use the F10 key, which both saves the selection and returns to the previous menu. Where you are prompted for a yes or no response, you can use the Tab key to switch back and forth between the two options. In rare cases, such as when you are accessing YaST remotely from a non Linux terminal, the function keys may not be usable. In these cases, the key combination, Ctrl + f can be used as a substitute for F . To simulate the F10 key, use the key combination Ctrl + f 0 . There are no substitute mappings for the F11 and F12 function keys. 3.2 The YaST Main Menu When you first start YaST, you will be in the "main menu" (Figure 3.1 on the following page). `General help for installation' As the title suggests, this menu option provides some general tips on installation. 71 3. YaST ­ Yet another Setup Tool Figure 3.1: The "main menu" `Adjustments of installation ->' This option will bring you a submenu for making adjustments to your installation. (see Section 3.3 for more details). `Choose/Install packages' This menu option will bring you to the YaST package manager utility, which is used to install software packages, and remove them from the system (see Section 3.4 page 83). `Update system' In case some packages need to be updated. `System administration ->' Yet Another Self explanatory Title. (see Section 3.6 page 89). `Show README file for installation media' Important late-release information can be found here. `Copyright' The lawyers have their say. `Exit YaST' But not forever.... 3.3 Adjustments of Installation Adjustments to your installation can be made in one of the submenus of `Adjustments of installation' (Figure 3.2 on the facing page). With the Esc key you can return to the main menu. The actual installation can only be started once you have specified the target partitions! A number of items can be selected after the installation, which is useful if you want to update settings! 3.3.1 Selecting the Language With `Select language', the language of the YaST mask can be changed; the value is stored in the variable LANGUAGE in /etc/rc. config (see Section 88 page 401). 72 3.3. Adjustments of Installation Figure 3.2: Menu `Settings for installation' 3.3.2 Selecting keyboard layout With `Select keyboard layout' the keyboard layout can be changed; the value is stored in the variable in /etc/ rc.config (see Section 17.6 page 401). 3.3.3 Installation Medium Selecting the menu option `Select Installation Medium' will present you with a list of potential source media. From this menu (Figure 3.3) you can select the medium from which you would like to install. This se- lection is made for installing the initial system and for adding packages to an existing system. YaST allows you, in another menu, the opportunity to select an installation medium, but this is for applying patches or updates to an existing system. This process is discussed later on in this chapter. Figure 3.3: Selection of the installation medium in YaST 73 3. YaST ­ Yet another Setup Tool In most cases you will want to install Linux directly from the CD-ROM so you will choose `Installation from CD-ROM'. With the menu option `Installation from hard drive-parti- tion' you have the option to install from a hard drive that contains the nec- essary source files. This option is helpful if your CD-ROM is not supported under Linux (see also Section 3.3.5). With the menu options `Installation via NFS' and `Installa- tion from a FTP-Server' you can install Linux on a system that does not have a CD-ROM drive, but is connected by Ethernet to another computer that does have a CD-ROM drive. For additional information on these options, please refer to Section 3.3.6 and Section 3.3.8 page 76. 3.3.4 Installation from CD-ROM Figure 3.4: Selecting a CD-ROM drive If you plan to install via CD-ROM, you must specify your CD-ROM drive (see Figure 3.4). If unsure, try `ATAPI EIDE' drives. 3.3.5 Installation from a Hard Drive Partition If your CD-ROM drive is not directly supported, you can still install Linux on your system. To accomplish this, however, you will need to use a different installation medium. 3.3.6 Installation via NFS The network installation offers the advanced Linux user the possibility to easily perform installations on multiple computers. This is especially useful when only one of the computers has a CD-ROM drive, from which the source files can be placed on an NFS reachable hard drive. Before attempting to install via NFS, you should be familiar with how to configure NFS servers. It is also possible to use this method to install Linux onto notebooks which have a functional PCMCIA network card. 74 3.3. Adjustments of Installation Figure 3.5: Entering network data for an NFS installation Installation via NFS is not only available to computers that are connected together via ethernet. The NFS installation can also be accomplished with computers that are "networked" via their parallel port. This feature is of par- ticular interest for users who want to install Linux onto laptops and note- books. If you are planning to attempt such an installation, naturally you must remember, when booting, to select a kernel that contains PLIP support. Addi- tionally, in this case you will need to provide additional entries such that the PLIP interface can be correctly configured: Figure 3.6: PLIP configuration If you are directly connected to the NFS server through the parallel port, then the IP address of the PLIP partners is the same, as is shown in the following examples of the NFS servers. The PLIP interface in most cases will be plip1. By "interface" we are referring to the network interface that can be seen and configured with the command "ifconfig". The hardware- parameters will differ only in rare cases. You should be aware that, by using the parallel port as a PLIP interface, printers will not function on this interface! 75 3. YaST ­ Yet another Setup Tool In the following screen you must enter the IP address of the NFS server as well as the directory in which the the source files are located. Of course, the NFS server must have exported this directory so as to make it available to the computer that you are installing onto! 3.3.7 Installation from a Reachable Directory With this option it is possible to install Linux directly from a hard drive partition. This is a useful option when you are unable to install using a CD- ROM, due to the unavailability of drivers. To be able to access this drive from YaST, first start YaST. Once this is accomplished, you need to switch to another console. For example, with the Alt + F2 key combination you will be presented with the second virtual console. Login as `root'. From here you must mount the CD-ROM drive manually onto an available mount point in your directory tree, for example with the command earth: # mount -tiso9660 /dev/cdrom /cdrom See also Section 19.11.2 page 444. Now you can follow through with a normal installation. To accomplish this, in the following screen (Figure 3.7) you must enter the directory in which the source files are located. This should be the directory onto which the CD has been mounted, followed by the directory suse. Figure 3.7: Entering the source directory If for example you had mounted the drive (or the hard drive partition) onto the directory /cdrom, then you would use: Figure 3.7 /cdrom/suse as the directory for the source files. 3.3.8 Installation via FTP In a similar way to the NFS install, it is possible to install SuSE Linux onto a computer that has no CD-ROM at all, via FTP. This will work, but only if the basic network configurations have been set up correctly. 76 3.3. Adjustments of Installation Figure 3.8: Entries for the FTP installation `FTP Server [Name|IP]' The name or the IP address of the FTP server. `Server Directory' The location on the FTP server where the suse directory is located. `[ ] Use Proxy?' Only select this if you are sure that you must use an FTP proxy server. Normally this is not necessary. `Proxy [Name|IP]' This is only necessary if you have opted to use the proxy server. `[X] Default FTP Port?' This should be selected by default. `Port [Number]' The default value should be 21. `[X] Anonymous FTP?' This should always be selected if you want to access a public FTP server. `Login' In the case where you have not selected the anonymous FTP op- tion above, here you can insert a username and in the following field­ `Password' the password. `Timeout [Seconds]' 60 is the suggested value. `Local /tmp directory' The local directory that is available for temporary storage. 3.3.9 Partitioning Your Hard Drive The most critical point of installing a new operating system is partitioning the hard drive. Generally, every operating system uses at least one partition. With Linux it is also possible to install the system on an existing MS-DOS file system, but you should use this option only to "browse through". The performance is substantially less than when installing Linux in its own, Linux-specific partitions, and the system is not as secure, since there are no file check systems available for MS-DOS and Linux could be influenced whilst DOS is running. 77 3. YaST ­ Yet another Setup Tool With Linux systems, you will generally want at least two partitions, one for files and programs and one for memory data swapping which is performed by the running system. You might consider creating multiple partitions for files and programs. The number and sizes of partitions in a Linux system is a question of personal taste and philosophy (see Section 2.8 page 58 and Section 2.9 page 60); a detailed example of partitioning can be found in Section 2.10.1 page 64 pp. Whatever the case, you should plan to have your own swap partition, which increases the size of your computer's virtual memory ( memory) (see Sec- tion 2.9.1 page 61). ­ It is also possible to use a swap file, but this is not recommended, for reasons of performance, since all access to this file is via the file system. For systems with limited memory, a swap file is not a viable alternative to them having their own swap partition. In addition to the partition (or partitions) that you create for Linux, you should also create a swap partition, to increase the size of the virtual mem- ory ( memory) of your computer. It is possible to use a swap file instead of a swap partition. For performance reasons, however, this is not recommended. Every time your system accesses this file, it must do it through the filesystem. Systems with limited memory should always use a swap partition. If you have more than one hard drive on your system, you will be prompted to select the drive that you wish to partition. Once you have selected the drive, you will see a menu which shows you the current status of the partitions on your hard drive (Figure 3.9). Figure 3.9: Partitioning with YaST The arrow keys and can be used to navigate through the list of existing partitions. To change the type of filesystem associated with a partition, for example from DOS to ext2, you use the F3 key. To delete existing partitions, you use the F4 key. To create new partitions, use the F5 key. When creating new partitions, pay particular attention to how the partition size is defined. You have a choice of specifying the size of the blocks, in MB or KB. Make sure you read the instructions that are provided on the screen for details on the syntax of each of these options. 78 3.3. Adjustments of Installation You will need to change the filesystem associated with a partition in order to create a swap partition. Once you have an available partition to be used as your swap partition, use the F3 key and select swap from the list of available partition types. It is also possible to leave a portion of your hard drive unpartitioned, or even create a partition that does not have a filesystem associated with it. This would be useful in the event that you planned on installing another operating system on the same hard drive. If this is the case you could just leave a portion of the drive unpartitioned, or use the F3 key to disassociate a partition from a particular filesystem type (if you plan on installing a much too common, non-Linux operating system on the same hard drive, leave space for it at the beginning of the hard drive. It will be less troublesome). Be aware that Linux has no preferences as to what type of partition it gets installed on: It is equally acceptable to install Linux on either a primary partition or a logical partition. The logical partition is a workaround to limitations of modern day hardware. It was introduced to overcome the fact that the partition table is only large enough for four entries. If you are interested in having more than four parti- tions on your hard drive, you will need to create one extended partition. Once the extended partition is created, you will be able to create multiple logical partitions within this one large extended partition.1 3.3.10 Setting Target Partitions/Filesystems After you have completed partitioning your hard drive, you must next specify how the partitions will fit into the Linux directory tree. Select the menu option `Set target partitions/filesystems'. Figure 3.10: Assigning filesystems 1 Extended as well as logical partitions are known to DOS as extended DOS partition or logical drive, although this concept applies to any operating system. 79 3. YaST ­ Yet another Setup Tool In the figure (Figure 3.10 on the preceding page) you can see an example of partitioning a hard drive. For each individual partition you can select if and how it should be formatted as well as at what location in your directory tree it should be "mounted". You must specify one partition as the "root" partition! This partition is neces- sary because it is the starting point of the entire directory structure, and yes, this is analogous to the function that roots provide for trees! Make sure you assign Mountpoint `/' as the mount point for your "root" partition. The menu at the bottom of your screen defines the different function keys that can be used to manipulate the filesystem. As a rule you only have this functionality available to you on Linux partitions. If you highlight partitions that are formatted for other filesystems, the function keys will not be available for use, except for the F3 key which is used to select the mount point. Setting the Filesystem Type With F3 you can choose between the two filesystems, ext2 and reiserfs. `ext2' ­ The ext2 filesystem second extended-2 filesystem has been es- tablished for many years as the standard filesystem. `reiserfs' ­ ReiserFS is a filesystem for the next generation; although this filesystem is still very new, it is already widely used ­ amongst other things, on a number of our internal systems. YOu really should read the notes in /usr/doc/packages/reiserfs/README. In close cooperation with the developer group surrounding HANS REISER and CHRIS MASON, SuSE has extended the high-performance filesystem to include a "Journaling filesystem". Through Journaling it is guaranteed that even for large servers, a filesystem check can be carried out within a few seconds. Please do not use ReiserFS toghether with RAID 1 and RAID 5 software. For hardware RAID solutions there are no such limitations. A ReiserFS partition currently must be at least 34 MB large. To ensure there are no problems, create a separate boot partition with the ext2 filesystem and install LILO there. This is the standard SuSE Linux configuration. The utilities for ReiserFS are in the package reiserfs, series a. Cur- rent information can be found at: http://devlinux.com/projects/reiserfs/ Mountpoint The F4 key can be used to select the location where the selected partition should be mounted on to the directory tree. Just a reminder: You must have a partition assigned as the root partition (/). If you already have DOS partitions on your drive, you can also create mount points for them. For example, you could create a mount point of /dosc for the first DOS partition and a mount point of /dosd for the second. 80 3.3. Adjustments of Installation Make sure that you assign absolute path names (starting with (/) ) for all of your mount points and that you create one (and only one) unique mount point for each partition! In addition, you should never create separate par- titions for the /etc, /bin, /sbin, /lib and /dev directories. These directories, which contain important commands, libraries and configura- tion files that are necessary for mounting the rest of the file system, must reside on the root partition! An important note regarding DOS/Windows partitions! These partitions can be connected to the directory tree as one of three different types. * As a "normal" DOS partition (= msdos), with all of the normal limitations of a DOS filesystem, * as a FAT-Win95 (= vfat), in which long filenames are possible * in the third case, as the so-called UMSDOS partition, which permits the use of long filenames in a "normal" DOS partition. This type is only required, however, if you want to store Linux files on a DOS partition; this is not very efficient, though, if you only need the DOS partition to store data. Whenever possible, you should avoid UMSDOS! Expert Menu for Fine Tuning of the File System Inode Density Here in the Expert menu fine tuning can be performed. The Inode density is used to define the anticipated average file size (per inode) on a particular partition. If for example, you choose a density of 4096 Bytes per inode, this means that you expect the average file size to be about 4096 Bytes (4 KB). When a filesystem is created on a partition, the system computes the number of inodes it will need, using the inode density number and the size of the partition. The number of inodes represents the number of files that can be created on a given partition. In the example above, if the partition's size is 4 megabytes, the partition would have less than 1000 inodes. If this partition is filled with many files that are all approximately 1 KB, then only one fourth of the partition could be used before all of the inodes were exhausted. No more files could be added to the partition. The inode value of 4 KB per file has proven to be a good default value (an excessive number of inodes would result in the unnecessary consumption of disk space, since inodes need disk space too, of course). If a particular partition is to be used to perform spooling (necessary for the NEWS service, for example) a density of 2048 Bytes per inode is recommended, because news articles are typically very small files. Another reason for having a high number of inodes is the integration of the live system. With this, some 40.000 files are integrated into the filesystem through symbolic links, each needing an inode. Deciding on the block size has a direct influence on how long a filesystem check lasts: The duration of the file system check is quadratically inversely proportional to the block size - i. e. the smaller block, the more blocks and 81 3. YaST ­ Yet another Setup Tool therefore longer check time. As very long file checks can be really unpleasant, it depends on our estimate how often the file system will be checked and what duration you tolerate. The suggested block size is 1024 (= 1 KB) for partitions up to 1 GB, stepping to 4096 (= 4 KB) for 4 GB partitions. Specifying the area reserved for `root'. For `root' you should always reserve an area if partitions are to be used both by system programs and by regular users. A separate /home partition means that space does not have to be set aside for `root'. The behavior on errors can be specified. If an error occurs in the filesys- tem, operation can proceed as normal (continue), the partition can be re- mounted as only readable (remount-ro), or the complete system can be halted immediately (panic). The option you choose depends on what your system is used for. You should only change the default, continue, if you really know what you are doing! Formatting the Partitions With the F6 key you can select if and how the partitions should be format- ted. With brand new disks it is not necessary to check for bad sectors while formatting; but to be on the safe side you can choose to do so. Selecting the formatting and check option will take quite a bit longer than just formatting a partition. Reading the fstab File The file fstab tells Linux what filesystems to mount when it loads. If you have Linux already installed on your hard drive, you can press the F7 key to read an existing fstab file. The mount points listed in the fstab file will be automatically included for existing non-swap partitions on your hard drive. Entries in the fstab file for other types of filesystems (swap, proc, nfs-mount, CD-ROM entries, etc.,) will appear grayed out and cannot be changed. They will remain unchanged when you save the fstab file. This feature is used when you are updating your entire base system (see Section 15.1.3 page 360); in such cases YaST needs to know how your file system and partitions are divided. It is possible to have more than one Linux system installed on your computer. 3.3.11 Configuring the Logical Volume Manager The official LVM-Howto is located at: http://linux.msede.com/ lvm/. 3.3.12 Installation to a Directory With YaST you can also, with a running system, make a complete installation to a directory. Thus it is possible, for example, to update another computer via NFS, to set up a "chroot environment", or to perform a Linux installation on a second hard drive from the running system. 82 3.4. Determining the Size of the Installation This installation mode is only intended for spezial cases. If certain devices are mounted in the directory specified, you must take care of this yourself before installing with this method. You must especially ensure yourself that the installed system is bootable. Modifications to the fstab file created by YaST will also probably be nec- essary in the newly installed system. Now type in the entry field which directory you want to install to. 3.4 Determining the Size of the Installation After you have completed configuring your filesystem, you are ready to se- lect the packages to be installed. From the main menu, select the option for `Choose/Install Packages'. The reader should be aware that dur- ing the installation process, after you have finished configuring your filesys- tem, YaST will automatically present you with the necessary menu; you will not have to select this menu option from the main menu. The menu list that appears provides a few options for managing packages, including loading, saving and creating an installation profile. Figure 3.11: YaST package installaton menu In addition, from this menu you are able to start installing, or to have a look at the implications of your selection of packages on the space available on your hard drive. 3.4.1 Load Configuration There are several predefined configurations listed under `Load Configur- ation'. You can choose any of them. Among them there is one that is labelled "Minimum system". You should choose this one if you are running YaST from a floppy disk and have very little RAM. Choosing the minimal system will not prevent you from adding packages once it has been installed. YaST will perform much better after it is installed on the hard drive. 83 3. YaST ­ Yet another Setup Tool If you have created and saved your own configuration (list of packages) you can use this menu option to load your configuration. This feature is useful if you are installing an identical configuration on many systems. If you have already installed a system, you should be careful when you load a different configuration, since all packages installed on your system which do not belong to the configuration that you choose will be marked for deletion. If you want to keep the packages already installed, merely answer no when you are asked if you want to delete or not. If you want to delete all of those packages except for a few, then you must manually deselect the ones that you do not want to delete. To deselect them, change the `[D]' back to a `[i]' by pressing the Space bar . 3.4.2 Save Configuration With this menu option you can save your current configuration. If YaST is running from a floppy, this will be used to save your configuration. If you have booted from a CD-ROM, you will be prompted to insert a pre-formatted floppy. YaST will save your configuration to this. 3.4.3 Changing Your Configuration If you select `Change/create configuration' you will be pre- sented with a list (Figure 3.12) of series. These series are logical groupings or categories that are used to subdivide all of the packages on the distribution. You can decide which packages to install and also select previously installed packages to be deleted. You can also change an already existing configuration (see Section 3.4.1 on the page before). Figure 3.12: Selecting package series in YaST You can move up and down the list of series with the keys , , Page and Page . In the lower window is a description of the current status of the different partitions on your system. The key opens the currently highlighted series and shows you the contents of that series. The Esc key can be used to exit out of the package selection without saving any changes. 84 3.4. Determining the Size of the Installation If you have made changes to the package selection, the F10 key can be used to save those changes and return to the previous menu. Figure 3.13: re-sort packages in YaST The F4 key can be used to select alternate views of the packages (Fig- ure 3.13). You have the choice to view the `series' (which is the default) or `All Packages'. The latter creates an alphabetical list of all of the packages on the distribution. This can be done by selecting `All Pack- ages' and in the following window, selecting `All packages (ex- cluding sources)'. If you press on a series you will be put into 'package selection' mode for that series (Figure 3.14 shows the contents of the series a). If you have loaded a configuration already, the packages belonging to this configuration are marked with an `X'. In the bottom window you can see a short descrip- tion of the highlighted package. In the right hand window you will see the amount of space that is required for your current configuration. Figure 3.14: Selecting packages to install: series a1, base system 85 3. YaST ­ Yet another Setup Tool These values are updated as you select/deselect packages. The status win- dows can be enlarged with the F3 and F2 keys respectively. If you are installing your system for the first time and find that your current partition configuration does not provide enough space for the packages that you want to install, you can go back to the beginning of the installation and recreate the partitions as necessary. If you are trying to add packages to an existing sys- tem and find that you do not have enough space, you will need to find another solution (add another hard drive or perhaps delete some unwanted packages). Each package name is preceded by its current state: `[ ]' indicates that this package is not yet installed `[X]' indicates that this package will be installed `[i]' indicates that this package is already installed `[D]' indicates that this package will be deleted `[R]' indicates that this package will be updated (replaced) By pressing you can change the status of the package. If the package has not already been installed, pressing will change the status from `[ ]' to `[X]' and back again. If the package has already been installed, pressing will toggle the status between `[i]', `[R]' and `[D]'. As stated earlier, if you want to save changes that you have made in the package selection, use the F10 key. If you do not want to save any changes, use the Esc key. If, by any chance, you run out of space on your partitions, you can easily switch back to the main menu and repartition your hard drive. The actual partitioning will take place only after you have left YaST. If you are running YaST from a floppy, only install a minimal system. After you have completed the minimal install, go back and install the remaining packages. With the YaST features described above you have all the tools necessary to test out various desired configurations and their hard drive re- quirements. 3.4.4 What if... This menu item was created to give you a chance to review all of the changes that you have made to a configuration before commiting them. Since YaST can be used to install, uninstall and replace (update) packages, and there are so many packages on the distribution, this option can be a useful way to verify that you have not unintentionally marked packages for deletion and/or installation. 3.4.5 Start Installation This menu option will start the installation of packages. All of the pack- ages that you have selected to be installated are copied from the installation medium, uncompressed and written to the appropriate location on your hard drive. If you have changed the partition tables duing this YaST session, installation is not yet possible. After changing the partition tables, your computer needs 86 3.4. Determining the Size of the Installation to be rebooted in order to write this modified partition data to the partition tables. This can only be done after leaving YaST. During installation, status messages will be shown in the lower window. The upper window informs you about the current package being installed. After installation, if you want, you can jump back to the installation log window by pressing the Tab key. This will allow you to view any messages that may have appeared during the installation of a particular package. 3.4.6 Checking Package Dependencies YaST can be used to check package dependencies. Some packages are de- pendent on the presence of) other packages. The converse is also true. Some packages should not be installed with other packages. YaST will check the packages marked for installation against the packages already installed on your system. YaST will also take into consideration packages that are marked for deletion. All unresolved package dependencies are displayed in a list. The Boolean logic that is used to define and check these dependencies is described below. AND means that if this package is installed, all listed packages should be installed too. For example, if you install the compiler, you will also need the include and lib files. OR means that if you install this package, at least one of the listed packages should be installed as well. EXCL means that if this package is installed, none of the listed pack- ages should be installed. Table 3.1: Package dependencies 3.4.7 Index of all Series and Packages This option simply provides a list of all packages included on the distribution. Those packages marked with an `*' are either already installed or have been selected for installation. This option gives you a quick overview of your installation selection. 3.4.8 Searching for Packages In the event that you cannot find a particular package, but know where it is on the SuSE Linux distribution, you can use the menu option `Package Information' to find it. You may either search through the installation medium, or through the entire system, or both. There is even an option for doing a case sensitive search. YaST looks for the string of text that you have entered in the search field and presents you with a list of relevant packages. 87 3. YaST ­ Yet another Setup Tool 3.4.9 Installing Packages The `Install packages' menu option is useful for installing packages that are not on the distribution. Most importantly, this menu option can be used to update packages directly from our FTP server ftp.suse.com, pro- vided that you have some form of Internet access. The packages on the FTP server are typically bug fixes or newer versions. The `Install pack- ages' menu option can also be used to install packages directly from you hard drive, a disk, or another source medium. Such packages could include, but are not limited to, packages that you have received from an alternate site, packages that you have created yourself, or simply packages that you have downloaded from our FTP server and saved on your hard drive. A couple of formats are supported: tar archives (.tgz), RPM packages (.rpm, .spm and .src.rpm) as well as special patch packages (.pat), that are available, if required, from our FTP server. The installation procedure is divided into three steps (press F1 for complete instructions): * Selection of the installation medium * Selection of the packages offered * Installation of the packages First you select the package medium by entering `Source:' and press- ing The following options are available: `Directory', `FTP', `Source medium' and `Floppy'. You may need to change the default path (if you have selected `Directory' or `FTP'). YaST will connect to the source medium when you press . Thereafter, provided that you have selected the correct directory, you will be presented with a list of packages to be installed. With `FTP' it is thus possible to install directly from the Inter- net. The address is ftp.suse.com:/pub/suse/i386/update/6.4 (refer to Figure 3.15). Until now it is only possible to install packages via a "proxy"; you need to have direct access to the appropriate ftp server. Figure 3.15: Installing packages via FTP in YaST 88 3.5. Updating the System If you get an error message such as "530 User ftp access de- nied", this means that too many people are currently logged on. You will have to try again later. First, find the directory that has the rpm package that you want to install. Then you can select the packages to be installed with the Space bar . Once the package has been selected for installation, press the F10 key to install it. The package is first copied to the /tmp/ftp directory and then installed. If something should go wrong, you can still install it manually (see Section 15.3.1 page 370). . 3.4.10 Deleting Packages Selecting `Deleting Packages' will provide you with a list of the packages that are currently installed. This list includes "foreign" packages ­ packages which are not part of the SuSE distribution. YaST cannot up- date these packages, nor can it check for any dependencies, unless they were installed in an RPM format. It is easiest to replace these packages with packages from the SuSE distribu- tion. Just select the packages that you need to replace. A short description is displayed for each package if you press F2 , but only if that package contains description information. Press Space bar to select a package to be deleted, and F10 to delete it. Afterwards you can reinstall those packages from the SuSE CD's. 3.5 Updating the System You should only use the menu item `Update System' if your base system is a fairly recent one ­ that is, fitting in with the source medium. If there is doubt, YaST will tell you in no uncertain terms. You can begin a system update as described in Chapter 15 page 359; individual packages can be updated with YaST as explained in Section 3.4.9 on the preceding page. 3.6 System Administration In addition to assisting you with the installation, YaST is a powerful tool for performing system administration. Select `System administration' from the main menu (see Fig- ure 3.16 on the following page). From the main menu in YaST (see Figure 3.1 page 72) you can choose the menu option `System Administration' to access the system admin- istration features of YaST (Figure 3.16 on the following page). 3.6.1 Integrating Hardware into the System With this option you can specify the hardware that you are using. In most cases, YaST will create a symbolic Link ( Link) from the standard device to your particular hardware device. This will make it easier for you to access this device without having to remember the exact name of the device. 89 3. YaST ­ Yet another Setup Tool Figure 3.16: Administering your system Figure 3.17: Hardware configuration Configuring mice, CD-ROMs, scanners, and network cards is quite easy, just follow the menu ;-) The printer configuration is a bit more complicated. This is described in the following section. Printer Configuration Accessing a printer under Linux is not trivial; the technical background is described in detail in Chapter 12 page 293. Luckily there is apsfilter, which can automatically detect each type of file, convert it as necessary and then send it off to the printer. PostScript plays an important role in printing under Linux, as it does with all UNIX systems. Printing a postscript file to a PostScript printer is easy. However, since these printers are expensive, most users do not have them. 90 3.6. System Administration The program Ghostscript (gs) is used to convert PostScript documents into a form that non-PostSript printers can print. The program apsfilter is used to convert ASCII files into PostScript, which can then be printed directly to a PostScript printer, or if necessary be once again converted by Ghostscript into a format that your printer can print. YaST provides an interface for easily setting up apsfilter for your printer (Figure 3.18): Figure 3.18: Setting up apsfilter with YaST If you are using a color printer, make sure you indicate this in the printer setup screen. In the menu option `Printer type' you can indicate whether or not your printer is PostScript capable. Under the menu option `Printer name' you will be presented with a list of printers that are supported by Ghostscript. You can select your printer from this list (see Section 12.6 page 307). If your printer does not ap- pear on this list, you can select `Other printer' and then the option `'. You will be presented with a screen where you can enter your printer type. The command gs -h will display a list of printers that are supported by the currently installed version of Ghostscript. If your printer appears on this list, you can enter it as the `' printer type. The configuration of uniprint drivers can be best accom- plished with the SETUP (lprsetup) program. This program is part of the apsfilter package. Please see Section 12.3 page 301 for more information. In the event that your printer is not on the list, you can try using a similar model. For example if you have an HP Laserjet 5L, select the HP Laserjet 4 from the list. For the `Paper format' option, be sure to select the correct choice. In the U. S. you need to select Letter. In the event that your printer is connected to a serial interface, you can adjust the baud rate as well. Most normal printers are connected to the parallel port (printer port) and you must indicate which one you are using. Assuming that you have chosen to use 91 3. YaST ­ Yet another Setup Tool the kernel version 2.2.xx, the first parallel port is /dev/lp0. If you have a second parallel port, and the printer (or a second printer) is using it, it can be accessed via /dev/lp1. The device /dev/lp2 refers to a parallel port that can be found on a Hercules graphics card.2 If your printer does not print, you should check through the "printer check list" (Section 12.7 page 312). If in doubt, first set the following values in the BIOS for the parallel port: * IO address 378 (hexadecimal) * interrupt 7 * as mode: normal (or SPP) * and switch off DMA (should be switched off in normal mode) These are the normal standard values. The settings for the menu option `Resolution in dpi' should be ver- ified. If you are unsure, you will have to refer to your printer documentation. 3.6.2 Kernel and Boot Configuration This set of sub-menus can be used to configure your system's boot setup as well as which kernel you want to use: Figure 3.19: Kernel and boot configuration `Selecting a boot kernel' You can install one of the available precompiled kernels (from the SuSE- CD) with the menu option `Select boot kernel', in the event that you want a different kernel than the one you chose during installation. In addition to installing the kernel that you select, YaST will also copy the kernel configuration file (.config) to the kernel source directory (/usr/src/ linux). 2 Up to kernel 2.0.x, the parallel port was referred to as /dev/lp1. 92 3.6. System Administration Select the appropriate kernel for your computer, and then, as a rule, you should set up LILO again, using YaST. To be on the safe side, you should now also re-install the package kernmod from the series series a neu (see Section 3.4.3 page 84 on how to do this). Advanced Linux users might want to consider recompiling their own kernel (see Chapter 13 page 317). One advantage of recompiling the kernel is that it can be customized to fit your exact hardware configuration, and it can be made smaller and faster. If you are new to Linux it is highly recommended that you use the precompiled standard kernels. Only if you are using the standard kernel are you qualified for "Installation support". In other words, by recompiling your own kernel you no longer qualify for "Installation sup- port". `Creating A Rescue Disk' An "emergency" or "Rescue disk" is also a good idea, in the event that your computer will not start at all ­ see Section 16.5 page 389 for details on how to use this floppy disk). Configuring LILO YaST also provides a front-end to LILO (Linux Loader). LILO can be used to boot other operating systems such as OS/2, DOS or Windows 95/98, but with Windows NT you should be careful. Additional information on the individual configuration options is available in Chapter 4 page 103. Figure 3.20: LILO: Installation The `append line for kernel parameters' usually remains empty unless you already need to use additional parameters for booting; only if this is the case should you enter these parameters here (but without the preceding kernel name linux!). Details can be found in Section 4.4.2 page 111. `Where do you want to install LILO?': If Linux is the only operating system on your computer, then Master boot record is the 93 3. YaST ­ Yet another Setup Tool correct choice. If you are using "another" boot manager, then selecting Boot sector of the /boot partition is the right choice. If you have not created a /boot partition, you should select boot-sector of the root partition. The choice On floppy disk speaks for itself. The technical background of these choices is given in Sec- tion 22 page 107. `Boot delay': This entry is in seconds. 10 seconds is a reasonable value to use. `"linear" Option': In most cases this option is not necessary. For additional information please see Section 4.4.2 page 111. The `F4=New Config' menu option can be used to create a "new configu- ration". It is recommended that you use the standard configuration linux as the configuration name. To edit an existing configuration, use the `F5=Edit config' menu option. When using either of these keys, YaST will present you with a configuration screen, as shown in Figure 3.21. The individual options on this screen are described below: Figure 3.21: LILO: Boot configuration `Configuration name': You can choose as you wish, linux is a good name for your first configuration. `Which operating system': Your three choices are Boot linux, Boot DOS - this option is for Windows 95/98 as well ­ and Boot OS/2. `(root-) partition to boot': This detail is pre-defined. As a rule, you should not change anything here. Press `F3' and choose the ap- propriate partition. `Kernel optional': Only select this option if the kernel is not permanently available. This would be chosen if you wanted to boot to a test kernel only once. `Kernel to be booted by Lilo': here as well you do not need to change anything. The usual location in SuSE Linux is /boot/vmlinuz; By pressing `F3' you can browse through the directories and select the kernel. With `Continue' LILO is installed, with `Cancel' you can stop the installation of LILO. 94 3.6. System Administration If you are planning on compiling your own kernel, we recommend that you create a second configuration in LILO. The purpose of this new con- figuration is a backup option in case your newly compiled kernel does not boot. Create a new configuration and call it old, and configure it to use the /boot/vmlinuz.old kernel. You should also copy the current kernel /boot/vmlinuz to /boot/vmlinuz.old. When configuring this option, you should also enable the `Kernel optional' option. Now, in the event that you have compiled a new kernel (see Chapter 13 page 317) which for some odd reason will not boot, you still have a way to boot to your original kernel. 3.6.3 Network Configuration General network configurations can be done with YaST as well (see Fig- ure 3.22). Even if you are not connected to a network, it is a good idea to configure your network. Many programs depend on a correctly configured network to be able to function properly. Figure 3.22: Network configuration `Network base configuration' This is where you can config- ure the IP-Address(es) for the appropriate network interface (network card, PPP, or ISDN, etc.). More information can be found in Section 5 page 133. `Change host name' The host name and domain name of your com- puter can be set here. If you are not familiar with the concept of a host name or a domain name, please refer to Section 5 page 133. `Configure network services' With this option you can config- ure basic network services such as: inetd (for telnet, ftp, printing etc..) portmap (for NFS server and NIS) and rpc.nfsd (for NFS server). `Configuration Nameserver' It is possible to specify one or more nameservers. (see Section 89 page 404 for more information). 95 3. YaST ­ Yet another Setup Tool `Configure YP client' This option will only be active if you have installed the package ypclient, series n See Section 5.4 page 144 and also Section 89 page 405 for more information. `DHCP Client' This option will only be active if the package dhclient, series n has been installed. `Configure Sendmail' With this option it is possible to install a con- figuration file for sendmail. There are a few configuration files available that will suit most needs. `Administer remote printers' With this option you can config- ure your machine to be able to access a printer which is on a TCP/IP network. The configuration options in this screen are relatively self- explanatory. `Name of printer' refers to the name by which the local machine refers to the printer (a good choice would be remote). `Spool directory' will be automatically configured according to the name given above. `Server name' is the IP address or the name of the print server. `Name of printer' is the name by which the print server refers to the printer (in most cases this will be lp). If you need a prefilter for this printer, please refer to Section 12.4 page 304. `Connect to printer via Samba' This option will only be active if the package samba, series n, has been installed. With this menu item it is possible to connect to a printer that is connected to a Windows computer. `Connect to a printer via Novell network' This option will be active only if the package ncpfs, series n has been installed. `Configure ISDN parameters' This option will only be active if the package i4l, series n, has been installed. Follow the detailed menus that are available (see Section 6.2 page 150 for additional clarification). For additional network configurations, please refer to Chapter 5 page 133. 3.6.4 Configuring the Live Filesystem CD-ROM You may purchase the "Live FileSystem" CD-ROM separately from SuSE Linux. This bootable CD serves different purposes: * It enables you to directly start a SuSE Linux system, including the X Window System, without installing anything to hard disk. This might come in handy if you want to check whether a machine runs with SuSE Linux at all, or if you are looking for a powerful and fail-safe rescue system (see Section 16.5 page 389). * Furthermore, you can also integrate the "Live File System" into a regular SuSE Linux system. This is only useful if you do not have enough disk space. We will discuss this now. Please be aware that the Live File System can only provide a certain selec- tion of programs. The space on one CD is restricted and a complete SuSE Linux does contain 6 CD-ROMs . . . 96 3.6. System Administration You have the choice, in YaST of integrating the Live Filesystem. If you choose this, links will be created for every package not already installed on your system. These links point to the programs on the CD. Thus the programs can be easily started from the CD, without using disk space. You must be aware, however, that from now on the CD with the Live File System must be in the CD-ROM drive, as it will be mounted (the Mountpoint is /S.u.S.E.). If you want to mount another CD, first boot with the live filesystem and then unmount it, using the command: earth: # umount /S.u.S.E and mount the other CD afterwards. In some cases, even base programs are integrated from the CD into the live filesystem. In this special case, these programs are constantly running and consequently, you will not be able to unmount the CD. If you must mount another CD anyway, our base system is designed so that it is always able to run even without the CD. So just boot your computer with the CD removed. Linux will display a couple of error messages which you can ignore. All programs for accessing a CD are on your system. If you receive the error message "no space left on device", this could be because the inode density on your system is too small. With very small partitions, this is the most common error. Unfortunately, this can only be solved by reformatting and decreasing the inode size (e. g., 1 KB per inode instead of 4 KB per inode-see Section 3.3.10 page 81). If your hard drive space is used up, you can't even start YaST to disintegrate the live filesystem, as YaST can't create the files it needs to start. In this case, just delete some of the symbolic links that point to the directory /SuSE 3, and try starting YaST again. The advantage of the Live File System is the disk usage. There are some disadvantages as well: * Accessing the Live File System is rather slow. Accessing a CD-ROM drive is much slower than accessing a hard drive. * As lots of symbolic links have to be created and each of them requires an inode, you need to have enough free inodes available. The number of inodes has been assigned when you assigned partitions and this can only be changed by re-formatting the partition. * To integrate the Live CD the partition must have at least 50 MB free space available. 3.6.5 Settings for susewm With this menu option you can set the "Graphical Desktop". Please select your default window manager. You could also tell susewm which configuration files it should create and maintain. (see technical back- ground in Section 9.5 page 246 pp.). 3 Deleting files is covered in Section 19.7.5 page 435 97 3. YaST ­ Yet another Setup Tool Figure 3.23: Setting up susewm 3.6.6 Login Configuration Here you can set whether the system will boot to a text mode or to a graphical mode with the X Window System. If you want to use the graphical login, you have two choices: XDM or KDM. If you choose KDM you can also select which users are permitted to shutdown the system. The other login option is via the text console. With this option you can start the X Window System with the command startx (Figure 3.24). Figure 3.24: Login Configuration If you are not absolutely sure that the X Windows System is configured correctly, you should not activate either of the graphical logins. Please test whether you can start the X Windows System first, from the console, before activating the display manager. 98 3.6. System Administration If you do configure your system to start with a graphical login, the file /etc/ inittab will be configured to set Runlevel 3 as the default runlevel (see Section 89 page 408). If Runlevel 3 serves another purpose on your machine, then neither XDM nor KDM will be activated. 3.6.7 User Administration YaST provides a convenient means of creating, deleting and maintaining user accounts. The menu option for managing users is titled `User Adminis- tration' and is a sub-menu of `System Administration'. Figure 3.25: User Administration with YaST Here you can enable `Access to Modem'; if you do this you are added to the groups `uucp' and `dialout'. All members of these groups are able to connect and disconnect by means of PPP connections. When new user accounts are created, default configuration files are copied from the /etc/skel directory into the home directory of the new user. This is a process by which the personal configuration files can automatically be created. Users are free to change those configuration files in their home directory as they wish, of course. When creating or deleting user accounts, YaST runs the following two scripts: * When creating a user account, the script /usr/sbin/useradd. local is run, if it exists. This script will create the necessary entries in the /etc/passwd and /etc/shadow files. The home directory is created and the files in /etc/skel are copied to it. * Before deleting a user account, the script /usr/sbin/userdel. local is called. The relevant lines in passwd and shadow are re- moved. The home directories will remain. Both scripts can take the username as a parameter. If additional information is needed (user ID, login shell, home directory), it can be found in the /etc/ passwd file. If you are an advanced user and you do not want to use YaST to create user accounts, you have the programs useradd and userdel at your disposal. 99 3. YaST ­ Yet another Setup Tool Notes on PAM The configuration files on PAM Pluggable Authentication Modules can be found in /etc/pam.d. Documentation for programmers and system ad- ministrators is located in /usr/doc/packages/pam. SuSE Linux is able to handle MD5 passwords. With MD5 encryption, pass- words can be longer than 8 characters (up to 128 characters). Since MD5 en- cryption is not compatible with the standard Unix crypt() function, most commercial Unix systems and some programs don't work with MD5 pass- words. So be careful if you enable this feature. Notes on configuration can be found in /usr/doc/packages/pam/ md5.config. 3.6.8 Group Administration YaST can also be used to create user groups. Figure 3.26: Group administration with YaST Under Linux (as with UNIX in general) each user must be assigned to at least one group. This is necessary because permissions (for certain files) depend on which group the user belongs to. User groups can be used to restrict (or allow) users to have access to certain directories. Group passwords can also be used to restrict (or allow) access to certain directories. Some groups already exist under Linux, for example the user groups `users', `root' and many more. The group name, such as with `users', is just a textual representation of the group. Linux recognizes the groups according to the "GID" (Group ID). The configuration file for groups is in /etc/group. This is just background information that most regular users do not need to know. With YaST it is easy to create groups. In the menu `System Ad- ministration' there is a submenu for `Group Administration'. This screen is described in Figure 3.26. 100 3.6. System Administration 3.6.9 System Security Settings Only change the defaults if you have detailed knowledge of the measures in question. You should definitely read Chapter 18 page 413. If you do not want to allow any `root' logins via ssh, then /etc/ssh_ config must be adjusted. In /etc/sshd_config, the default is set to PasswordAuthentication yes ­ If the ssh is correctly configured, `root' logins are secure across a network. 3.6.10 Configuring XFree86(TM) The X Window System (XFree86) can be configured with different configu- ration tools.You should first try to use SaX. SaX is described in more detail in Section 8.1 page 208. 3.6.11 Changing the YaST Configuration File SuSE Linux is maintained by one central configuration file (/etc/rc. config). This file is read at boot time by the boot scripts that configure your system. It is possible to change individual variables in this file with YaST. By doing this you can make configuration changes to your system without having to know every detail about every configuration file on your system. Figure 3.27: Editing the configuration file with YaST The menu option for changing the configuration file is under the `Sys- tem Administration' in the menu titled `Change Configura- tion file' With the cursor, select the variable that you want to change and press the or F3 key. After you have used YaST to change one of the values the script SuSEconfig will run automatically. If you decide to manually change this value (by editing the file /etc/rc. config) please remember that you must manually run the script SuSEc- onfig. This script will do the necessary updates to the relevant config- 101 3. YaST ­ Yet another Setup Tool uration files, according to the values that have been set (or changed) in /etc/rc.config. Additional details on this subject can be found in Sec- tion 17.6 page 400. 3.6.12 Creating Backups This option helps you to back up all modified and new files and packages to a file or tape. These are configuration files in most cases. Figure 3.28: Backup with YaST-choosing directories to exclude The dialog consists of three parts (see Figure 3.28): 1. Choosing the files to be backed up: Here you can tell YaST which directories should be excluded from the backup. Predefined are /tmp /dev and /proc. You should add mounted CD-ROM's or NFS-mounted filesystems to this list. The less you want to be backed up, the faster it will run, since unnecessary com- parisons with package lists are omitted. Using + and - , you can add new directories or remove them. Pressing F10 leads to the next step. 2. Searching In this step, YaST searches for files which should be backed up. The number and size of the packages found are updated while searching. After this has been done, there will be a list with all the files that have been found. Here you can still de-select files by using the . 3. Entering commands Here you decide how those files are going to be saved. You can give archive names, options and more. This back up mechanism can only work if the dates of the files have not been otherwise changed. Furthermore, this function requires considerable RAM. Filenames of an ordinary CD take up to 6 MB RAM. Also, you need enough free disk space to save the backup archive. Compressing the archive will lead to a file reduced in size-approximately half of the original. The best way to do backups is to use a tape. 102