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]
