Differences between current version and revision by previous author of HowToLILO.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Sunday, November 28, 2004 12:53:43 am | by AristotlePagaltzis | |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:06:55 am | by perry | Revert |
@@ -1,1726 +1 @@
-
-
-
-LILO mini-HOWTO
-
-
-
-----
-
-!!!LILO mini-HOWTO
-
-!!Miroslav "Misko" Skoric, m.skoric@eunet.yuv3.10, 2002-04-06
-
-
-----
-''
-
-LILO is the most used __Li__nux __Lo__ader for the x86 flavour of
-Linux; I'll call it Lilo rather than LILO here because I don't
-appreciate uppercase. This file describes some typical Lilo
-installations. It's intended as a supplement to the Lilo User's
-Guide. I think examples are informative even if your setup isn't much
-like mine. I hope this saves you trouble. Since Lilo's own
-documentation is very good, who's interested in the details is
-referred to /usr/doc/lilo* (once upon a time said gentlemen like
-Cameron Spitzer and Alessandro Rubini who have made early versions
-of this document)''
-----
-
-
-This version of Lilo mini-HOWTO is based on work of Cameron Spitzer
-(cls@truffula.sj.ca.us) and Alessandro Rubini
-(rubini@linux.it). There are also contributions from Tony Harris
-(tony@nmr.mgh.harvard.edu) and Marc Tanguy
-(tanguy@ens.uvsq.fr). Well, I have used materials from
-the authors mentioned - __without changes__ - and added some pointers
-related to configuring LILO for using with Windows NT and Windows 2000.
-More detailed information about the activation of Windows NT/2000 from LILO
-menu, you may find in wonderfull
-Linux+WindowsNT mini-HOWTO.
-
-
-
-
-
-
-
-
-
-
-!!1. Introduction
-
-
-
-
-!!2. Background Information and Standard Installation
-
-
-*2.1 Where Should I Install Lilo?
-
-*2.2 How Should I Configure my IDE Hard Drives?
-
-*2.3 How Can I Interact at Boot Time?
-
-*2.4 How Can I Uninstall Lilo?
-
-*2.5 How to make a ram disk?
-
-
-
-
-
-!!3. The Simple Configuration
-
-
-*3.1 How to Deal with Big Kernels
-
-*3.2 How to boot Windows NT from 'LILO boot:' menu
-
-*3.3 How to boot Windows 2000 from 'LILO boot:' menu
-
-
-
-
-
-!!4. Installing hdc to Boot as hda and Using bios=
-
-
-
-
-!!5. Using Lilo When the BIOS Can't See the Root Partition
-
-
-
-
-!!6. How do i know the BIOS number for my SCSI disks
-
-
-*6.1 The theory
-
-*6.2 How to swap linux and NT booting ?
-
-*6.3 Miscellaneous
-
-
-
-
-
-!!7. Accessing Huge Disks When the BIOS Can't
-
-
-
-
-!!8. Booting from a Rescue Floppy
-
-
-
-
-!!9. Further Information
-
-
-*9.1 Copyright
-
-*9.2 Disclaimer
-
-*9.3 News
-
-*9.4 Credits
-
-*9.5 HOWTO
-
-*9.6 Mini-HOWTO
-
-*9.7 Local Resources
-
-*9.8 Web Pages
-
-
-
-
-
-!!10. GETTING HELP
-----
-
-!!1. Introduction
-
-
-Although the documentation found in Lilo's sources (the one installed
-in /usr/doc/lilo-version) is very comprehensive, most Linux
-users experience some trouble in building their own
-/etc/lilo.conf file. This document is meant to support them
-by giving the minimal information and by showing five sample
-installations:
-
-
-
-
-
-*The first example is the classical ``Linux and other'' installation.
-
-*
-
-*The next one shows how to install Lilo on a hard drive
-connected as /dev/hdc that will boot as /dev/hda.
-This is usually needed when you install a new Linux drive from
-your own running system. This also tells how to boot from SCSI
-disks when your BIOS is modern enough.
-
-*
-
-*The third example shows how to boot a Linux system whose root
-partition can't be accessed by the BIOS.
-
-*
-
-*The next sample file is used to access huge disks, that neither the
-BIOS nor DOS can access easily (this one is somehow outdated).
-
-*
-
-*The last example shows how to restore a damaged disk,
-if the damage resulted from installing another
-operating system).
-
-*
-
-
-
-
-
-
-The last three examples are by Cameron, cls@truffula.sj.ca.us,
-who wrote the original document. Alessandro rubini@linux.it
-doesn't run anything but Linux, so he can't check
-nor update them by himself. Needless to say, any feedback is welcome.
-
-
-
-
-
-
-----
-
-!!2. Background Information and Standard Installation
-
-
-When Lilo boots the system, it uses BIOS calls to load the Linux
-kernel off the disk (IDE drive, floppy or whatever). Therefore, the
-kernel must live in some place that can be accessed by the bios.
-
-
-
-
-
-At boot time, Lilo is not able to read filesystem data, and any
-pathname you put in /etc/lilo.conf is resolved at
-installation time (when you invoke __/sbin/lilo__). Installation
-time is when the program builds the tables that list which sectors are
-used by the files used to load the operating system. As a consequence,
-all of these files must live in a partition that can be accessed by
-the BIOS (the files are usually located in the /boot
-directory, this means that only the root partition of your Linux
-system needs to be accessed via the BIOS).
-
-
-
-
-
-Another consequence of being BIOS-based is that you must reinstall the
-loader (i.e., you must reinvoke __/sbin/lilo__) any time you
-modify the Lilo setup. Whenever you recompile your kernel and
-overwrite your old image you must reinstall Lilo.
-
-
-
-
-!!2.1 Where Should I Install Lilo?
-
-
-
-The boot= directive in /etc/lilo.conf tells Lilo where
-it should place its primary boot loader. In general, you can either
-specify the master boot record (/dev/hda) or the root
-partition of your Linux installation (is usually is /dev/hda1
-or /dev/hda2).
-
-
-
-
-
-If you have another operating system installed in your hard drive,
-you'd better install Lilo to the root partition instead of the MBR. In
-this case, you must mark the partition as ``bootable'' using the ``a''
-command of __fdisk__ or the ``b'' command of __cfdisk__.
-If you don't overwrite the master boot sector you'll find it
-easier to uninstall Linux and Lilo if needed.
-
-
-
-
-
-Of course, you always have a way to avoid some "rules" like above. Well,
-you may install Lilo to the MBR even if you already have another operating
-system installed there. For example, if you installed Windows NT 4.0 as the
-first operating system on your machine, then NT's boot loader was placed into
-the MBR so you were able to boot NT without problems. After you installed
-Linux and chose to install Lilo to the MBR, Lilo rewrote NT's boot loader.
-Next time you boot your machine, you won't be able to boot NT. But, that
-is no problem. You should edit your /etc/lilo.conf and add a new
-entry for NT. Next time you re-boot your system, there will be the new
-added NT entry under Lilo menu. The same thing happened when I installed
-Windows 2000 instead of Windows NT.
-
-
-
-
-!!2.2 How Should I Configure my IDE Hard Drives?
-
-
-
-I personally don't use LBA or LARGE settings in the BIOS (but I only
-run Linux); they are horrible kludges forced on by design deficiencies
-in the PC world. This requires that the kernel lives in the first 1024
-cylinders, but this is not a problem as long as you partition your
-hard drives and keep root small (as you should do anyways).
-
-
-
-
-
-If your hard disk already carries another operating system, you won't
-be able to modify the BIOS settings, or the old system won't work any
-more. All recent Lilo distribution are able to deal with LBA and LARGE
-disk settings.
-
-
-
-
-
-Note that the "linear" keyword in /etc/lilo.conf can
-help in dealing with geometry problems. The keyword instructs Lilo to
-use linear sector addresses instead of sector/head/cylinder tuples.
-Conversion to 3D addresses is delayed to run-time, therefore making
-the setup more immune to geometry problems.
-
-
-
-
-
-If you have more than one hard disk and some of them are only used by
-Linux and are not involved in the boot process, you can tell your BIOS
-that they are not installed. Your system will boot more quickly and
-Linux will autodetect all the disks in no time. I often switch disks
-in my computers, but I never touch the BIOS configuration.
-
-
-
-
-!!2.3 How Can I Interact at Boot Time?
-
-
-
-When you see the Lilo prompt, you can hit the <Tab> key to show
-the list of possible choices. If Lilo is not configured to be
-interactive, press and hold the <Alt> or <Shift> key
-before the ``LILO'' message appears.
-
-
-
-
-
-If you choose to boot a Linux kernel, you can add command-line
-arguments after the name of the system you choose. The kernel accepts
-many command-line arguments. All the arguments are listed in the
-``!BootPrompt-HOWTO'' by Paul Gortmaker, and I won't replicate it
-here. A few command line arguments, however, are particularly
-important and worth describing here:
-
-
-
-
-
-*root=: you can tell the Linux kernel to mount as root
-a different partition than the one appearing in /lilo.conf.
-For example, my system has a tiny partition hosting a minimal Linux
-installation, and I've been able to boot the system after
-destroying my root partition by mistake.
-
-*
-
-*init=: version 1.3.43 and newer of the Linux kernel can
-execute another command instead of __/sbin/init__,
-as specified on the command line. If you experience bad problems
-during the boot process, you can access the bare system by
-specifying init=/bin/sh (when you are at the shell
-prompt you most likely will need to mount your disks: try
-``__mount -w -n -o remount /; mount -a__'',
-and remember to ``__umount -a__'' before turning off
-the computer).
-
-*
-
-*A number: by specifying a number on the kernel command line, you
-instruct ''init'' to enter a specific run-level (the
-default is usually 3 or 2, according to the distribution you chose).
-Refer to the ''init'' documentation, to /etc/inittab
-and to /etc/rc*.d to probe further.
-
-*
-
-
-
-
-
-!!2.4 How Can I Uninstall Lilo?
-
-
-
-When Lilo overwrites a boot sector, it saves a backup copy in
-/boot/boot.''xxyy'', where ''xxyy'' are the major and minor
-numbers of the device, in hex. You can see the major and minor numbers
-of your disk or partition by running ``__ls -l
-/dev/''/device''__''. For example, the first sector of
-/dev/hda (major 3, minor ) will be saved in
-/boot/boot.0300, installing Lilo on /dev/fd0 creates
-/boot/boot.0200 and installing on /dev/sdb3 (major
-8, minor 19) creates /boot/boot.0813. Note that Lilo won't
-create the file if there is already one so you don't need to care about
-the backup copy whenever you reinstall Lilo (for example, after
-recompiling your kernel). The backup copies found in /boot/
-are always the snapshot of the situation before installing any Lilo.
-
-
-
-
-
-If you ever need to uninstall Lilo (for example, in the unfortunate
-case you need to uninstall Linux), you just need to restore the
-original boot sector. If Lilo is installed in /dev/hda, just
-do ``__dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1__''
-(I personally just do ``__cat /boot/boot.0300 > /dev/hda__'',
-but this is not safe, as this will restore the original partition table as
-well, which you might have modified in the meanwhile). This command is
-much easier to run than trying ``__fdisk /mbr__'' from a DOS
-shell: it allows you to cleanly remove Linux from a disk without ever
-booting anything but Linux. After removing Lilo remember to run Linux'
-__fdisk__ to destroy any Linux partition (DOS' __fdisk__ is unable to remove non-dos partitions).
-
-
-
-
-
-If you installed Lilo on your root partition (e.g., /dev/hda2),
-nothing special needs to be done to uninstall Lilo. Just run Linux'
-__fdisk__ to remove Linux partitions from the partition
-table. You must also mark the DOS partition as bootable.
-
-
-
-
-!!2.5 How to make a ram disk?
-
-
-
-''Notice: If you find the next section difficult to read, you may
-also look for the web page:
-http://surfer.nmr.mgh.harvard.edu/partition/ramdisk.html
-where you would find the "original" of this contribution ...''
-
-
-
-
-
-by Tony Harris
-
-
-16 Oct 2000
-
-
-ram disk eenie-weenie HOWTO
-
-
-
-
-
-If your root file system is on a device for which your kernel has no
-compiled-in driver, you will need to use lilo to load that driver
-as a module very early in the boot cycle.
-There are only two easy steps:
-
-
-
-
-
-*make a ram disk image with __/mkinitrd__
-
-*
-
-*modify lilo.conf to point to the image
-
-*
-
-
-
-First, I __cd__ over to /boot:
-
-
-
-
-
-
-
-System.map chain.b module-info-2.2.16-3ext3
-System.map-2.2.16-3 initrd-2.2.16-3.img vmlinux-2.2.16-3
-System.map-2.2.16-3ext3 vmlinux-2.2.16-3ext3
-vmlinuz kernel.h
-boot.b map vmlinuz-2.2.16-3
-bz.2.2.15.juke.Image module-info vmlinuz-2.2.16-3ext3
-bzImage-2.2.14 module-info-2.2.16-3
-
-
-
-
-
-
-Here you can see that I have a 2.2.16-3 kernel and I have added a
-second kernel with ext3 support (vmlinuz-2.2.16-3ext3). There is
-already a ram disk image for my first kernel (initrd-2.2.16-3.img)
-
-
-To make a new image for the second kernel, I type the following (stuff I
-type is in bold):
-
-
-boot# __mkinitrd initrd-2.2-16-3ext3.img 2.2.16-3ext3__
-
-
-mkinitrd is a shellscript that looks at the modules needed by my
-kernel, then makes an ext2 filesystem containing them.
-If we look inside the image we see this is the case:
-
-
-boot# __cat initrd-2.2.16-3ext3.img | gunzip > /tmp/myimage__
-
-
-boot# __file /tmp/myimage__
-
-
-/tmp/myimage: Linux/i386 ext2 filesystem/
-
-
-
-
-
-You do not have to look inside your image. Only making the image and
-modifying lilo.conf are necessary steps. However, discussion of
-the ramdisk image is provided for pedagogic purposes.
-
-
-In order to look inside, I need to mount the image as though it were
-a filesystem:
-
-
-boot# __mount /tmp/myimage /mnt/tmp -t ext2 -o loop=/dev/loop3__
-
-
-boot# __ls /mnt/tmp__
-
-
-bin dev etc lib linuxrc
-
-
-boot# __find /mnt/tmp__
-
-
-mnt/tmp/
-
-
-mnt/tmp/lib/
-
-
-mnt/tmp/lib/aic7xxx.o/
-
-
-mnt/tmp/bin/
-
-
-mnt/tmp/bin/sh/
-
-
-mnt/tmp/bin/insmod/
-
-
-mnt/tmp/etc/
-
-
-mnt/tmp/dev/
-
-
-mnt/tmp/dev/console/
-
-
-mnt/tmp/dev/null/
-
-
-mnt/tmp/dev/ram/
-
-
-mnt/tmp/dev/systty/
-
-
-mnt/tmp/dev/tty1/
-
-
-mnt/tmp/dev/tty2/
-
-
-mnt/tmp/dev/tty3/
-
-
-mnt/tmp/dev/tty4/
-
-
-mnt/tmp/linuxrc/
-
-
-The most important part of this ram disk image is aic7xxx.o,
-which is my scsi module.
-
-
-Finally, I move on to the last step, modifying /etc/lilo.conf:
-
-
-Here is my entry in lilo.conf that corresponds to the kernel and
-image I just created:
-
-
-image=boot/vmlinuz-2.2.16-3ext3/
-
-
-label=linux.ext3
-
-
-initrd=boot/initrd-2.2.16-3ext3.img/
-
-
-read-only
-
-
-root=dev/hdb3/
-
-
-That's it. Run __/lilo__ as root and reboot.
-
-
-
-
-
-If you have problems, check out the kernel HOWTO. There are a
-couple things you need to have covered: you need your kernel modules
-compiled and living in /etc/conf.modules.
-
-
-
-
-
-
-----
-
-!!3. The Simple Configuration
-
-
-Most Lilo installations use a configuration file like the
-following one:
-
-
-
-
-boot = /dev/hda # or your root partition
-delay = 10 # delay, in tenth of a second (so you can interact)
-vga = 0 # optional. Use "vga=1" to get 80x50
-#linear # try "linear" in case of geometry problems.
-image = /boot/vmlinux # your zImage file
-root = /dev/hda1 # your root partition
-label = Linux # or any fancy name
-read-only # mount root read-only
-other = /dev/hda4 # your dos partition, if any
-table = /dev/hda # the current partition table
-label = dos # or any non-fancy name
-
-
-
-
-
-
-You can have multiple ``image'' and ``other'' sections if you want. It's
-not uncommon to have several kernel images configured in your
-''lilo.conf'', at least if you keep up to date with kernel
-development.
-
-
-
-
-!!3.1 How to Deal with Big Kernels
-
-
-
-If you compile a ``zImage'' kernel and it is too big to fit in half a
-megabyte (this is commong with new 2.1 kernels), you should build a
-``big zImage'' instead: ``make bzImage''. To boot a big
-kernel image nothing special is needed, but you need version 18 or
-newer of Lilo. If your installation is older, you should upgrade your
-Lilo package.
-
-
-
-
-!!3.2 How to boot Windows NT from 'LILO boot:' menu
-
-
-
-Here I will give you an order of routines you have to do if you want
-to have both Linux and NT entries under Lilo menu:
-
-
-
-
-
-*First of all, I would suggest you to install a fresh copy of
-Windows NT 4.0 on your hard disk. I suppose that you already
-made a backup of your important data, so the NT installation
-shouldn't be a problem. During the NT installation, setup is
-not going to ask you where to place NT's boot loader, so it
-would be placed into the MBR (Master Boot Record) of your hard
-disk. But, there is a possibility for a previous content of
-the MBR to remain within the MBR (especially any previous
-Lilo), so I would suggest you (before installation of NT) to
-boot the computer with a DOS floppy diskette having DOS version
-of FDISK. At the prompt a:\ just enter the command: fdisk /mbr
-and restart the computer again (without that floppy).
-
-
-
-
-*
-
-*After you have successfully installed your NT, you will see that
-it uses the whole hard disk or a specific partition of the hard
-disk (depending on what you decided during the setup process).
-So, it is advisible to 'shrink' the partition where NT resides
-in order to make some free space on the disk. Onto that free space
-you will install your Linux. After you have your NT configured
-and running, you have to boot your computer using a floppy
-diskette with Partition Magic utility by Power Quest. It is a
-graphical tool able to see all partitions on all hard disks you
-have. The best thing is that you can make some changes with your
-partitions but not to destroy your existing data. One of the
-available changes is to make your existing partition(s) smaller,
-so to get some free space on the disk(s) for other purposes.
-Although you are advised to make a backup before you make any
-changes to the partitions, I usually practise to 'shrink' NT's
-partition before I installed anything but NT itself (so, if
-needed, a repetitive re-installation wouldn't be a problem).
-Well, Partition Magic (or any other similar utility you are
-familiar with) will shrink your NT's partition (either NTFS or
-FAT) to a smaller measure and place it to either the beginning
-or to the end of the previous measure. It means that you may
-choose to have your 'shrinked' NT partition at the beginning
-or at the end of your disk (I usually choose NT to be at the
-beginning, so the ending part of the disk will become a 'free
-space'). After the 'shrinkin' is finished, you may re-boot your
-NT in order to check the new situation: you may use Windows
-Explorer or Disk Administrator for that.
-
-
-
-
-*
-
-*So far so good. Next step is to install your Linux. Case you
-are familiar with !RedHat distribution (I hope with other distros
-is the same or similar), you start by putting your installation
-CD in the drive and re-boot the computer). Well, when you are about
-to choose what type of installation it will be (Gnome or KDE
-Workstation, Custom, etc.) you may choose whatever you planned
-before, but I would suggest to install a Workstation at first.
-This is good because Linux setup will find automatically the
-free space on the (first) hard disk, make all partitions needed
-for Linux, format them properly, make majority of option by
-default so you won't have much pain during the setup (later, if
-you want, you may either to add missing components or re-install
-Linux as Custom over the existing linux partitions). Lilo should
-go to the MBR.
-
-
-
-
-*
-
-*After it looks that Linux installation is finished, you are going
-to re-start the computer and there there you will only see Lilo
-with one Linux entry to boot (or maybe more than one Linux
-entry, in case your hardware is multi-processor one). But, don't
-panic! Your Windows NT is still there where you had installed it
-before Linux. You should become some familiar with Linux as soon
-as possible, in order to be able to find and edit your new
-/etc/lilo.conf file. When you open this file for the first time,
-you'll see that there is only one (or more) Linux entry. Well,
-you should know the exact position (read: a partition) where
-Windows NT has been installed, so you could add an appropriate
-entry into /etc/lilo.conf file. After you do that, restart Lilo
-and, after the next re-boot, you will have both 'linux' and 'nt'
-entries under Lilo menu.
-
-*
-
-
-
-
-
-!!3.3 How to boot Windows 2000 from 'LILO boot:' menu
-
-
-
-Well, you may use the same procedure as described above.
-I suggest you to read Linux+WinNT mini-HOWTO that also talks
-about booting Windows 2000, which is installed on the same part of disk
-where Windows NT was ''before''. There you'll find many useful details
-regarding various Linux+WinNT/2000/98 combinations.
-
-
-
-
-
-
-----
-
-!!4. Installing hdc to Boot as hda and Using bios=
-
-
-Lilo allows to map the kernel image from one disk and instruct the
-BIOS to retrieve it from another disk. For example, it's common for me
-to install Linux on a disk I connect to hdc (master disk of
-secondary controller) and boot it as a standalong system on the primary
-IDE controller of another computer. I copied the installation floppy
-to a tiny partition, so I can run ''chroot'' in a virtual
-console to install hdc while I use the system to do something else.
-
-
-
-
-
-The ''lilo.conf'' file I use to install Lilo looks like:
-
-
-
-
-# This file must be used from a system running off /dev/hdc
-boot = /dev/hdc # overwrite MBR of hdc
-disk = /dev/hdc # tell how hdc will look like:
-bios = 0x80 # the bios will see it as first drive
-delay =
-vga =
-image = /boot/vmlinux # this is on /dev/hdc1
-root = /dev/hda1 # but at boot it will be hda1
-label = Linux
-read-only
-
-
-
-
-
-
-This configuration file must be read by a Lilo running __off
-/dev/hdc1__. The Lilo maps that get written the boot sector
-(/dev/hdc) must refer to the files in /boot
-(currently installed as hdc); such files will be accessed under hda
-when this disk will be booted as a standalone system.
-
-
-
-
-
-I call this configuration file /mnt/etc/lilo.conf.hdc
-(/mnt is where hdc is mounted during the installation. I
-install Lilo by invoking ``cd /mnt; chroot . sbin/lilo -C
-/etc/lilo.conf.hdc''. Refer to the manual page for
-''chroot'' if this looks magic.
-
-
-
-
-
-The ``bios='' directive in lilo.conf is used to tell
-Lilo what the BIOS thinks of your devices. BIOS calls identify floppy
-disks and hard drives with a number: 0x00 and 0x01 select the floppy
-drives, 0x80 and the following numbers select hard disks (old BIOSes
-can only access two disks). The meaning of ``bios = 0x80 in
-the previous sample file is therefore ``use 0x80 in your BIOS calls
-for /dev/hdc''.
-
-
-
-
-
-This Lilo directive can be handy in other situations, for example when
-your BIOS is able to boot from SCSI disks instead of IDE ones. When
-both IDE and SCSI devices are there, Lilo can't tell whether 0x80 will
-refer to one or the other because the user is able to choose it in the
-BIOS configuration menus, and the BIOS can't be accessed while Linux
-is running.
-
-
-
-
-
-By default, Lilo assumes that IDE drives are mapped first by the BIOS,
-but this can be overridden by using instructions like these in
-/etc/lilo.conf:
-
-
-
-
-disk = /dev/sda
-bios = 0x80
-
-
-
-
-
-
-
-----
-
-!!5. Using Lilo When the BIOS Can't See the Root Partition
-
-
-I have two IDE drives, and a SCSI drive. The SCSI drive can't be seen
-from BIOS. The Linux Loader, Lilo, uses BIOS calls and can only see
-drives that BIOS can see. My stupid AMI BIOS will only boot from "A:"
-or "C:" My root file system is on a partition on the SCSI drive.
-
-
-
-
-
-The solution consists in storing the kernel, map file, and chain
-loader in a Linux partition on the first IDE. Notice that it is not
-necessary to keep your kernel on your root partition.
-
-
-
-
-
-The second partition on my first IDE (/dev/hda2, the Linux
-partition used to boot the system) is mounted on /u2. Here
-is the /etc/lilo.conf file I used.
-
-
-
-
-# Install Lilo on the Master Boot Record
-# on the first IDE.
-#
-boot = /dev/hda
-# /sbin/lilo (the installer) copies the Lilo boot record
-# from the following file to the MBR location.
-install = /u2/etc/lilo/boot.b
-#
-# I wrote a verbose boot menu. Lilo finds it here.
-message = /u2/etc/lilo/message
-# The installer will build the following file. It tells
-# the boot-loader where the blocks of the kernels are.
-map = /u2/etc/lilo/map
-compact
-prompt
-# Wait 10 seconds, then boot the 1.2.1 kernel by default.
-timeout = 100
-# The kernel is stored where BIOS can see it by doing this:
-# cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1
-image = /u2/z1.2.1
-label = 1.2.1
-# Lilo tells the kernel to mount the first SCSI partition
-# as root. BIOS does not have to be able to see it.
-root = /dev/sda1
-# This partition will be checked and remounted by /etc/rc.d/rc.S
-read-only
-# I kept an old Slackware kernel lying around in case I built a
-# kernel that doesn't work. I actually needed this once.
-image = /u2/z1..9
-label = 1..9
-root = /dev/sda1
-read-only
-# My DR-DOS 6 partition.
-other = /dev/hda1
-loader=/u2/etc/lilo/chain.b
-label = dos
-alias = m
-
-
-
-
-
-
-
-----
-
-!!6. How do i know the BIOS number for my SCSI disks
-
-
-''The contribution from Marc Tanguy (mtanguy@ens.uvsq.fr), 27 Sep 2001''
-
-
-
-
-
-
-
-!!6.1 The theory
-
-
-
-Actually, it exists two ways to know it :
-
-
-
-
-
-If you have an adaptec scsi card (2940u2, 29160, 39160), you simply
-use the 'diagnose' mode (using BIOS v3.10.0 recommended). It must be
-activated in the scsi card BIOS menu.
-Then you just have to wait and see something like :
-
-
-
-
-
-
-... ID LUN Vendor Product Rev Size Sync Bus __HD#__
-... 0 0 QUANTUM ATLAS10K2 DDD6 17GB 160 16 __80h__
-... 1 0 QUANTUM ATLAS10K2 DDD6 17GB 160 16 __81h__
-... 2 0 IBM DDRS DC1B 4GB 80 16 __82h__
-... 3 0 IBM DNES SAH0 9GB 80 16 __83h__
-
-
-
-
-
-
-If you don't own an adaptec card, you have to
-know what is the 'booting' disk (usually ID , but not necessary, it
-can be defined in the scsi card BIOS) where LILO is going to be found
-and start : this is the first disk so it has number 0x80.
-Then it's very simple, the BIOS follows the IDs.
-
-
-
-
-
-By exemple :
-
-
-
-
-ID 0 -> boot -> 0x80
-ID 1 -> empty
-ID 2 -> disk -> 0x81
-ID 3 -> disk -> 0x82
-
-
-
-or
-
-
-
-
-ID 0 -> disk -> 0x81
-ID 1 -> empty
-ID 2 -> disk -> 0x82
-ID 3 -> boot -> 0x80
-ID 4 -> disk -> 0x83
-
-
-
-
-
-
-This part doesn't care at all of what is installed on the scsi drives.
-But you should note that if you use an ID higher than the SCSI adapter it c
-an
-be a problem. So you should always try to set the SCSI adapter ID after the
-SCSI devices IDs.
-
-
-
-
-
-
-
-!!6.2 How to swap linux and NT booting ?
-
-
-
-Ok, but NT must be the first disk to boot, so i want it in 0x80, but i
-already have LILO and a full ext2 only drive on 0x80 and my NT drive is
-in 0x83. How can i 'swap' linux and NT ?
-This a very easy : you just have to tell BIOS that NT drive is now 0x80
-and the Linux drive is 0x83.
-
-
-
-
-other=/dev/sdd1
-label=nt
-map-drive = 0x83
-to = 0x80
-map-drive = 0x80
-to = 0x83
-
-
-
-This change will produce a warning :
-
-Warning: BIOS drive 0x8? may not be accessible
-
-
-
-but if you know what you are doing it will run without problem.
-
-
-I used it on this configuration which has a Red Hat Linux 7.1 and a Windows
-2000 Pro :
-
-
-
-
-Name Flags Part Type FS Type
[[Label
] Size (MB)
-Disk Drive: /dev/sda - 0x80
-sda1 Boot Primary Linux ext2 [[/boot] 24.68
-sda2 Primary Linux Swap 139.83
-sda3 Primary Linux ext2 [[/usr] 3150.29
-sda4 Primary Linux ext2 [[/home] 15044.04
-Disk Drive: /dev/sdb - 0x81
-sdb1 Primary Linux Swap 139.83
-sdb2 Primary Linux ext2 [[/] 3150.29
-sdb3 Primary Linux ext2 [[/opt] 1052.84
-sdb4 Primary Linux ext2 [[/public] 14015.88
-Disk Drive: /dev/sdc - 0x82
-sdc1 Primary Linux ext2 [[/var] 1052.84
-sdc2 Primary Linux ext2 [[/tmp] 106.93
-sdc3 Primary Linux ext2 [[/cache] 1052.84
-sdc4 Primary Linux ext2 [[/chroot] 2352.44
-Disk Drive: /dev/sdd - 0x83
-sdd1 Boot Primary NTFS [[WINDOWS_2000] 9162.97
-
-
-
-
-
-
-My full /etc/lilo.conf :
-
-boot=/dev/sda
-map=/boot/map
-install=/boot/boot.b
-prompt
-default=Linux
-read-only
-compact
-image=/boot/vmlinuz
-label=Linux
-root=/dev/sdb2
-other=/dev/sdd1
-label=Windows
-map-drive = 0x83
-to = 0x80
-map-drive = 0x80
-to = 0x83
-
-
-
-
-
-
-
-
-!!6.3 Miscellaneous
-
-
-
-I just plugged a new scsi drive, and now LILO refuse to boot, what's
-going on ?
-
-
-When you plug a disk, you must be careful with the IDs. If you add a drive
-between two already plugged disks the BIOS numbers are changed :
-
-
-
-
-Before ----> After
-scsi id - - BIOS id scsi id - - BIOS id
-ID 0 - disk - 0x80 ID 0 - disk - 0x80
-ID 1 - empty ID 1 - new disk - 0x81
-ID 2 - disk - 0x81 ID 2 - disk - 0x82 !!
-
-
-
-If you change the BIOS ids, you have to re-evaluate them.
-
-
-
-
-
-
-----
-
-!!7. Accessing Huge Disks When the BIOS Can't
-
-
-''Notice: 1GB is "Huge"? Well, once upon a time...''
-
-
-
-
-
-The system in my office has a 1GB IDE drive. The BIOS can only see
-the first 504 MB of the IDE. (Where MB means 2**10 bytes, not 10**6
-bytes.) So I have MS-DOS on a 350 MB partition /dev/hda1 and
-my Linux root on a 120 MB partition /dev/hda2.
-
-
-
-
-
-''Hauke Laging laging.de> and Bob Hall hallfire.org>
-have noticed a small mistake above, so they've suggested a MB to be
-2**20 bytes rather than 2**10 bytes. Thanks for correction. In
-addition, Hauke would like to learn more about what he called,
-"character codes on LILO startup, when LILO dies with LI, LI-, LIL-
-or whatever". I'd appreciate a contribution related to this issue or
-a valid web link to that.''
-
-
-
-
-
-MS-DOS was unable to install itself correctly when the drive was
-fresh. Novell DOS 7 had the same problem. Luckily for me, "Options
-by IBM" forgot to put the "!OnTrack" diskette in the box with the
-drive. The drive was supposed to come with a product called "!OnTrack
-Disk Manager." If you only have MSDOS, I guess you have to use it.
-
-
-
-
-
-So I made a partition table with Linux' fdisk. MSDOS-6.2 refused to
-install itself in /dev/hda1. It said something like ``this
-release of MS-DOS is for new installations. Your computer already has
-MS-DOS so you need to get an upgrade release from your dealer.''
-Actually, the disk was brand new.
-
-
-
-
-
-What a crock! So I ran Linux' fdisk again and deleted partition 1
-from the table. This satisfied MS-DOS 6.2 which proceeded to create
-the exact same partition 1 I had just deleted and installed itself.
-MS-DOS 6.2 wrote its Master Boot Record on the drive, but it couldn't
-boot.
-
-
-
-
-
-Luckily I had a Slackware kernel on floppy (made by the Slackware
-installation program "setup"), so I booted Linux and wrote Lilo over
-MS-DOS' broken MBR. This works. Here is the /etc/lilo.conf
-file I used:
-
-
-
-
-boot = /dev/hda
-map = /lilo-map
-delay = 100
-ramdisk = 0 # Turns off ramdisk in Slackware kernel
-timeout = 100
-prompt
-disk = /dev/hda # BIOS only sees first 500 MB.
-bios = 0x80 # specifies the first IDE.
-sectors = 63 # get the numbers from your drive's docs.
-heads = 16
-cylinders = 2100
-image = /vmlinuz
-append = "hd=2100,16,63"
-root = /dev/hda2
-label = linux
-read-only
-vga = extended
-other = /dev/hda1
-label = msdos
-table = /dev/hda
-loader = /boot/chain.b
-
-
-
-
-
-
-After I installed these systems, I verified that the partition
-containing the zImage, boot.b, map, chain.b, and message files can use
-an msdos file system, as long as it is not "stackered" or
-"doublespaced." So I could have made the DOS partition on
-/dev/hda1 500 MB.
-
-
-
-
-
-I have also learned that "!OnTrack" would have written a partition
-table starting a few dozen bytes into the drive, instead of at the
-beginning, and it is possible to hack the Linux IDE driver to work
-around this problem. But installing would have been impossible with
-the precompiled Slackware kernel. Eventually, IBM sent me an
-"!OnTrack" diskette. I called !OnTrack's technical support. They told
-me Linux is broken because Linux doesn't use BIOS. I gave their
-diskette away.
-
-
-
-
-
-
-----
-
-!!8. Booting from a Rescue Floppy
-
-
-Next, I installed Windows-95 on my office system. It blew away my nice
-Lilo MBR, but it left my Linux partitions alone. Kernels take a long
-time to load from floppy, so I made a floppy with a working Lilo setup
-on it, which could boot my kernel from the IDE.
-
-
-I made the lilo floppy like so:
-
-fdformat /dev/fd0H1440 # lay tracks on virgin diskette
-mkfs -t minix /dev/fd0 1440 # make file system of type minix
-mount /dev/fd0 /mnt # mount in the standard tmp mount point
-cp -p /boot/chain.b /mnt # copy the chain loader over
-lilo -C /etc/lilo.flop # install Lilo and the map on the diskette.
-umount /mnt
-
-
-
-
-
-
-Notice that the diskette __must be mounted when you run the
-installer__ so that Lilo can write its map file properly.
-
-
-
-
-
-This file is /etc/lilo.flop. It's almost the same as the last one:
-
-
-
-
-# Makes a floppy that can boot kernels from HD.
-boot = /dev/fd0
-map = /mnt/lilo-map
-delay = 100
-ramdisk =
-timeout = 100
-prompt
-disk = /dev/hda # 1 GB IDE, BIOS only sees first 500 MB.
-bios=0x80
-sectors = 63
-heads = 16
-cylinders = 2100
-image = /vmlinuz
-append = "hd=2100,16,63"
-root = /dev/hda2
-label = linux
-read-only
-vga = extended
-other = /dev/hda1
-label = msdos
-table = /dev/hda
-loader = /mnt/chain.b
-
-
-
-
-
-
-Finally, I needed MS-DOS 6.2 on my office system, but I didn't
-want to touch the first drive. I added a SCSI controller and
-drive, made an msdos file system on it with Linux' mkdosfs, and
-Windows-95 sees it as "D:". But of course MSDOS will not boot
-off of D:. This is not a problem when you have Lilo. I added
-the following to the lilo.conf in Example 2.
-
-
-
-
-other = /dev/sda1
-label = d6.2
-table = /dev/sda
-loader = /boot/any_d.b
-
-
-
-With this modification MSDOS-6.2 runs, and it thinks it is on C: and
-Windows-95 is on D:.
-
-
-
-
-
-
-----
-
-!!9. Further Information
-
-
-
-
-!!9.1 Copyright
-
-
-
-Copyright (c) 2002 by Miroslav "Misko" Skoric.
-
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts. A copy of the license is available from
-http://www.fsf.org/licenses/fdl.html.
-
-
-
-
-!!9.2 Disclaimer
-
-
-
-
-
-
-Use the information in this document at your own
-risk. I disavow any potential liability of this
-document. Use of the concepts, examples, and/or
-other content of this document is entirely at
-your own risk.
-
-
-All copyrights are owned by their owners, unless
-specifically noted otherwise. Use of a term in
-this document should not be regarded as
-affecting the validity of any trademark or service
-mark.
-
-
-Naming of particular products or brands should not
-be seen as endorsements.
-
-
-You are strongly recommended to take a backup of
-your system before major installation and backups
-at regular intervals.
-
-
-
-
-!!9.3 News
-
-
-
-In addition to the Lilo docs, there are a number
-of mini-howto's that can be useful for your needs.
-All of them are called ``Linux+''foobarOS'''', for
-some ''foobarOS'', they deal with coexistence of
-Linux and other operationg system(s). For example,
-"NT OS Loader + Linux mini-HOWTO" by Bernd Reichert,
-describes how to add an entry for Linux under existing
-Windows NT Loader's menu. Next, you have "Linux+WindowsNT
-mini-HOWTO" by myself, covering how to add an entry for NT
-under existing Linux Lilo menu (more detailed than
here).
-Also, "Multiboot-with-LILO" describes how the various
-Windows flavours can be made to coexist with Linux.
-
-
-''This mini-HOWTO would be improved from time
-to time. If you think that the HOWTO on your
-Linux installation CD is some out-of-date, you
-may check for newest release on the Internet. It
-could be found within the main
-Linux Documentation Project
-homepage.''
-
-
-
-
-!!9.4 Credits
-
-
-
-''This version of mini-HOWTO can thanks to:''
-
-
-
-
-
-Cameron Spitzer (cls@truffula.sj.ca.us)
-Alessandro Rubini (rubini@linux.it)
-Tony Harris (tony@nmr.mgh.harvard.edu)
-Marc Tanguy (mtanguy@ens.uvsq.fr)
-
-
-
-
-Any comments or suggestions can be mailed to my
-email address:
-m.skoric@eunet.yu.
-
-
-
-
-!!9.5 HOWTO
-
-
-
-
-
-These are intended as the primary starting points to
-get the background information as well as show you how to solve
-a specific problem.
-Some relevant HOWTOs are Bootdisk, Installation, SCSI and UMSDOS.
-The main site for these is the
-LDP archive
-at Metalab (formerly known as Sunsite).
-
-
-
-
-!!9.6 Mini-HOWTO
-
-
-
-
-
-These are the smaller free text relatives to the HOWTOs.
-Some relevant mini-HOWTOs are
-Backup-With-MSDOS, Diskless, LILO, Large Disk,
-Linux+DOS+Win95+OS2, Linux+OS2+DOS, Linux+Win95,
-Linux+WindowsNT, Linux+NT-Loader, NFS-Root,
-Win95+Win+Linux, ZIP Drive, FBB packet-radio BBS.
-You can find these at the same place as the HOWTOs, usually in a sub directory
-called mini. Note that these are scheduled to be converted into SGML and
-become proper HOWTOs in the near future.
-
-
-
-
-!!9.7 Local Resources
-
-
-
-
-
-In most distributions of Linux there is a document directory installed,
-have a look in the
-/usr/doc directory.
-where most packages store their main documentation and README files etc.
-Also you will here find the HOWTO archive (
-/usr/doc/HOWTO)
-of ready formatted HOWTOs
-and also the mini-HOWTO archive (
-/usr/doc/HOWTO/mini)
-of plain text documents.
-
-
-Many of the configuration files mentioned earlier can be found in the
-/etc
-directory. In particular you will want to work with the
-/etc/fstab
-file that sets up the mounting of partitions
-and possibly also
-/etc/mdtab
-file that is used for the md system to set up RAID.
-
-
-The kernel source in
-/usr/src/linux
-is, of course, the ultimate documentation. In other
-words, ''use the source, Luke''.
-It should also be pointed out that the kernel comes not only with
-source code which is even commented (well, partially at least)
-but also an informative
-documentation directory.
-If you are about to ask any questions about the kernel you should
-read this first, it will save you and many others a lot of time
-and possibly embarrassment.
-
-
-Also have a look in your system log file (
-/var/log/messages)
-to see what is going on and in particular how the booting went if
-too much scrolled off your screen. Using tail -f /var/log/messages
-in a separate window or screen will give you a continuous update of what is
-going on in your system.
-
-
-You can also take advantage of the
-/proc
-file system that is a window into the inner workings of your system.
-Use cat rather than more to view the files as they are
-reported as being zero length. Reports are that less works well here.
-
-
-
-
-!!9.8 Web Pages
-
-
-
-
-
-
-There is a huge number of informative web pages out there and by their very
-nature they change quickly so don't be too surprised if these links become
-quickly outdated.
-
-
-A good starting point is of course the
-Linux Documentation Project home page,
-an information central for documentation, project pages and much, much more.
-
-
-Please let me know if you have any other leads that can be of interest.
-
-
-
-
-
-
-----
-
-!!10. GETTING HELP
-
-
-
-
-
-
-In the end you might find yourself unable to solve your problems and need
-help from someone else. The most efficient way is either to ask someone
-local or in your nearest Linux user group, search the web for the nearest
-one.
-
-
-Another possibility is to ask on Usenet News in one of the many, many
-newsgroups available. The problem is that these have such a high
-volume and noise (called low signal-to-noise ratio) that your question
-can easily fall through unanswered.
-
-
-No matter where you ask it is important to ask well or you will not be
-taken seriously. Saying just ''my disk does not work'' is not going
-to help you and instead the noise level is increased even further and if
-you are lucky someone will ask you to clarify.
-
-
-Instead describe your problems in some detail that
-will enable people to help you. The problem could lie somewhere you did
-not expect. Therefore you are advised to list up the following information
-on your system:
-
-
-
-
-; __Hardware__:
-
-
-
-
-*Processor
-*
-
-*DMA
-*
-
-*IRQ
-*
-
-*Chip set (LX, BX etc)
-*
-
-*Bus (ISA, VESA, PCI etc)
-*
-
-*Expansion cards used (Disk controllers, video, IO etc)
-*
-
-
-
-
-; __Software__:
-
-
-
-
-*BIOS (On motherboard and possibly SCSI host adapters)
-*
-
-*LILO, if used
-*
-
-*Linux kernel version as well as possible modifications and patches
-*
-
-*Kernel parameters, if any
-*
-
-*Software that shows the error (with version number or date)
-*
-
-
-
-
-; __Peripherals__:
-
-
-
-
-*Type of disk drives with manufacturer name, version and type
-*
-
-*Other relevant peripherals connected to the same busses
-*
-
-
-
-
-
-
-
-Remember that booting text is logged to /var/log/messages which can
-answer most of the questions above. Obviously if the drives fail you might not
-be able to get the log saved to disk but you can at least scroll back up the
-screen using the SHIFT and PAGE UP keys. It may also be useful to
-include part of this in your request for help but do not go overboard, keep
-it ''brief'' as a complete log file dumped to Usenet News is more than a
-little annoying
.
-
-
-
-----
+Describe
[HowToLILO
] here.