Now I remember -- I had this lilo problem after a failure of the 1st disk
and then re-adding it.
#1 Fail sdb (raidsetfaulty)
#2 Reboot -- this will make sda disk #0
#3 raidhotadd /dev/md0 /dev/sdb1 -- this will make sdb the 2nd disk again.

Lilo should install fine at that point.

Don't know the cause -- just the solution.

________________________________________
Michael D. Black   Principal Engineer
[EMAIL PROTECTED]  321-676-2923,x203
http://www.csihq.com  Computer Science Innovations
http://www.csihq.com/~mike  My home page
FAX 321-676-2355
----- Original Message -----
From: "Dale LaFountain" <[EMAIL PROTECTED]>
To: "Mike Black" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Thursday, July 05, 2001 8:05 AM
Subject: Re: raid1 doesn't boot in degraded mode


>
>Try un-installing lilo and re-installing it.
>lilo -U
>I think I may have run into a similar problem writing to only one disk.
>Also...are you sure your BIOS isn't set to IDE-1 for boot?
>I take it you're running 21.7-3 or better?
>
>If it still doesn't install on it do an "strace" on the lilo and send it.

Hi Mike,

I made it a little further, but now I'm stuck in a different place.
I'm using lilo 21.7-5 now.

I'm afraid I'll be screwed if I uninstall lilo, because I can't
successfully run lilo with a config file referencing md0 at the
moment.  Unless of course uninstalling lilo will fix my disk info
problem (I'm guessing no... see below).

I managed to get the RAID to boot correctly from one degraded drive
once I switched sdb with sda physically.  The output from lilo -t -v
using the .conf below then looked like it wanted to write to both sda
and sdb.  Unfortunately, I had made a couple wild guesses at other
fixes before this, and through a number of contortions I now end up
here:

- I have a functional raid1 on sda and sdb that properly boots if
both members are online, or if just sda is online.  sdb's MBR can't
be updated by LILO referencing boot=/dev/md0 because of an error.

- If I attempt to run lilo using a conf file that specifies
boot=/dev/md0, I get this error: "Fatal: main: GET_DISK_INFO: Invalid
argument".  I saw this error previously when my raid1 was out of
sync, but it's definitely not out of sync now and the box has been
rebooted multiple times with no errors on startup:

cat /proc/mdstat
Personalities: [raid1]
read_ahead 1024 sectors
md0: active raid1 sdb1[0] sda1[1] 2048192 blocks [2/2] [UU]
md2: active raid1 sdb5[1] sda5[0] 4787264 blocks [2/2] [UU]
md1: active raid1 sdd1[1] sdc1[0] 17775808 blocks [2/2] [UU]
unused devices: <none>

lilo.conf that causes the error:
boot=/dev/md0  # change this to /dev/sda or sdb and it loads fine
lba32
delay=50      # optional, for systems that boot very quickly
vga=normal    # force sane state
root=current  # use "current" root
map=/boot/map
install=/boot/boot.b
timeout=50
prompt
message=/boot/message
default=linux

image=/boot/vmlinuz-ent
         label=linux
         initrd=/boot/initrd-ent.img
         read-only
         root=/dev/md0


I can successfully run lilo using .sda and .sdb configs that
reference each respective disk, with no errors.  I also ran cfdisk to
blow away the partition table and rebuilt both raid partitions in my
recent journey.

It's as if LILO can't see sdb in my raid1 set, even though it's valid
and functional (I'm watching the LED on the disk now as I du a folder
on /), AND I can reference sdb in the boot parameter without lilo
complaining.  Here's an strace of my attempt, hopefully it will make
more sense to you than it does to me.  I had to alias a couple en*
folders in /usr/share/locale/ that don't exist by default (en and
en_US now aliased to en_GB), but that didn't make any difference in
the end result.

Any insights?

Thanks,

Dale

---

