> Everything has been done, we  got a slackware7 installed straight
> into a software raid 1 disk set but still cannot boot from there,
> LILO says "Sorry don t know to handle device 0X900" We got lilo
> 021-10 from Red Hat but even with the patches it still behaves the
> same way .. Is there any building option for the
> lilo-0.21-10.src.rpm pack or LILO just cannot do it ? 
> 
> "there are some days when you ride the bike for two hours and 110 Km
> are gone, and there are some when 12 hours are not enough to deal
> with a 10km uphill /:(" 

this is how I do it on Slackware 7.0 
I do not use the red-hat patched LILO, but rather use the stock 
version. This info was posted many moons ago by [EMAIL PROTECTED]
(many thanks). I have added some comments to it to make the process 
easier (hopefully) to understand.

assume that you have two disks that make up the raid 1 you wish to 
boot from and that this raid set is designated /dev/md0, that this 
raid set is in fact the directory "/boot" and is mounted on the root 
at /boot. The root directory in turn is made of another raid set 
/dev/md2 ... this is not important, the root could easily be a single 
disk partition such as /dev/hdc1

the lilo config file would look like this
### LILO # RAID 1 BOOT MINI HOWTO
#Start LILO GLOBAL
# begin with a marker for the disk where the /boot directory is 
# mounted. This is where LILO will look for the image of the kernel 
# and other files it needs to properly setup and complete the boot 
#process.
  disk = /dev/md2

# add a pointer for boot that defines the bios address of the boot 
# disk. If your bios is capable of automagically determining that 
# the first disk has died and can switch to the second, this entry
# will be 0x81 for the lilo.confg.disk2 file
  bios - 0x80

# tell the boot process the geometry of the drive. This parameter can 
# be found on the drive (usually) or ... for example - ide drive hda
# cat /proc/ide/ide0/hda/geometry
# for a 20 gig ibm drive model IBM-DPTA-372050
  sectors = 63
  heads = 16
  cylinders 43800

# the next entry is a dummy which makes LILO "happy" with the 0x900 
# md device -- any /dev/mdx can be used here except the one used for 
# disk = above
  partition = /dev/md0

# tell lilo where the 1st raid 1 sector is located. NOTE: I've tried 
# this where the raid 1 boot sector is not the first partition on the 
# drive and it does NOT work... at least not for me. Recommend that
# the boot RAID 1 be the first partition. If someone works out how to 
# do this easily without a problem, I'd like to know.
# The first sector of the partition can be gotten from the command
# fdisk -u -l /dev/hda
  start = 63

# tell lilo where to write the Master Boot Record
# for the second drive, assuming /dev/hdb, this would be /dev/hdb
# even if you intend to move the drive to hda if their is a failure. 
# This is where LILO will write the boot image, not where to boot 
# will occur from after POST.
  boot = /dev/hda

# other miscellaneous LILO stuff you might want to have 
  prompt
  timeout = 50
  vga = normal

# End LILO GLOBAL

# One or more boot images

image = /boot/vmlinuz
# if you use raid 1 or 5 striped over raid 0; then
  initrd = /boot/initrd.gz
  label = LinuxR1overR0
  root = /dev/md2
  read-only

image /boot/bzImage
  label = LinuxRaid
  root = /dev/md2
  read-only

#End Lilo

In the above examples, for LinuxRaid, both /dev/md0 and /dev/md2
are conventional Raid's, md2 could be any kind of raid made up of 
disk partitions. All would be marked as partition type "fd"

For the LinuxR1overR0 example, /dev/md0 must be made of real disks 
and could be marked as "fd" or started by the initrd - linuxrc 
script. The disadvantage of using partition type 83 is that if a 
member of the /dev/md0 raid set is moved, the array will fail to 
start manually but will autostart if marked as type 'fd'. The same is 
true of an underlying raid0 raid set -- it is easier to mark it as 
'fd' and allow the kernel to auto start it, then have initrd - 
linuxrc start the overlying raid 1's, 5's ... whatever manually with 
'raidstart'. Just to fool around, I have a created a full raid 1 
consisting of a single disk partition and a raid 0 pair. This works 
fine in the above scenario. The "little" /boot raid 1 is mounted 
in the larger raid 1 and can be either manually started or 
autostarted by the kernel. The initrd - linuxrc then starts the large 
raid 1 and switches the root. Works throught more types of failures 
if the kernel autostarts as much as possible.

Michael
[EMAIL PROTECTED]

Reply via email to