Installing or Updating MCC Interim Linux **************************************** This chapter assumes that you have already obtained all the necessary files and packages, and prepared or obtained a suitable MCC bootable root disk. See README.ftp, where the preparation of bootable root disks is described. An overview of the MCC installation =================================== In this section I summarise what you should do to install Linux using the MCC interim distribution. Exceptions, qualifications, and alternatives are omitted to keep the picture as simple as possible. - Read this document carefully, so that you know what the process of installing Linux involves. Think about how you will partition your hard disk. See README.prepare. - Back up your hard disk. - Get the boot image, packages, and DOS programs by using anonymous ftp in binary mode. See README.ftp. - Unpack `GZIP.EXE'. - Use the new `GZIP.EXE' to unpack the boot image. - Use `RAWRITE' to copy the boot image to a high density floppy. See README.ftp. - Boot from the MCC boot disk in read-only mode. See README.install. - Use `fdisk' to edit your partition table. See README.fdisk. - Reboot from the MCC boot disk in read-only mode. - Use `mkswap' to set up a swap partition. See README.install. - Use `mkfs' to create file system partitions. - Install the Base package from the MCC boot disk. - Reboot from the MCC boot disk in read-write mode. - Install the packages you select. - Use LILO to create a boot floppy. floppy or hard disk: LILO. - Reboot from your new boot floppy. - Log in as root, and use `/etc/lilo/install' to install LILO on your hard disk. The following sections explain this process in greater detail. Booting from the MCC boot disk ============================== Put the MCC boot disk in the 0 drive (the A: drive for DOS) of the machine on which you want to install Linux. Then reboot by pressing the `RESET' button, or `CTRL-ALT-DEL'. After the system boots, you should see something like this: LILO Press to boot with the floppy as a read-only '/'. Type 'rw root=xxx ' to mount a hard disk partition as '/'. The value 'xxx' is printed after you do an installation. Typical values: /dev/hda1: 301 /dev/hda2: 302 /dev/hdb1: 341 /dev/hdb3: 343 /dev/sda1: 801 /dev/sdb4: 814 boot: To install or update MCC interim Linux, you will need to boot at least twice from this floppy, and possibly three times: 1. You may need to run `fdisk' to edit the partition tables. After doing this, it is a good idea to reboot the system. 2. You need to set up and mount the hard disk partitions and install basic files from the boot disk. 3. You need to reboot the system before installing the MCC packages. In the first two cases, simply press after the above message appears. This boots Linux using the kernel on the boot disk, and mounts the boot disk as `/' in read-only mode. In the third case, you need to give a command such as rw root=302 where the number `302' varies depending on which root partition you intend to use. This also uses the kernel on the boot disk, but it mounts one of the partitions on your hard disk as `/', and it mounts that partition in read-write mode. This is not guaranteed to work unless you have installed or updated basic files from the MCC interim boot disk. As the kernel boots, it tries to explore your hardware, and messages will appear describing what it finds. If you have only one IDE disk, you will see this message: hard disk I/O error dev 0340, sector 0 unable to read partition table of device 0340 This can be ignored; it means that the kernel cannot access your second hard disk, which of course does not exist. If you simply pressed , the messages which appear should end like this: Linux version 0.99.pl8-5 (root@linux) 04/24/93 08:05:03 f Run fdisk to manage the partition table. s Set up a new swap partition. a Activate an existing swap partition. m Make a new file system on a partition. i Install basic binaries. c Check (and repair) an existing file system. e Execute /bin/sh on an existing file system. q Quit. ? _ Instead of getting a shell prompt `#', you see a small menu. The choices in the menu help you execute the commands you need to use to create an installed MCC interim Linux system, and these commands appear on the menu more or less in the order in which you need to select them. To select a command, type the letter which appears next to it, and then press . This procedure differs from that in previous MCC installations. Editing the partition tables ============================ To run `fdisk' from the MCC boot floppy, select `f' from the menu. See README.fdisk for more information about the `fdisk' command. First you need to specify the disk whose partition tables you will edit. The menu utility asks: Run fdisk on (block device; default = /dev/hda): At this point, press to accept the default. `/dev/hda' is the first hard disk, `/dev/hdb' the second, `/dev/sda' the first SCSI disk, `/dev/sdb' the second, `/dev/xda' the first XT disk, and `/dev/xdb' the second. To select one of these, simply type it after the prompt. If you decide not to, the `block device' prompts always accept `q' as an answer, though sometimes the message `That is not a legitimate device' appears. At this point the `fdisk' prompt appears: Command (m for help): _ If you type `m', you will see the main menu for `fdisk': Command action a toggle a bootable flag d delete a partition l list known partition types m print this menu n add a new partition p print the partition table q quit without saving changes t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): _ We can give the command `p' to print the partition table. Here is a sample from one of the machines I use: Disk /dev/hda: 14 heads, 35 sectors, 978 cylinders Units = cylinders of 490 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 98 23992+ 4 DOS 16-bit <32M /dev/hda3 * 263 263 426 40180 81 Linux/MINIX /dev/hda4 427 427 977 134995 5 Extended /dev/hda5 427 427 491 15924+ 82 Linux swap We can create a primary partition in slot 2, or another logical partition after the swap space: Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) p Partition number (1-4): 2 First cylinder (99-978): 99 Last cylinder or +size or +sizeM or +sizeK (99-262): 262 Command (m for help): _ Then we change its type from 81 (Linux/Minix) to 83 (Linux extended file system). This actually makes no practical difference, but I like to see things clearly when I look at partition tables; I want sensible information to appear. Command (m for help): t Partition number (1-8): 2 Hex code (type L to list codes): 83 Changed system type of partition 2 to 83 (Linux Ext) Next we make the new partition active. In most cases this has no practical effect, but I like to be able to see which partitions are bootable when the partition table is printed: Command (m for help): a Partition number (1-8): 2 Command (m for help): p Disk /dev/hda: 14 heads, 35 sectors, 978 cylinders Units = cylinders of 490 * 512 bytes Device Boot Begin Start End Blocks Id System /dev/hda1 * 1 1 98 23992+ 4 DOS 16-bit <32M /dev/hda2 * 99 99 262 40180 83 Linux Ext /dev/hda3 * 263 263 426 40180 81 Linux/MINIX /dev/hda4 427 427 977 134995 5 Extended /dev/hda5 427 427 491 15924+ 82 Linux swap Being satisfied with this, we decide to save it. Command (m for help): w The partition table has been altered! Calling BLKRRPART ioctl() to re-read partition table Syncing disks Reboot your system to ensure partition table is updated Reboot the system now (Y or N): y Leave the boot floppy in the drive. Press at the LILO prompt. It is not strictly necessary to reboot the system at this point. It is perfectly safe to run `fdisk' again, whether on the same partition or on other partitions. But before you run any other commands from the boot floppy, it is safer to reboot, at least if the hard disk contains any data which you would regret losing. Preparing swap and file system partitions ========================================= Once partitions have been created, they need to be initialised before they can be used for swapping or as file system partitions. Previously initialised swap partitions should be activated during installation, and it is a good idea to check existing file systems so that any inconsistencies that may have arisen are corrected before you copy new files onto them. You can select any one of these functions from the menu which appears after you boot the system in read-only mode. * Menu: * Initialising:: Initialising a swap partition. * Activating:: Activating a swap partition. * Creating:: Creating a file system. * Repairing:: Checking and repairing an existing file system. Initialising a swap partition ----------------------------- Before you can use a swap partition, you must initialise it. Once Linux is installed, you can do this with the `mkswap' command. To run `mkswap' from the MCC boot floppy, select `s' from the menu. Here is a typical example: WARNING: This will destroy any files on this partition. Do you want to continue (Y or N): y Run mkswap on (block device; default = /dev/hda5): Setting up swapspace, size = 16302080 bytes Adding Swap: 15920k swap-space I find warnings of the type `Are you sure?' irritating, but I print one here to remind you that this command overwrites an entire partition. The default swap device is `/dev/hda5' because this is the first logical partition, and it seems sensible not to put a swap partition in one of the slots of the primary partition table, unless you have a very small disk. If you are using a different partition for swap, type its name before pressing ; for example, type `/dev/hda2' in response to the `block device' query. The maximum usable size of a swap partition is 16 Mb, or 16384 blocks of 1024 bytes each. If you try to initialise a partition larger than this for swap, you are warned that some of this space will be wasted, and you can choose to give up before doing so. If you wish, you can use `fdisk' to reduce the size of the partition slightly, and you can add the extra cylinders to another partition. After the new swap partition is initialised successfully, the boot utility activates it for you. Activating a swap partition --------------------------- If you install Linux on a disk which already contains an initialised swap partition, you should activate it before doing anything else. On small systems, the installation may fail if you do not, and on any system, this should make the installation a little faster. Once Linux is installed, you can activate swap space with the `swapon' command. To run `swapon' from the MCC boot floppy, select `a' from the menu. Here is a typical example: Activate swapping on parition (block device; default = /dev/hda5): Setting up swapspace, size = 16302080 bytes Adding Swap: 15920k swap-space Here again, the default swap partition is `/dev/hda5'. Creating a file system ---------------------- Creating a file system under Linux is like running the `FORMAT' utility under DOS. Once Linux is installed, you can do this with the `mkfs' command. To run `mkfs' from the MCC boot floppy, select `m' from the menu. Here is a typical example: WARNING: This will destroy any files on this partition. Do you want to continue (Y or N): y Run mkfs on (block device; default = /dev/hda1): /dev/hda2 Create a Minix filesystem (Y or N): n By default all 40180 blocks of this partition are used for the file system. Sometimes this causes problems, due to a bug in mkfs.ext2. Reduce this number (Y or N): n mke2fs 0.3, 93/04/22 for EXT2 FS 0.3, 93/04/22 MCC interim Linux currently supports two kinds of file system: the minix file system and the ext2 file system. The "minix" file system is named after the MINIX operating system. It comes in two slightly different versions: one in which file names cannot be more than 14 characters long, and one in which file names cannot be more than 30 characters long. Partitions with the 14 character limit are actually compatible with MINIX and can be mounted under that system. The 30 character limit is not compatible with MINIX, but Linux treats the two versions as identical in most respects. The minix file system is older and less subject to change, and perhaps slightly more reliable. We do not recommend using the 14 character version unless you need to maintain compatibility with the MINIX operating system. A minix file system cannot have more than 64 Mb, or 65536 blocks of 1024 bytes, on a single partition. The "ext2" file system was developed for Linux and may eventually become the primary Linux file system. An older version of this system, the "ext" file system, is now quite stable, but we do not recommend its use, and MCC interim Linux does not support it any longer. File names in the ext2 file system may be up to 255 characters long, and a single partition may contain up to 4 terabytes (4 million megabytes). If you tell the MCC installation utility that a file system is not a minix file system, it assumes that it is an ext2 file system. Checking and repairing an existing file system ---------------------------------------------- It is a good idea to check file systems once in a while, particularly before you install a new version of Linux on a file system which already exists. Once Linux is installed, you can do this with the `fsck' command. This is the Unix equivalent of the DOS command `CHKDSK'. To run `fsck' from the MCC boot floppy, select `c' from the menu. Here is a typical example: Run fsck on (block device; default = /dev/hda1): /dev/hda2 Does this device contain a Minix file system (Y or N): y Do you want (possibly dangerous) automatic fixing (Y or N): n Do you want to fix problems on request (Y or N): y In the same way as when you create a file system, the boot floppy assumes that a Linux file system is either a minix file system or an ext2 file system. The `fsck' program reads through a file system, which is usually described in some detail and with a considerable amount of redundant information. If the information is inconsistent, `fsck' does one of three things: 1. In "automatic" mode, it tries to fix all problems as well as it can. 2. In "interactive" mode, it asks you before doing anything. 3. In "default" mode, it fixes minor problems, but asks you before fixing major problems. If you answer `y' to the query about automatic fixing, `fsck' runs in automatic mode and fixes everything it can. This may be dangerous if the file system is badly corrupted, since the program might delete a file you wish to keep. In my view, this is very unlikely, and I nearly always run `fsck' in automatic mode. If you answer `y' to the query about fixing problems on request, `fsck' runs in interactive mode; otherwise, it runs in default mode. File systems usually become corrupt when a system is shut down or rebooted improperly; for example, while a file or directory is being created or deleted. Chances are that if a file is being written, you will lose all or part of the file irrevocably. Installing basic files from the boot disk ========================================= When you have set up the swap and file system partitions, you can select the *install* option from the menu with the `i' command. The following dialogue shows how to specify partitions to be mounted: Which device contains the file system you wish to be mounted on '/'? Give a name in the form '/dev/hda1', or type 'q' to quit. This file system is on (block device; default = /dev/hda1): /dev/hda2 Does this device contain a Minix file system (Y or N): n Is there another partition you wish to mount? If so, give the pathname it will have in the installed system, such as '/usr/src' with a slash at the front and no slash at the end. (Upper case is not allowed.) If not, type 'n': n You must always give directories moving away from the root of the tree: in other words, if you intend to mount `/dev/hda8' on `/', `/dev/hda7' on `/usr', and `/dev/hda6' on `/usr/src', then you must give `/' first, then `/usr', and then `/usr/src'. If you specify another directory here, for example, `/usr/src', then you are asked for the block device where it lives, and the type of file system it contains. After you type 'n' to the request for another directory, you should see some messages as the Base package gets installed: 499 blocks Installing Base.tgz Base contains basic binaries and text files for Linux. .................................................................. 1971 blocks 96 blocks Verifying Base.crc. Filesystem 1024-blocks Used Available Capacity Mounted on /dev/hda2 40180 2272 37908 6% /root Reboot the system now (Y or N): _ The `blocks' messages refer to 512-byte blocks, half the size of the file system blocks. `Verifying' refers to the crc check by `brik'; after checking, the crc file is moved to `/tmp', so that you can check later to see whether anything has changed. There is no verification for most man pages, or for files (like `/etc/fstab', for example) which are edited by the installation programs. If a file has a bad checksum, a message appears like this one: BAD etc/init This warns you that something is wrong. If there is a small error (caused perhaps by a bad spot on your floppy?), you might have only one bad file, but usually there are several. The `df' listing (which includes all mounted disks) can be useful if you have insufficient space to install further packages. It is in general a good idea to reboot the system at this point during installation or upgrading. If you choose not to do so, a shell is started, and you can poke about in the half-installed system. If you choose to do so, you will see this message: Please type CTRL-D to reboot, not 'reboot' or 'shutdown'. This is because the system is set up in an odd way. The root partition (the booted floppy) is mounted in read-only mode, and the usual `mount' and `umount' programs will not work properly. Similarly, the `reboot', `halt', and `shutdown' utilities are not able to unmount file systems, which consequently are likely to become corrupt during the shutdown. If you type CTRL-D or `exit', you will again see the prompt Reboot the system now (Y or N): _ If you answer `y', you should see a message like this: Leave the boot floppy in the drive. Unmounted /dev/hda3 Unmounted /dev/hda2 Type 'rw root=302' at the LILO prompt. The message `rw root=302' is important, since you need to type it after the system has rebooted and printed the LILO prompt. The message printed at that time will jog your memory if you forget this, or if you did not write it down during the 15 seconds or so while it appears on the screen. The important part of the message is the number `302', which varies depending on the partition you wish to be mounted as `/', the root of the new file system. Installing the MCC interim packages =================================== After you have installed the Base package from the boot floppy, you must reboot before you install any other packages. At this time you should not yet be able to boot Linux from your hard disk. Leave the boot floppy in the floppy drive, and when the LILO prompt appears, type the command `rw root=xxx' which was printed at the end of the last step. The number `xxx' is a hexadecimal code for the partition which contains the root of the file system, and which is mounted as `/'. The system should boot, mounting the specified partition as `/' in read-write mode. Then the following message should appear: Which drive will you use to install Linux packages: 1 drive A: 5.25 inch HD floppies 2 drive A: 3.5 inch HD floppies 3 drive B: 5.25 inch HD floppies 4 drive B: 3.5 inch HD floppies 5 A directory on an unmounted partition on this machine 6 A directory already mounted at this time 7 No installation at this time ? _ If you are installing from floppies, give one of the answers 1 -- 4, whichever is appropriate. If you are installing from a directory, and if you mounted that directory before you installed the Base package from the boot floppy, answer `6'. If you copied the packages to a directory on a DOS partition, or on a Linux partition which is not currently mounted, answer `5'. If you answer `5', you must give the name of the unmounted partition which contains the directory which contains the packages. The partition must be a DOS partition or contain a minix or ext2 file system. You are prompted for the name of the partition: What is the block device on which this partition lives? To this you should answer, for example, `/dev/hda1'. If you are going to mount a partition using NFS, then you must initialise your network before you continue. If you must install the tcpip package to do this, then give one of the answers 1 -- 6 as appropriate, and install the tcpip and base packages first. But if your network software is already installed, so that you got messages when the system booted about your hostname and IP address, type `7'. In this case, it may be necessary to change your hostname and run `/etc/rc.net' before you continue. Once the hostname is correct and networking is active, mount the remote partition on `/mnt' and give the command `/tmp/install'. This is done automatically if you give one of the commands 1 -- 6 at boot time. Whichever method you use to make packages accessible, you must then answer this question: Do you wish to have a prompt before each package (Y or N): _ I recommend answering `y', which allows you to omit packages which you do not wish to install. On the other hand, when I install Linux on several machines at once, I make certain the disks contain only packages which I wish to install on all machines, and I answer `n' at this point. If you are confident that only desirable packages will be installed, and that you have enough disk space to hold them, answer `y', then drink some tea while the packages are installed. At this juncture you may see all, some, or none of the following dialogue, depending on the options you have chosen before this point: If you wish, you may install other parts of MCC interim Linux from a directory on another machine, remotely mounted using NFS, or from a currently available directory mounted in some other way. This will only work if you have mounted the remote directory If the directory is not accessible now, do you wish to quit? (Y or N): n Do you wish to install from a currently mounted directory? (Y or N): y /dev/hda1 is mounted on /mnt. In which directory are the packages found? /mnt/mcc After you reach this point, packages from the selected directory or floppy are installed. The messages which appear are much like those for the Base package on the boot floppy, and include the following information: Base contains basic text and binary files, with formatted man pages. Bison contains the GNU yacc-compatible parser generator. Emacs contains GNU emacs 18.59, except for info files. Flex contains the GNU clone of lex, the lexical analyser generator. Gawk contains the GNU version of the awk programming language. Gcc contains the GNU C compiler, release 2.3.3, excluding g++ and gprof. Gdb contains the GNU debugger. Gpp contains the GNU C++ compiler, release 2.3.3, except for those files contained in the gcc package. Gprof contains the GNU profiler gprof and its associated library files. Groff contains the GNU clone of the nroff/troff text formatter. Info contains GNU info, makeinfo, and selected info files. Kermit contains the Kermit file transfer and serial communications program. Linux contains the kernel source files for Linux version 0.99-p8+. Patches contains all patches used to compile the binaries included in the current MCC interim distribution. Tar contains the GNU version of tar, the tape archive program. Tcpip contains networking programs, daemons, and configuration files. These will not work unless your kernel was compiled with tcpip. The kernel in ide-uk has no TCP/IP, NFS, SCSI or xd support. The kernel in ide-us has no TCP/IP, NFS, SCSI or xd support. The kernel in ipide-uk has no SCSI or xd support. The kernel in ipide-us has no SCSI or xd support. If you have asked to be prompted, the message is printed before the prompt, so that you know what you are accepting or rejecting. During a floppy installation you will also see the following message from time to time: You may now remove the floppy disk from the drive. If you wish to install from another disk, then put it in the drive and type 'r' when ready; or type 'q' to stop: _ If your disks are DOS disks, you should have no other messages at mount time except `VFS: Disk change detected on device 2/28', or some such message, depending on your disk drive. But if your disks contain minix or ext2 file systems, you will get some error messages. I allowed these to remain, since they might sometimes contain useful information. The installation concludes by giving you the opportunity to install LILO either on a floppy or on your hard disk. If you do not wish to install LILO, you may create a conventional boot floppy instead. If you do not create a boot floppy or install LILO on your hard disk, you will not be able to boot your newly installed system, unless, of course, you use some boot loader which is not included in the MCC interim distribution. Creating a boot floppy ====================== After you install the last of the MCC packages, typing `q' if necessary to say that you have no more floppies, the installation procedure allows you to create a boot floppy, using either LILO or your newly installed kernel. You may also install LILO on your hard disk if you wish, though it is safer to make a boot floppy first. * Menu: * LILO:: Installing LILO on a floppy or hard disk. * Conventional:: Making a conventional boot floppy. Installing LILO on a floppy or hard disk ---------------------------------------- LILO is Werner Almesberger's utility for booting Linux: it stands for LInux LOader. It is quite versatile. You can install it in the Master Boot Record on your hard disk, so that it functions as the primary boot program when your system boots, or you can install it in any partition on your hard disk, or on a floppy disk. LILO can allow you to select from up to 16 possible Linux boot images, or you can boot another operating system. It can pass special options to Linux kernels, such as an instruction to boot in single user mode, or to mount the root partition in read-only mode. It can boot a default option unless you intervene during boot, and it can force you to choose one of its images interactively. It can also protect some or all of your boot options by requiring a password at boot time. The MCC base package (not the Base package on the boot disk) installs LILO in the directory `/etc/lilo'. Among the files installed in this directory are a detailed `README' which describes some of the many features of this utility, the command `/etc/lilo/lilo', which installs the loader, and the command `newinstall', which is a simple utility for installing LILO. The `newinstall' utility is run from the MCC installation procedure, which asks you the following questions: LILO can be used to boot Linux from your hard disk. It can also give you the choice of booting one or more versions of Linux or some other operating system. LILO can install itself in any partition, or in the Master boot record, or on a floppy disk, if you wish to be safe. Would you like to install LILO now? (Y or N): y Where should the boot code go? You may override this later to write a test floppy before installing LILO on the hard disk. Possible choices include /dev/hda (the master boot record on your first hard disk), /dev/hda3 (the partition you are installing Linux on), or /dev/fd0 (floppy disk 0, DOS floppy A:). Give me the name of a block device. The default is /dev/hda: The default at this point is chosen by taking the name of your root partition (for example, `/dev/hda3'), removing the end of its name (leaving `/dev/hd'), and adding `a' (thus producing `/dev/hda' in this case). I recommend accepting this default. LILO will boot by default the first system you specify. Others must be selected by taking special action at boot time. Is the first system you wish to add a version of Linux or not? Answer 'n' for other operating systems or 'q' to quit: (Y, N, or Q): y The default Linux image in this installation is /etc/Image. Press if you are using this image, or if you have a different image somewhere else which is currently mounted, give its pathname: What would you like to call this option? The default is 'linux'. Remember, you may not give the same name to two options: Is the next system you wish to add a version of Linux or not? Answer 'n' for other operating systems or 'q' to install: (Y, N, or Q): n In what partition does this other system live? Press if you do not wish to add this option. Otherwise give an answer like /dev/hda1: /dev/hda1 What is the name of the device where this partition lives? I want the block device which is the whole of the disk. Press to accept the default /dev/hda, or 'q' to give up: What would you like to call this option? The default is 'dos'. Remember, you may not give the same name to two options: Is the next system you wish to add a version of Linux or not? Answer 'n' for other operating systems or 'q' to install: (Y, N, or Q): q This little loop repeats, expecting the answer `y' for a Linux image, `n' for another operating system, and `q' when you have no more options to add. You must be careful not to give the same name to two options. The file `/etc/Image' is installed by the MCC boot floppy. When your list is finished, and if you have not added an option named `linux.old', `newinstall' inserts such an option to boot an old kernel named `/etc/Image.old' if it exists when LILO is installed. The MCC optional kernel packages produce such a file, and the script `/usr/src/linux-mcc/install' produces such a file whenever you compile a new kernel. Now where would you like to install LILO at this time? You may put it on /dev/fd0 to be safe; be sure you have a formatted floppy disk in this drive NOW, and that it is a device you can boot from, not your DOS B: drive. Or you may install it in /dev/hda. Give me the name of a block device. The default is /dev/fd0: /dev/fd0 Added linux Added dos Added linux.old This release of MCC interim Linux has now been installed. You may now login as root or as user. This installation of LILO may fail if you have an odd disk, whose geometry LILO is unable to determine when it is run. In that case, you can log in, edit the file `/etc/lilo/disktab' to insert the correct geometry for your disk, then give the command `/etc/lilo/newinstall' to try again. The boot floppy produced at this point will allow you to test whether LILO works properly before you attempt to install it on your hard disk. If you do install LILO on your hard disk, and for some reason it fails, or you simply wish to remove it, your original Master Boot Record is saved in the file `/etc/lilo/boot.xxxx', where `xxxx' is a hexadecimal number based on the drive number. You can restore this with the command `dd if=/etc/lilo/boot.0300 of=/dev/hda', using the appropriate names for your system. You should be very careful: the saved Master Boot Record restores everything to its original state, including the first four partitions described in the primary boot sector. Making a conventional boot floppy --------------------------------- If you do not install LILO after installing the MCC packages, you are asked whether you wish to make a conventional boot floppy. You can now make a conventional boot floppy which will boot your newly installed Linux system. To do this, you must put a formatted high density diskette into your A drive and answer 'y'. If you wish to do this now, answer 'y'. (Y or N): _ If you answer `y', this simply copies your kernel to the floppy in drive 0 using the command /bin/dd if=/etc/Image of=/dev/fd0 bs=3072 The resulting disk should boot under any circumstances. Thus, if you cannot get LILO to work, or if you prefer not to use it, you have a way of rebooting your system without messing about with the partition tables. This should not really be necessary. There are very few known problems with LILO other than the need to put correct parameters in `/etc/lilo/disktab' for a few awkward disks.