Bug 76325 - mkinitrd is not aggressive enough getting the loop device
Summary: mkinitrd is not aggressive enough getting the loop device
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: mkinitrd
Version: 7.3
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Erik Troan
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-10-20 02:02 UTC by R P Herrold
Modified: 2007-04-18 16:47 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-10-28 21:10:56 UTC
Embargoed:


Attachments (Terms of Use)

Description R P Herrold 2002-10-20 02:02:12 UTC
The mkinitrd as called by a kernel upgrade is not sufficiently 'aggressive'
enough trying to get a loop device -- it returns a false error implying all loop
devices are in use then, clearly by testing lsmos, NONE are...



[root@new mail]# rpm -ivh \
/var/ftp/pub/mirror/redhat/redhat/7.3/i386/RedHat/RPMS/kernel-2.4.18-3.i386.rpm
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [100%]
All of your loopback devices are in use!
fatal error: unable to find a suitable template
[root@new mail]# lsmod   | grep loop
[root@new mail]# modprobe loop
modprobe: Can't locate module loop
[root@new mail]# insmod loop
Using /lib/modules/2.4.7-10/kernel/drivers/block/loop.o
[root@new mail]# lsmod   | grep loop
loop                   10896   0  (unused)
[root@new mail]# rpm -ivh --force
/var/ftp/pub/mirror/redhat/redhat/7.3/i386/RedHat/RPMS/kernel-2.4.18-3.i386.rpm
Preparing...                ########################################### [100%]
   1:kernel                 ########################################### [100%]
fatal error: unable to find a suitable template


So we are able to avoid the loop error with a manual insmod loop before running
the mkinitrd (here through the kernel Install)


So I propose adding

insmod loop > /dev/null 2>&1

at the top of the mkinitrd script.


[root@new mail]# ls -al /boot
total 7982
drwxr-xr-x    4 root     root         1024 Oct 19 21:45 .
drwxr-xr-x   20 root     root         1024 Oct 19 04:49 ..
lrwxrwxrwx    1 root     root           19 Oct 19 21:44 System.map ->
System.map-2.4.18-3
-rw-r--r--    1 root     root       474261 Apr 18  2002 System.map-2.4.18-3
-rw-r--r--    1 root     root       441284 Sep  6  2001 System.map-2.4.7-10
-rw-r--r--    1 root     root          512 Apr  1  1999 boot.0800
-rw-r--r--    1 root     root         5824 Jun 24  2001 boot.b
-rw-r--r--    1 root     root          612 Jun 24  2001 chain.b
-rw-r--r--    1 root     root        39999 Apr 18  2002 config-2.4.18-3
drwxr-xr-x    2 root     root         1024 Jan  4  2002 grub
-rw-r--r--    1 root     root          123 Jul 20 18:00 grub.instructions.txt
-rw-r--r--    1 root     root       435617 May 28  2000 initrd-2.2.14-5.0.img
-rw-r--r--    1 root     root       600944 Sep 16  2000 initrd-2.2.16-3.img
-rw-r--r--    1 root     root       608799 Mar 12  2001 initrd-2.2.17-14.img
-rw-r--r--    1 root     root       237765 Oct 19 21:45 initrd-2.4.18-3.img
-rw-r--r--    1 root     root       447075 Jan  4  2002 initrd-2.4.7-10.img
lrwxrwxrwx    1 root     root           14 Jul 20 17:34 kernel.h -> kernel.h-2.4.7
-rw-r--r--    1 root     root          473 Oct 19 21:42 kernel.h-2.4.7
drwx------    2 root     root        12288 Jul 20 17:20 lost+found
-rw-------    1 root     root        16896 Oct 19 21:41 map
-rw-r--r--    1 root     root        23108 Jun 24  2001 message
-rw-r--r--    1 root     root    21282 Jun 24  2001 message.ja
lrwxrwxrwx    1 root     root           20 Oct 19 21:44 module-info ->
module-info-2.4.18-3
-rw-r--r--    1 root     root        14431 Apr 18  2002 module-info-2.4.18-3
-rw-r--r--    1 root     root        13598 Sep  6  2001 module-info-2.4.7-10
-rw-r--r--    1 root     root          640 Jun 24  2001 os2_d.b
-rwxr-xr-x    1 root     root      2868043 Apr 18  2002 vmlinux-2.4.18-3
lrwxrwxrwx    1 root     root           16 Oct 19 21:44 vmlinuz -> vmlinuz-2.4.18-3
-rw-r--r--    1 root     root      1041347 Apr 18  2002 vmlinuz-2.4.18-3
-rw-r--r--    1 root     root       804083 Sep  6  2001 vmlinuz-2.4.7-10
[root@new mail]# joe /etc/lilo.conf
[root@new mail]# lilo -v -v
LILO version 21.4-4, Copyright (C) 1992-1998 Werner Almesberger
'lba32' extensions Copyright (C) 1999,2000 John Coffman

Reading boot sector from /dev/sda
Merging with /boot/boot.b
Secondary loader: 11 sectors.
Mapping message file /etc/lilo.notice
Warning: device 0x0806 exceeds 1024 cylinder limit
Message: 3 sectors.
Boot image: /boot/vmlinuz-2.4.18-3
Setup length is 10 sectors.
Mapped 2036 sectors.
Mapping RAM disk /boot/initrd-2.4.18-3.img
RAM disk: 465 sectors.
Added linux-2.3.18-3
Boot image: /boot/vmlinuz-2.4.7-10
Setup length is 10 sectors.
Mapped 1573 sectors.
Mapping RAM disk /boot/initrd-2.4.7-10.img
RAM disk: 874 sectors.
Added linux
Fatal: No images have been defined.
Removed temporary file /boot/map~

dunno about that Fatal at the end -- I'll walk it through a reboot

Comment 1 Erik Troan 2002-11-05 21:42:51 UTC
This means your module autoloading isn't working -- when mkinitrd tries to
find a loop device the kernel should run "modprobe loop" automatically. I don't
know why this isn't working for you, but it's not mkinitrd's fault.


Note You need to log in before you can comment on or make changes to this bug.