[nSLUG] Boot problem: Got it!

Mike mspencer at tallships.ca
Fri Jan 30 17:03:31 AST 2004


me> So I removed the [new Slak-8 install] HD from the P133 and put it
me> into a PII (replacing another HD as hda).  Nothing I know how to
me> do will get it to boot in the PII.

Now it boots.  Short answer: 

      In lilo.conf, remove "linear" if present, then add "lba32".

Apparently, the problem lay somehow with the fact that the PII BIOS
has EBDA but but the P133 BIOS doesn't:

[P133] alien% lilo -T EBDA
[P133]
[P133]    no Extended BIOS Data Area (EBDA)
[P133]    Conventional Memory = 640K    0x0A0000

[PII]  bogus% lilo -T EBDA
[PII]
[PII]     Extended BIOS Data Area (EBDA) = 1K
[PII]     Conventional Memory = 639K    0x09FC00

The relevant doc passage seems to be in a lilo-21.7-5 prologue to the
lilo-21 doc:

    Version 21-4 (release) -- John Coffman <johninsd at san.rr.com>

    The first and second stage loaders have been modified so that ONLY
    'lba32' will use EDD packet calls.  'linear' will now always ask
    the BIOS for the disk geometry, and then use C:H:S addressing.

    Version 22 (beta)  -- John Coffman <johninsd at san.rr.com>

    This version was created to allow booting on disks larger than
    8.4Gb using the Enhanced BIOS call (int 0x13, AH=0x42) and the
    packet-call interface.  These calls are supported on post-1998
    systems, and through software BIOS extensions such as
    EZ-DRIVE(tm).

    My primary objective in making these changes to LILO, is not to
    break any- thing.  Hence, the 32-bit direct addressing of sectors
    is supported by a new keyword in the 'lilo.conf' file: "lba32".
    This keyword is mutually exclusive with the keyword "linear".  On
    the command line, these options are invoked with the new "-L"
    switch, or the old "-l" switch, respectively.

I still don't fully understand this but then, I chose Slackware on
purpose so that I'd be forced to learn new stuff.  Private email from
Jim Haliburton made some suggestions that I can use to investigate
further. 

Two observations emerge from this:

1.

The LILO documentation needs disambiguation.  Repeatedly, something
like, "Lilo does X" or "Lilo uses Y" occurs.  Often it's ambiguous
whether this means:

       /sbin/lilo reads Y from /dev/hdn
       /sbin/lilo writes Y on /dev/hdn
       boot.b does X when it executes
       chain.b uses Y when it executes

and so on for all the various possibilities.  Werner Almesberger's
LILO distro doc explains partitions, boot sectors and so on very well
but still falls prey to this defect.

2.

More generally, there is no canonical documentation for GNU/Linux or
when there is, it's not in a canonical location.  The cut-in-stone,
serial nature of RFCs isn't quite the right model but there's a real
need for an authoritative source of dated, versioned docs.  I'm
pretty good at writing such stuff but regrettably I don't know enough
about any single item to get it exactly (or even roughly) right.

It turns out that I *had* the info I needed but became lost in the
twisty little passages of various versions of source docs, man pages,
HOW-TOs and rtfm.  It was only with the help of the discussion on NSLUG
that I found my way to the right place and had (your) confirming
opinions that it *was* the right place.

Thank you all.  I now have an updated working system. Next: Why is X
weird, what happened to sound and why doesn't "eject" work?  

Same old thing. :-)

Tnx,
- Mike

-- 
Michael Spencer                  Nova Scotia, Canada       .~. 
                                 (902) 543-8375            /V\ 
mspencer at tallships.ca                                     /( )\
http://home.tallships.ca/mspencer/                        ^^-^^




More information about the nSLUG mailing list