On Fri, 03 Sep 2010 14:15:23 -0400 (EDT), Thomas H. George wrote: > On Fri, Sep 03, 2010 at 12:24:08PM -0400, Stephen Powell wrote: >> On Fri, 03 Sep 2010 12:06:29 -0400 (EDT), Thomas H. George wrote: >>> >>> After latest upgrade installation of lilo fails. >>> >>> I am not using raid and have the entry boot=/dev/hda in lilo.conf as >>> specified in the man page. The installation fails with error code 01 >>> which according to the lilo man page means invalid disk command. >>> >>> Does it now want a UUID? If so, where do I find the correct UUID. >>> Values for the partitions are listed in /etc/fstab but not for the MBR. >>> I have checked several posibilities in /proc without success. In >>> particular in /proc/bus there are now only three subdirectories, Input, >>> pci and usb. >>> >>> Since this a new problem I checked the archives for August and September >>> but found nothing about lilo. >> >> Your post is lacking important information to diagnose the problem. >> For example, >> >> (1) Are you running Lenny or Squeeze? (or something else) > Squeeze >> (2) What architecture? (i386 or amd64) > amd64 >> (3) What kernel are you running? Is it stock or custom? If it is >> custom, exactly how did you build it? > Stock kernel 2.6.32-5-amd64 >> (4) What additional backup kernels (if any) do you have installed? > /boot/vmlinuz-2.6.24-1-amd64.sav > /boot/vmlinuz-2.6.26-1-amd64 > /boot/vmlinuz-2.6.26-2-amd64 > /boot/vmlinuz-2.6.30-1-amd64 > /boot/vmlinuz-2.6.30-2-amd64 > /boot/vmlinuz-2.6.32-3-amd64 > /boot/vmlinuz-2.6.32-5-amd64 >> (5) What files, if any, are present in the following directories: >> /etc/kernel/postinst.d > initramfs-tools > pm-utils > zz-lilo > zz-update-grub >> /etc/kernel/postrm.d > initramfs-tools > zz-lilo > zz-update-grub >> /etc/initramfs/post-update.d > lilo >> (6) I'd like to see the contents of the following files: >> /etc/kernel-img.conf > # Kernel image management overrides > # See kernel-img.conf(5) for details > do_symlinks = yes > relative_links = yes > do_bootloader = yes > do_bootfloppy = no > do_initrd = yes > link_in_boot = no >> /etc/fstab > # /etc/fstab: static file system information. > # > # <file system> <mount point> <type> <options> <dump> > <pass> > proc /proc proc defaults 0 0 > # /dev/sdb1 / ext3 errors=remount-ro 0 1 > UUID=bfcd3316-153a-4279-ab86-286906857b98 / ext3 > errors=remount-ro 0 1 > # /dev/sdb5 none swap sw 0 0 > UUID=4b1523d0-bec9-4565-b085-0a151469b8db none swap sw > 0 0 > > # formerly named /dev/sda1 is now: > UUID=507caf8f-f9cd-4ed2-91cc-3e46ae942e9d /bkups ext3 > rw,user,noauto 0 2 > # /dev/sda5 /ubuntu ext3 defaults 0 2 > UUID=28a4eb99-6213-4b82-96a2-42b45097e256 /ubuntu ext3 > defaults 0 2 > # /dev/sda6 /data ext3 defaults 0 2 > UUID=36cb29b0-2694-4dee-9ae4-10351963b979 /data ext3 > defaults 0 2 > > /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 > > > # /dev/hda1 /temp ext2 rw,user,auto 0 2 > UUID=4a2915d8-60cf-498e-a15c-f0bc6ebdb25e /temp ext2 > rw,user,auto 0 2 > # /dev/hda5 /storage ext2 defaults 0 2 > UUID=408287f4-8b15-42d1-b6d3-bfeaefde3002 /storage ext2 > defaults 0 2 > > # /etc/fstab: static file system information. > # > # <file system> <mount point> <type> <options> <dump> > <pass> > > /dev/cdrom /cdrom iso9660 ro,user,noauto 0 0 > > /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0 > /dev/scd0 /media/cddata auto ro,user,noauto 0 0 > /dev/scd1 /media/cdrom1 udf,iso9660 user,noauto 0 0 > > /dev/sdc1 /usbkey auto rw,user,noauto 0 0 > /dev/sdc5 /media/bkup ext3 rw,user,noauto 0 0 > /dev/sdc /media/fuze vfat rw,user,noauto 0 0 > > /dev/sr0 /media/cdrw iso9660 rw,user,noauto 0 0 > /dev/sr1 /dvdrw iso9660 rw,user,noauto 0 0 > /dev/sg0 /sony iso9660 rw,user,noauto 0 0 > /dev/sg1 /usbdrive vfat rw,user,noauto 0 0 > > /dev/sdd1 /usbmem vfat rw,user,noauto 0 0 >> /etc/initramfs-tools/conf.d/resume > # RESUME=/dev/sdb5 > RESUME='UUID=4b1523d0-bec9-4565-b085-0a151469b8db' >> /etc/initramfs-tools/conf.d/driver-policy > No such file >> /etc/lilo.conf > # Automatically added by lilo postinst script > large-memory > > # /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/hda > > # Specifies the device that should be mounted as root. (`/') > # > > # root = /dev/sdb1 > root = "UUID=bfcd3316-153a-4279-ab86-286906857b98" > > > # 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=menu > > # 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="" > > # 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 > append="quiet" > initrd=/initrd.img > > image=/vmlinuz.old > label=LinuxOLD > read-only > optional > # restricted > # alias=2 > append="quiet" > initrd=/initrd.img.old > > image=/boot/vmlinuz-2.6.24-1-amd64.sav > label=LinuxSaved > read-only > append="quiet" > initrd=/boot/initrd.img-2.6.24-1-amd64.sav > > # 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 >> (7) I'd like to see the output of the following commands: >> ls -Ald /dev/disk/by-uuid/ output using ls -Al > total 0 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 17E9-242F -> ../../sdd1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 28a4eb99-6213-4b82-96a2-42b45097e256 > -> ../../sda5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 36cb29b0-2694-4dee-9ae4-10351963b979 > -> ../../sda6 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 408287f4-8b15-42d1-b6d3-bfeaefde3002 > -> ../../sdb5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 4a2915d8-60cf-498e-a15c-f0bc6ebdb25e > -> ../../sdb1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 4b1523d0-bec9-4565-b085-0a151469b8db > -> ../../sdc5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 507caf8f-f9cd-4ed2-91cc-3e46ae942e9d > -> ../../sda1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 bfcd3316-153a-4279-ab86-286906857b98 > -> ../../sdc1 >> ls -Al /dev/disk/by-path/ > total 0 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > pci-0000:00:02.0-usb-0:2:1.0-scsi-0:0:0:0 -> ../../sdd > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > pci-0000:00:02.0-usb-0:2:1.0-scsi-0:0:0:0-part1 -> ../../sdd1 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > pci-0000:00:02.1-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sr1 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 pci-0000:00:04.0-scsi-0:0:0:0 -> > ../../sdb > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:04.0-scsi-0:0:0:0-part1 -> > ../../sdb1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:04.0-scsi-0:0:0:0-part2 -> > ../../sdb2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:04.0-scsi-0:0:0:0-part5 -> > ../../sdb5 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 pci-0000:00:05.0-scsi-0:0:0:0 -> > ../../sda > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.0-scsi-0:0:0:0-part1 -> > ../../sda1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.0-scsi-0:0:0:0-part2 -> > ../../sda2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.0-scsi-0:0:0:0-part5 -> > ../../sda5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.0-scsi-0:0:0:0-part6 -> > ../../sda6 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 pci-0000:00:05.0-scsi-1:0:0:0 -> > ../../sr0 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 pci-0000:00:05.1-scsi-0:0:0:0 -> > ../../sdc > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.1-scsi-0:0:0:0-part1 -> > ../../sdc1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.1-scsi-0:0:0:0-part2 -> > ../../sdc2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 pci-0000:00:05.1-scsi-0:0:0:0-part5 -> > ../../sdc5 >> ls -Al /dev/disk/by-id/ > total 0 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 ata-WDC_WD307AA-00BAA0_WD-WMA2F3071727 > -> ../../sdb > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD307AA-00BAA0_WD-WMA2F3071727-part1 -> ../../sdb1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD307AA-00BAA0_WD-WMA2F3071727-part2 -> ../../sdb2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD307AA-00BAA0_WD-WMA2F3071727-part5 -> ../../sdb5 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > ata-WDC_WD4000ABYS-01TNA0_WD-WCAPY0040763 -> ../../sda > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD4000ABYS-01TNA0_WD-WCAPY0040763-part1 -> ../../sda1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD4000ABYS-01TNA0_WD-WCAPY0040763-part2 -> ../../sda2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD4000ABYS-01TNA0_WD-WCAPY0040763-part5 -> ../../sda5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD4000ABYS-01TNA0_WD-WCAPY0040763-part6 -> ../../sda6 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 ata-WDC_WD800JD-60LSA5_WD-WMAM9UU42905 > -> ../../sdc > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD800JD-60LSA5_WD-WMAM9UU42905-part1 -> ../../sdc1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD800JD-60LSA5_WD-WMAM9UU42905-part2 -> ../../sdc2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > ata-WDC_WD800JD-60LSA5_WD-WMAM9UU42905-part5 -> ../../sdc5 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > scsi-SATA_WDC_WD307AA-00BWD-WMA2F3071727 -> ../../sdb > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD307AA-00BWD-WMA2F3071727-part1 -> ../../sdb1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD307AA-00BWD-WMA2F3071727-part2 -> ../../sdb2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD307AA-00BWD-WMA2F3071727-part5 -> ../../sdb5 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > scsi-SATA_WDC_WD4000ABYS-_WD-WCAPY0040763 -> ../../sda > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD4000ABYS-_WD-WCAPY0040763-part1 -> ../../sda1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD4000ABYS-_WD-WCAPY0040763-part2 -> ../../sda2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD4000ABYS-_WD-WCAPY0040763-part5 -> ../../sda5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD4000ABYS-_WD-WCAPY0040763-part6 -> ../../sda6 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > scsi-SATA_WDC_WD800JD-60L_WD-WMAM9UU42905 -> ../../sdc > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD800JD-60L_WD-WMAM9UU42905-part1 -> ../../sdc1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD800JD-60L_WD-WMAM9UU42905-part2 -> ../../sdc2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > scsi-SATA_WDC_WD800JD-60L_WD-WMAM9UU42905-part5 -> ../../sdc5 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 usb-LEXAR_JUMPDRIVE_E141520206010-0:0 > -> ../../sdd > lrwxrwxrwx 1 root root 10 Sep 3 10:16 > usb-LEXAR_JUMPDRIVE_E141520206010-0:0-part1 -> ../../sdd1 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 > usb-SONY_DVD_RW_DRU-510A_DRX-510UL_SYQ013324-0:0 -> ../../sr1 > lrwxrwxrwx 1 root root 9 Sep 3 10:16 wwn-0x50014ee200ed8e67 -> ../../sda > lrwxrwxrwx 1 root root 10 Sep 3 10:16 wwn-0x50014ee200ed8e67-part1 -> > ../../sda1 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 wwn-0x50014ee200ed8e67-part2 -> > ../../sda2 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 wwn-0x50014ee200ed8e67-part5 -> > ../../sda5 > lrwxrwxrwx 1 root root 10 Sep 3 10:16 wwn-0x50014ee200ed8e67-part6 -> > ../../sda6 > > > Note: I have grub2 boot loaders in the MBR's of the two sata hard drives > which I knew as sda and sdb and lilo on the MBR of the ata drive which I > knew as hda. The grub2 installation recommended putting the loader in > all MBR's but problem with linux-base made it impossible to boot with > grub. The lilo boot still worked and the linux-base problem was > resolved when all references to the cdrom and usb drives was removed > from fstab. The 2.6.32-5-amd64 kernel is apparently too large for lilo.
First of all, thank you for taking the time to collect and post all of this information. I know it must have been a pain; but believe me, there's no way to solve the problem without this information. At the risk of telling you what you already know, allow me to explain what happened. Prior to kernel 2.6.32-5, the traditional IDE drivers were used for traditional IDE hard drives (also know as parallel ATA or PATA drives). The user-space device names for these drives were called /dev/hda, /dev/hdb, etc. On the kernel side, these devices used major number 03. Serial ATA (or SATA) drives were treated as SCSI disks and used the SCSI naming convention. On the user-space side they were called /dev/sda, /dev/sdb, etc. On the kernel side, these devices used major number 08. Starting with kernel 2.6.32-5, a newer driver was used for PATA drives which, like the SATA drives, treated them as SCSI disks. In a typical PC with only one hard disk, the device name simply changed from /dev/hda to /dev/sda. However, in your case, since you already had two other disks which were already being treated as SCSI disks, you now have all three disks being treated as SCSI disks. The question is, which disk is which? I.e. is the old /dev/hda now /dev/sda? Or is it now /dev/sdb or /dev/sdc? If I am to believe the comments in /etc/fstab, you used to have a partition called /dev/hda1, mounted as /temp, which has a UUID of 4a2915d8-60cf-498e-a15c-f0bc6ebdb25e. According to the output of "ls -Ald /dev/disk/by-uuid/", this uuid is now associated with /dev/sdb1. You also used to have a partition called /dev/hda5, mounted as /storage, which has a UUID of 408287f4-8b15-42d1-b6d3-bfeaefde3002. According to the output of "ls -Ald /dev/disk/by-uuid/", this uuid is now associated with /dev/sdb5. Thus, we conclude that what used to be called /dev/hda is now called /dev/sdb. The "quick fix" would be to code boot=/dev/sdb in /etc/lilo.conf and re-run lilo. And that will work, as long as you are running a kernel which uses the newer libata drivers. But if you ever run lilo while running a kernel which uses the older IDE drivers, this will fail. That's not good. What you want to do is to use a udev-created alias what will map to /dev/hda when running a kernel which uses the old IDE driver and which maps to /dev/sdb when running a kernel which uses the new libata driver. And we can do that. Based on the output of "ls -Ald /dev/disk/by-id/", what we really want to use is boot=/dev/disk/by-id/ata-WDC_WD307AA-00BAA0_WD-WMA2F3071727 This will work with both types of kernels. linux-base apparently isn't smart enough to make this substitution. But that's what you should do. However, since I'm up to my ears in your system configuration, I would like to make some recommendations, if I may. (1) Avoid having multiple boot loaders installed at the same time, if possible. If you can, find one boot loader which can boot everything and stick with it. (2) If you ever create a custom kernel, you will have problems with lilo because a kernel created by the Squeeze version of "make-kpkg" or by "make deb-pkg" does not maintain the symlinks. ("do_symlinks = yes" only works for custom kernels under Squeeze.) For a more general treatment of this topic I recommend that you read http://www.wowway.com/~zlinuxman/Kernel.htm, especially "Step 10: Customize the Kernel Installation Process". You will need to install hook scripts to maintain symlinks in this case, such as the ones referenced on the web page. (3) If you are using lilo on an amd64 system, you might want to try the latest upstream version of lilo. The Debian package is available here: http://www.joonet.de/lilo/debian/squeeze/lilo_23.0-1_amd64.deb Although this is in Debian package format, this package is not supported by Debian at this time; so if you have problems with it, please do not open a Debian bug report against the lilo package. But I do know that the upstream author, Joachim Wiedorn, made a number of changes to lilo to work better with the amd64 architecture, and he uses it himself. There is one known bug in the package, but it is easily fixed. Change "#!/bin/sh" to "#!/bin/bash" in /etc/initramfs/post-update.d/lilo. -- .''`. Stephen Powell : :' : `. `'` `- -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/674833650.594645.1283543350479.javamail.r...@md01.wow.synacor.com