Add externs to avoid multiple definitions, and then add missing definitions.
[rrq/maintain_lilo.git] / readme / README.common.problems
1 file:  README.common.problems
2 date:  04-Oct-2000
3 revised:  03-Jan-2001, 07-Jan-2001, 04-Apr-2001, 25-May-2001
4
5
6 Caution:  All of the LILO components are installed in the proper
7 ================================================================
8 default directories ONLY if you use "make install".
9 ===================================================
10
11
12 Problem:  LILO won't 'make'
13 ==========================
14 If you get errors trying to 'make all', and the errors are occurring
15 during the assembly of 'temp2.s', you have encountered the most common
16 problem trying to build LILO:  the lines in error all have the assembler
17 directive 'near' on them.  This problem occurs when your assembler for
18 the real-mode bootstrap code is out-of-date:  'as86'.  Certain current
19 distributions of Linux distribute version 4 of this assembler; whereas
20 the current version is 15.
21
22 Two sources for an updated version are:
23
24 Redhat RPM distribution:
25      site: http://www.redhat.com      (search for 'dev86')
26      pkg:  dev86-0.15.0-2.i386.rpm  
27
28 or Robert de Bath's page at:
29      site: http://www.cix.co.uk/~mayday
30      link: bin86-0.15.1.tar.gz
31
32
33 Problem:  When I boot, all I get is 'LI'
34 =======================================
35 This means the first-stage loader gained control; it thought it success-
36 fully loaded the second-stage loader; but it never got there.  This most
37 often occurs when the second-stage loader, '/boot/boot.b', is not load-
38 able using the BIOS.
39
40 First, have you tried specifying 'lba32' in your 'lilo.conf' file?  On
41 newer systems, this will almost always work, since the loader will now
42 use the newer EDD packet calls, which are not cylinder-limited.
43
44 Second, do you know your disk geometry?  This means, do you know the
45 numbers of cylinders/heads/sectors of all your hard drives; and are these
46 the numbers that LILO is using when it installs the boot loader.  Three
47 reports of the disk geometry may be obtained:
48
49   1.  Run 'lilo -t -v5' and check the geometry reports for each device.
50   2.  Run 'lilo -Tgeom' and see if the same numbers are reported.  (This
51       may fail on some systems, where LILO has trouble running BIOS 
52       calls in v86 mode.)
53   3.  Create the diagnostic floppy (see README.disk) and check the
54       reported disk geometries.
55
56 If any of the geometry reports differ, then you may have to specify the
57 disk geometry to LILO using 'disk= heads= sectors='.  Use the actual
58 numbers reported by the BIOS:  #3 above, or #2.
59
60 The reports above will also indicate the BIOS device codes used by each
61 disk.  LILO uses heuristics to obtain these device codes, and usually gets
62 the codes right on all-IDE or all-SCSI systems.  However, systems with
63 multiple IDE controllers, mixed IDE/SCSI systems, and SCSI systems on
64 Future Domain controllers, will require you to tell LILO what disks are
65 assigned to what device codes.  This can be done using 'disk= bios=' lines
66 in 'lilo.conf'.
67
68 John Coffman <johninsd@san.rr.com>
69 (end)