strace lilo -t -v
execve("/sbin/lilo", ["lilo", "-t", "-v"], [/* 23 vars */]) = 0
_sysctl({{CTL_KERN, KERN_OSRELEASE}, 2, "2.2.16-22enterprise", 19,
NULL, 0}) = 0
brk(0)                                  = 0x8060950
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40017000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=27399, ...}) = 0
old_mmap(NULL, 27399, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0755, st_size=4776568, ...}) = 0
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\274"...,
4096) = 4096
old_mmap(NULL, 1196776, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001f000
mprotect(0x4013a000, 37608, PROT_NONE)  = 0
old_mmap(0x4013a000, 24576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED, 3, 0x11a000) = 0x4013a000
old_mmap(0x40140000, 13032, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40140000
close(3)                                = 0
munmap(0x40018000, 27399)               = 0
getpid()                                = 1207
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40018000
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(1, "LILO version 21.7-5 (test mode),"..., 212LILO version
21.7-5 (test mode), Copyright (C) 1992-1998 Werner Almesberger
Linux Real Mode Interface library Copyright (C) 1998 Josh Vanderhoof
Development beyond version 21 Copyright (C) 1999-2001 John Coffman
) = 212
write(1, "Released 06-May-2001 and compile"..., 62Released
06-May-2001 and compiled at 12:24:56 on Jul  4 2001.
) = 62
write(1, "\n", 1
)                       = 1
brk(0)                                  = 0x8060950
brk(0x8060970)                          = 0x8060970
brk(0x8061000)                          = 0x8061000
open("/etc/lilo.conf", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0600, st_size=737, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x40019000
read(3, "boot=/dev/md0\n#boot=/dev/sda1\nlb"..., 4096) = 737
fstat64(3, {st_mode=S_IFREG|0600, st_size=737, ...}) = 0
brk(0x8062000)                          = 0x8062000
open("/dev/md0", 0x4)                   = 4
fstat64(4, {st_mode=S_IFBLK|0660, st_rdev=makedev(9, 0), ...}) = 0
ioctl(4, 0x80480911, 0xbffff950)        = 0
ioctl(4, 0x80140912, 0xbffff930)        = -1 EINVAL (Invalid argument)
open("/usr/share/locale/locale.alias", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=2424, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x4001a000
read(5, "# Locale name alias data base.\n#"..., 4096) = 2424
read(5, "", 4096)                       = 0
close(5)                                = 0
munmap(0x4001a000, 4096)                = 0
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=1474, ...}) = 0
old_mmap(NULL, 1474, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4001a000
close(5)                                = 0
open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=34955, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x4001b000
read(5, "# GNU libc iconv configuration.\n"..., 4096) = 4096
brk(0x8063000)                          = 0x8063000
brk(0x8064000)                          = 0x8064000
read(5, "20-1969-RO//\nmodule\tJIS_C6220-19"..., 4096) = 4096
brk(0x8065000)                          = 0x8065000
read(5, "RNAL\t\tISO8859-3\t1\nmodule\tINTERNA"..., 4096) = 4096
brk(0x8066000)                          = 0x8066000
brk(0x8067000)                          = 0x8067000
read(5, "6937\t1\n\n\n#\tfrom\t\t\tto\t\t\tmodule\t\tc"..., 4096) = 4096
brk(0x8068000)                          = 0x8068000
brk(0x8069000)                          = 0x8069000
read(5, "cost\nalias\tEBCDIC-INT//\t\tIBM038/"..., 4096) = 4096
brk(0x806a000)                          = 0x806a000
brk(0x806b000)                          = 0x806b000
read(5, "o\t\t\tmodule\t\tcost\nalias\tCP852//\t\t"..., 4096) = 4096
brk(0x806c000)                          = 0x806c000
brk(0x806d000)                          = 0x806d000
read(5, "8//\nalias\tEBCDIC-CP-AR2//\t\tIBM91"..., 4096) = 4096
brk(0x806e000)                          = 0x806e000
brk(0x806f000)                          = 0x806f000
read(5, "P-2//\t\tINTERNAL\t\tISO-2022-JP\t1\nm"..., 4096) = 4096
brk(0x8070000)                          = 0x8070000
read(5, "s\tISO_5428:1980//\t\tISO_5428//\nal"..., 4096) = 2187
brk(0x8071000)                          = 0x8071000
read(5, "", 4096)                       = 0
close(5)                                = 0
munmap(0x4001b000, 4096)                = 0
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=1474, ...}) = 0
old_mmap(NULL, 1474, PROT_READ, MAP_PRIVATE, 5, 0) = 0x4001b000
close(5)                                = 0
write(2, "Fatal: ", 7Fatal: )                  = 7
write(2, "main: GET_DISK_INFO: Invalid arg"..., 37main:
GET_DISK_INFO: Invalid argument) = 37
write(2, "\n", 1
)                       = 1
munmap(0x40018000, 4096)                = 0
_exit(1)                                = ?

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]

Reply via email to