This service will be undergoing maintenance at 00:00 UTC, 2016-09-28. It is expected to last about 1 hours
Bug 120624 - mkinitrd fails with some kernel names
mkinitrd fails with some kernel names
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: mkinitrd (Show other bugs)
1
All Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Jones
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2004-04-12 08:30 EDT by Luigi Iotti
Modified: 2015-03-27 15:00 EDT (History)
1 user (show)

See Also:
Fixed In Version: 3.5.20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-10-25 16:32:40 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Luigi Iotti 2004-04-12 08:30:19 EDT
Description of problem:
If the kernel for which mkinitrd is being performed has ".o" 
(or ".ko") in its name (for example, "2.4.22.nptl.openswan.1.0.3"), 
mkinitrd fails to include the correct modules in the initrd image.

This because mkinitrd in the function moduledep issues the 
command "match(filename, /\/([^\/]+)\.k?o/, ret)". The regular 
expression should match the name of the module in strigs found in the 
modules.dep file, for ex.:
/lib/modules/2.4.22-1.2174.nptl/kernel/fs/ext3/ext3.o:
/lib/modules/2.4.22-1.2174.nptl/kernel/fs/jbd/jbd.o

The ".k?o" in the regexp should match the ".o" or ".ko" in the module 
file name: but if the kernel name contains ".o" or ".ko" in its name 
the match, which is done leftmost, fails to catch the module name.
In my case, I need ext3.o in my initrd which depends on jbd.o. If and 
only if my kernel name has ".o" (or ".ko") in it, jbd.o is not 
included in the initrd.

Patch to fix the problem:

--- mkinitrd.orig       2004-08-07 18:05:45.000000000 +0200
+++ mkinitrd    2004-08-07 18:06:17.000000000 +0200
@@ -65,7 +65,7 @@
 
     [ -n "$verbose" ] && echo -n "Looking for deps of module $1"
     deps=$(awk 'BEGIN { searched=ARGV[2]; ARGV[2]=""; rc=1 } \
-                function modname(filename) { match(filename, /\/
([^\/]+)\.k?o/, ret); return ret[1] } \
+                function modname(filename) { match(filename, /\/
([^\/]+)\.k?o:?$/, ret); return ret[1] } \
                 function show() { if (orig == searched) { print dep; 
orig=""; rc=0; exit } } \
                 /^\/lib/ { show(); \
                            orig=modname($1); \

Version-Release number of selected component (if applicable):
mkinitrd-3.5.14-1

How reproducible:
always

Steps to Reproduce:
1. Build a kernel with .o in its name on a system where initrd is 
needed, with a module to be included in it that depends on another 
module
2. mkinitrd . Notice that the needed module is not included
3. 
  
Actual results:


Expected results:


Additional info:
Comment 1 Jeremy Katz 2004-04-13 00:04:02 EDT
Applied in CVS, will be in 3.5.20 
Comment 2 Matthew Miller 2006-07-11 13:45:54 EDT
Fedora Core 1 is maintained by the Fedora Legacy project for security updates
only. If this problem is a security issue, please reopen and reassign to the
Fedora Legacy product. If it is not a security issue and hasn't been resolved in
the current FC5 updates or in the FC6 test release, reopen and change the
version to match.

Thanks!

NOTE: Fedora Core 1 is reaching the final end of support even by the Legacy
project. After Fedora Core 6 Test 2 is released (currently scheduled for July
26th), there will be no more security updates for FC1. Please use these next two
weeks to upgrade any remaining FC1 systems to a current release.

Comment 3 John Thacker 2006-10-25 16:32:40 EDT
Closing per lack of response.  Also note that FC1 and FC2 are no longer
supported even by Fedora Legacy.  If this still occurs on FC3 or FC4, please
assign to that version and Fedora Legacy.  If it still occurs on FC5 or FC6,
please reopen and assign to the correct version.

Should be fixed, though.
Comment 4 Fedora Update System 2015-03-27 15:00:10 EDT
libwebp-0.4.3-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/libwebp-0.4.3-2.fc21

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