On Wed, Dec 06, 2006 at 01:16:27PM +0100, Loïc Minier <[EMAIL PROTECTED]> was heard to say: > On Sat, Dec 02, 2006, Daniel Burrows wrote: > > My system has a somewhat unusual setup: I'm using lvm on RAID1. Sometime > > recently, lilo just quit working: > > [EMAIL PROTECTED]:~$ sudo lilo > > Warning: COMPACT may conflict with LBA32 on some systems > > device-mapper: table ioctl failed: No such device or address > > Fatal: device-mapper: dm_task_run(DM_DEVICE_TABLE) failed > > This happens with all versions of lilo back to 7.1 (which is from before > > the computer in question existed). Web searches turn up references to old > > bugs that prevented lilo from working with lvm2 systems. But the disk > > configuration on this system hasn't changed since I built it and it's always > > used lilo, so that can't possibly be it. The only thing I can think of is > > that maybe there's an incompatibility with recent 2.6.18 kernels; I don't > > have easy access to the console at the moment, though [0]. > > Could you send a lilo run in verbose mode and your lilo.conf to the > bug? A "dmsetup ls" would be nice as well.
Sure. I'd like to add that I object to the reclassification of this bug as "normal", since it leads to a nonbootable system. (I can only run because I'm using a boot image that was previously installed and hasn't been wiped out behind lilo's back; I can't use grub because it doesn't work with root on RAID). I've also attached an strace, but at a very cursory scan, it looks like it just repeats the above info (that an ioctl failed). I'd analyze this stuff more myself, but I'm about half asleep right now... dmsetup sez: dmsetup: command not found Whoops, let's try that again. system-var (253, 1) system-home (253, 3) system-swap (253, 2) system-root (253, 0) Thanks, Daniel
execve("/sbin/lilo", ["lilo"], [/* 13 vars */]) = 0 uname({sys="Linux", node="jeeves", ...}) = 0 brk(0) = 0x80f3000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb1000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=107156, ...}) = 0 mmap2(NULL, 107156, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f96000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libncurses.so.5", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\345"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=263040, ...}) = 0 mmap2(NULL, 264196, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f55000 mmap2(0xb7f8d000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38) = 0xb7f8d000 mmap2(0xb7f95000, 2052, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f95000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\f\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9592, ...}) = 0 mmap2(NULL, 12404, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f51000 mmap2(0xb7f53000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7f53000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240O\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1241580, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f50000 mmap2(NULL, 1247388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e1f000 mmap2(0xb7f46000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x127) = 0xb7f46000 mmap2(0xb7f4d000, 10396, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f4d000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e1e000 mprotect(0xb7f46000, 20480, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e1e6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xb7f96000, 107156) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 close(3) = 0 brk(0) = 0x80f3000 brk(0x80f4000) = 0x80f4000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=1209120, ...}) = 0 mmap2(NULL, 1209120, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7cf6000 close(3) = 0 brk(0x80f5000) = 0x80f5000 brk(0x80f6000) = 0x80f6000 getuid32() = 0 getgid32() = 0 geteuid32() = 0 getegid32() = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 time(NULL) = 1165470342 brk(0x80f7000) = 0x80f7000 open("/etc/mtab", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=641, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb0000 read(3, "/dev/mapper/system-root / ext3 r"..., 4096) = 641 close(3) = 0 munmap(0xb7fb0000, 4096) = 0 open("/proc/meminfo", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb0000 read(3, "MemTotal: 971636 kB\nMemFre"..., 1024) = 676 close(3) = 0 munmap(0xb7fb0000, 4096) = 0 brk(0x80f8000) = 0x80f8000 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 uname({sys="Linux", node="jeeves", ...}) = 0 brk(0x80fa000) = 0x80fa000 getcwd("/home/daniel", 4096) = 13 brk(0x80fb000) = 0x80fb000 getpid() = 25274 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=21568, ...}) = 0 mmap2(NULL, 21568, PROT_READ, MAP_SHARED, 3, 0) = 0xb7fab000 close(3) = 0 getppid() = 25273 getpgrp() = 25273 rt_sigaction(SIGCHLD, {0x807acd0, [], 0}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/sbin/lilo", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfeb38f8) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(3, 0, [0], SEEK_CUR) = 0 read(3, "#!/bin/sh -e\n\n# if chroot.\nif [ "..., 80) = 80 _llseek(3, 0, [0], SEEK_SET) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0 dup2(3, 255) = 255 close(3) = 0 fcntl64(255, F_SETFD, FD_CLOEXEC) = 0 fcntl64(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat64(255, {st_mode=S_IFREG|0755, st_size=602, ...}) = 0 _llseek(255, 0, [0], SEEK_CUR) = 0 brk(0x80fc000) = 0x80fc000 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "#!/bin/sh -e\n\n# if chroot.\nif [ "..., 602) = 602 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e1e708) = 25275 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x807b920, [], 0}, {SIG_DFL}, 8) = 0 waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0) = 25275 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(-1, 0xbfeb2fdc, WNOHANG) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) rt_sigaction(SIGINT, {SIG_DFL}, {0x807b920, [], 0}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 exit_group(1) = ?
LILO version 22.6.1, Copyright (C) 1992-1998 Werner Almesberger Development beyond version 21 Copyright (C) 1999-2004 John Coffman Released 17-Nov-2004, and compiled at 15:50:43 on Nov 17 2006 Debian GNU/Linux Warning: LBA32 addressing assumed Warning: COMPACT may conflict with LBA32 on some systems raid_setup: dev=000D rdev=0900 pf_hard_disk_scan: (8,0) /dev/sda pf_hard_disk_scan: (8,1) /dev/sda1 lookup_dev: number=0800 lookup_dev: number=0800 pf: dev=0800 id=0000000A name=/dev/sda geo_query_dev: device=0800 lookup_dev: number=0800 lookup_dev: number=0300 lookup_dev: number=0340 exit geo_query_dev bios_dev: device 0800 lookup_dev: number=0800 bios_dev: masked device 0800, which is /dev/sda bios_dev: geometry check found 0 matches bios_dev: (0x81) vol-ID=0001FF1A *PT=08077136 bios_dev: (0x80) vol-ID=0000000A *PT=080770EE bios_dev: PT match found 2 matches (0x80) bios_dev: S/N match found 1 match (0x80) pf_hard_disk_scan: (3,0) /dev/hda pf_hard_disk_scan: (3,1) /dev/hda1 lookup_dev: number=0300 lookup_dev: number=0300 pf: dev=0300 id=0001FF1A name=/dev/hda geo_query_dev: device=0300 lookup_dev: number=0300 exit geo_query_dev bios_dev: device 0300 lookup_dev: number=0300 bios_dev: masked device 0300, which is /dev/hda bios_dev: geometry check found 0 matches bios_dev: (0x81) vol-ID=0001FF1A *PT=08077136 bios_dev: (0x80) vol-ID=0000000A *PT=080770EE bios_dev: PT match found 2 matches (0x80) bios_dev: S/N match found 1 match (0x81) pf_hard_disk_scan: (9,0) /dev/md0 pf_hard_disk_scan: (253,0) /dev/dm-0 Caching device /dev/dm-0 (0xFD00) pf_hard_disk_scan: (253,1) /dev/dm-1 Caching device /dev/dm-1 (0xFD01) pf_hard_disk_scan: (253,2) /dev/dm-2 Caching device /dev/dm-2 (0xFD02) pf_hard_disk_scan: (253,3) /dev/dm-3 Caching device /dev/dm-3 (0xFD03) 0800 0000000A /dev/sda 0300 0001FF1A /dev/hda pf_hard_disk_scan: ndevs=2 0300 0001FF1A /dev/hda 0800 0000000A /dev/sda Resolve invalid VolumeIDs Resolve duplicate VolumeIDs 0300 0001FF1A /dev/hda 0800 0000000A /dev/sda device codes (user assigned pf) = 0 device codes (user assigned) = 0 device codes (BIOS assigned) = 3 device codes (canonical) = 3 lookup_dev: number=0900 RAID info: nr=2, raid=2, active=2, working=2, failed=0, spare=0 md: RAIDset device 0 = 0x0301 lookup_dev: number=0301 geo_get: device 0301, all=1 geo_query_dev: device=0301 lookup_dev: number=0301 exit geo_query_dev bios_dev: device 0301 lookup_dev: number=0300 bios_dev: masked device 0300, which is /dev/hda bios_dev: geometry check found 0 matches bios_dev: (0x81) vol-ID=0001FF1A *PT=08077136 bios_dev: (0x80) vol-ID=0000000A *PT=080770EE bios_dev: PT match found 2 matches (0x80) bios_dev: S/N match found 1 match (0x81) Device 0x0301: BIOS drive 0x81, 255 heads, 16383 cylinders, 63 sectors. Partition offset: 63 sectors. registering bios=0x81 device=0x0301 Using Volume ID 0001FF1A on bios 81 RAID scan: geo_get: returns geo->device = 0x81 for device 0301 disk->start = 63 raid_offset = 0 (00000000) lookup_dev: number=0300 Name: /dev/hda1 yields MBR: /dev/hda (without primary partition check) md: RAIDset device 1 = 0x0801 lookup_dev: number=0801 geo_get: device 0801, all=1 geo_query_dev: device=0801 lookup_dev: number=0801 exit geo_query_dev bios_dev: device 0801 lookup_dev: number=0800 bios_dev: masked device 0800, which is /dev/sda bios_dev: geometry check found 0 matches bios_dev: (0x81) vol-ID=0001FF1A *PT=08077136 bios_dev: (0x80) vol-ID=0000000A *PT=080770EE bios_dev: PT match found 2 matches (0x80) bios_dev: S/N match found 1 match (0x80) Device 0x0801: BIOS drive 0x80, 255 heads, 12161 cylinders, 63 sectors. Partition offset: 63 sectors. registering bios=0x80 device=0x0801 Using Volume ID 0000000A on bios 80 RAID scan: geo_get: returns geo->device = 0x80 for device 0801 disk->start = 63 raid_offset = 0 (00000000) lookup_dev: number=0800 Name: /dev/sda1 yields MBR: /dev/sda (without primary partition check) Using BIOS device code 0x80 for RAID boot blocks raid_setup returns offset = 00000000 ndisk = 2 device-mapper: table ioctl failed: No such device or address BIOS VolumeID Device 80 0000000A 0800 81 0001FF1A 0300 raid flags: at bsect_open 0x02 Reading boot sector from /dev/md0 geo_get: device 0900, all=1 Device 0x0301: BIOS drive 0x81, 255 heads, 16383 cylinders, 63 sectors. Partition offset: 63 sectors. lookup_dev: number=FD00 Fatal: device-mapper: dm_task_run(DM_DEVICE_TABLE) failed
# /etc/lilo.conf - See: `lilo(8)' and `lilo.conf(5)', # --------------- `install-mbr(8)', `/usr/share/doc/lilo/', # and `/usr/share/doc/mbr/'. # +---------------------------------------------------------------+ # | !! Reminder !! | # | | # | Don't forget to run `lilo' after you make changes to this | # | conffile, `/boot/bootmess.txt' (if you have created it), or | # | install a new kernel. The computer will most likely fail to | # | boot if a kernel-image post-install script or you don't | # | remember to run `lilo'. | # | | # +---------------------------------------------------------------+ # Specifies the boot device. This is where Lilo installs its boot # block. It can be either a partition, or the raw device, in which # case it installs in the MBR, and will overwrite the current MBR. # boot=/dev/md0 # Specifies the device that should be mounted as root. (`/') # root=/dev/mapper/system-root # This option may be needed for some software RAID installs. # raid-extra-boot=mbr-only # Enable map compaction: # Tries to merge read requests for adjacent sectors into a single # read request. This drastically reduces load time and keeps the # map smaller. Using `compact' is especially recommended when # booting from a floppy disk. It is disabled here by default # because it doesn't always work. # compact # Installs the specified file as the new boot sector # You have the choice between: text, bmp, and menu # Look in lilo.conf(5) manpage for details # install=bmp bitmap=/boot/coffee.bmp # Specifies the location of the map file # map=/boot/map # You can set a password here, and uncomment the `restricted' lines # in the image definitions below to make it so that a password must # be typed to boot anything but a default configuration. If a # command line is given, other than one specified by an `append' # statement in `lilo.conf', the password will be required, but a # standard default boot will not require one. # # This will, for instance, prevent anyone with access to the # console from booting with something like `Linux init=/bin/sh', # and thus becoming `root' without proper authorization. # # Note that if you really need this type of security, you will # likely also want to use `install-mbr' to reconfigure the MBR # program, as well as set up your BIOS to disallow booting from # removable disk or CD-ROM, then put a password on getting into the # BIOS configuration as well. Please RTFM `install-mbr(8)'. # # password=tatercounter2000 # Specifies the number of deciseconds (0.1 seconds) LILO should # wait before booting the first image. # delay=20 # You can put a customized boot message up if you like. If you use # `prompt', and this computer may need to reboot unattended, you # must specify a `timeout', or it will sit there forever waiting # for a keypress. `single-key' goes with the `alias' lines in the # `image' configurations below. eg: You can press `1' to boot # `Linux', `2' to boot `LinuxOLD', if you uncomment the `alias'. # # message=/boot/bootmess.txt # prompt # delay=100 # timeout=100 # Specifies the VGA text mode at boot time. (normal, extended, ask, <mode>) # # vga=ask # vga=9 # # Kernel command line options that apply to all installed images go # here. See: The `boot-prompt-HOWTO' and `kernel-parameters.txt' in # the Linux kernel `Documentation' directory. # append="resume=/dev/system/swap" # If you used a serial console to install Debian, this option should be # enabled by default. # serial= # # Boot up Linux by default. # default=Linux image=/vmlinuz label=Linux read-only # restricted # alias=1 initrd=/initrd.img image=/vmlinuz.old label=LinuxOLD read-only optional # restricted # alias=2 initrd=/initrd.img.old # If you have another OS on this machine to boot, you can uncomment the # following lines, changing the device name on the `other' line to # where your other OS' partition is. # # other=/dev/hda4 # label=HURD # restricted # alias=3