[SLUG] Re: lilo to slaved disk -- the BIOS _only_ knows to boot disk 80h

From: Bryan J. Smith (b.j.smith@ieee.org)
Date: Mon Sep 27 2004 - 20:29:45 EDT


On Mon, 2004-09-27 at 20:05, Larry Brown wrote:
> I am looking to find a cut and dry way to mount a seperate drive and run
> lilo on it to make it bootable. The situation is that I have a rack
> mount system that boots to hdc. hda is a cdrom and is fixed that way by
> the bios/motherboard and hdc is a sata drive and hdd is the second sata
> drive. I can install rh linux to hdc without a problem while selecting
> hdc as my boot drive. I mount a second drive as hdd but cannot get lilo
> to run on the drive. It complains that hdd is not the first drive and
> then says that it can't do anything with 0x0701. I have seen this
> before on another system where everything was IDE and I could simply
> move the drive I wanted to run lilo on to be hda and it happily ran. I
> know there is a way to do this, I just don't know how. I've looked at
> the lilo howto and it appears to be outdated. I followed the examples
> without success.
> Any lilo experts here that have this down pat?

First off, in your configuration, this is your BIOS-Linux mapping:

  BIOS Disk Linux ATA Disk
  ------------------ --------------------
  80h (aka GRUB hd0) /dev/hdc
  81h (aka GRUB hd1) /dev/hdd

It is not a LILO consideration, but a BIOS consideration.
The 16-bit BIOS Int13h services blindly loads the MBR of BIOS disk 80h.
You don't have any other option, _unless_ you disable primary/master
in the BIOS (not recommended if you have a slave attached).

But what you _can_ do is tell the LILO on BIOS Disk 80h (hdc) to "chain"
to the LILO on BIOS Disk 81h (hdd). In other words, you'll need to have
_two_ LILO configuration files. If they are separate installs of Linux
(one on each disk), this is easy. If not, you must maintain separate
scripts to do so.

Here's the typical, tandem lilo.conf for each:

  BIOS Disk 80h (hdc) lilo.conf:

    disk=/dev/hdc
      bios=0x80
    disk=/dev/hdd
      bios=0x81
    boot=/dev/hdc
    ...
    other=/dev/hdd
      optional
      label=hdd_disk81h

  BIOS Disk 81h (hdd) lilo.conf:

    disk=/dev/hdc
      bios=0x80
    disk=/dev/hdd
      bios=0x81
    boot=/dev/hdd
    ...
    image=/boot/blah... (as normal)

I'm curious why you need to boot to /dev/hdd?

-- 
Bryan J. Smith                                  b.j.smith@ieee.org 
------------------------------------------------------------------ 
"Communities don't have rights. Only individuals in the community
 have rights. ... That idea of community rights is firmly rooted
 in the 'Communist Manifesto.'" -- Michael Badnarik

----------------------------------------------------------------------- This list is provided as an unmoderated internet service by Networked Knowledge Systems (NKS). Views and opinions expressed in messages posted are those of the author and do not necessarily reflect the official policy or position of NKS or any of its employees.



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 18:11:00 EDT