Bug 544478 - mkblkdevs does not work
Summary: mkblkdevs does not work
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: mkinitrd
Version: 5.4
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Brian Lane
QA Contact: Release Test Team
URL:
Whiteboard:
: 239529 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-12-05 00:17 UTC by Alan Scheinine
Modified: 2012-05-15 18:49 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-15 18:43:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Alan Scheinine 2009-12-05 00:17:13 UTC
Description of problem: Inside newly created initrd, inside script init, mkblkdevs does nothing.


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


How reproducible: Always

I built two new kernels 2.6.31.6 and then 2.6.32-rc8 while running
Centos kernel 5.4 2.6.18-164.el5.  Many variations of config parameters all
resulted in boot failure of "could not find file system /dev/root" on three
different computers.  I discovered that the error message can have a multitude
of causes and so I followed advice I found on the web to boot interatively using
busybox.  Both the kernel that fails (recent kernels) and the kernel that boots
correctly (RHEL/Centos 5.4) have an identical nash and using busybox I see that
the first discrepency is after the first mkblkdevs.  This command is called
twice inside the "init" script, once before loading drivers and once after
loading drivers.  After the first call the directory dev gets ram# files added,
after the second call directory dev gets sda# files added for the kernel that
successfully boots.  For the kernel that fails to boot, the ram# files are not
added after the first call to mkblkdevs, this is before the modules such as ahci
are loaded, so the problem is not the module.  Moreover, even for the kernel
that failed /proc/partitions is correct, so the boot process is able to read the
hard disk (two hard disks, actually).  The disk controller is Intel ICH9M-E/M
SATA AHCI Controller.  I was able to mount the root file system of the hard disk
if I first used the nash command "mknod".  I cannot find documentation on
mkblkdevs, moreover, it seems to be a nash command and as I wrote, the nash
versions are the same for both the correct and failing kernel boot.  I don't see
any difference at all during this first stage of booting that would explain why
mkblkdevs would work for booting the RHEL/Centos kernel but fail when booting a
kernel constructed myself from a kernel.org source.  Could you point me to the
correct mailing list, wiki or person that might know the cause of the problem?

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 praveen 2011-01-03 11:15:14 UTC
Hi, 

I am also facing the same problem. I am using centos 5.3 machine. My current running kernel is, 2.6.18-128.2.1.el5. I upgraded kernel to 2.6.35.7 compiling locally in the centos machine. Nash and mkinitrd version - 5.1.19.6-61.
CentOS kerenel is booting fine where as the newly compiled kernel gives panic message with following error,

mount: could not find filesystem '/dev/root/'
setuproot: moving /dev failed: No such file or directory.

Both kernel's initrds have same modules in /lib and both has same init script. 

Can somebody tell where to look for solution/update on this bug?

Comment 2 praveen 2011-01-04 06:25:59 UTC
Hi,

My problem solved. Now my newly compiled kernel is up and working.
Thanks to the link,
http://blog.toracat.org/2010/03/want-a-custom-kernel-on-centos-noooooo-really/

Comment 3 Brian Lane 2012-05-15 18:49:41 UTC
*** Bug 239529 has been marked as a duplicate of this bug. ***


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