[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: rootdelay=9 kernal option - why?



francis picabia a écrit :
> On Sat, Jan 7, 2012 at 10:11 AM, Pascal Hambourg <pascal@plouf.fr.eu.org> wrote:
> 
> I'm sure I didn't learn of the solution initially through the debian
> release notes.

You wrote that you generally print out the release notes prior to
upgrade. I supposed that you read them too.

> Older SCSI disks and controllers (2002 to 2006 vintage) running mirror boot
> disks with mdadm seems to trigger the flaw often here.

I suspect that SCSI enumeration may take quite a long time before the
disks are available and the RAID arrays assembled, causing the problem.

>> This is not specific to Squeeze, the issue was already reported in Etch
>> and Lenny release notes. And it is not a kernel issue but an initramfs
>> issue.
> 
> The solution is within kernel params.

Actually, it is not really a kernel parameter here. Options passed to
the kernel command line are not all directed to the kernel itself. It
can be a convenient way to pass parameters to other pieced of software.
I.e. the "break" option is used by the Debian initramfs to stop its
execution at various stages ; rootdelay is used by both the kernel and
the Debian initramfs.

As a kernel parameter, rootdelay specifies the delay before mounting the
root filesystem. But when an initramfs is used, the kernel itself does
not mount the final root device, it mounts the initramfs instead. So
there is no point in waiting for rootdelay. The initramfs enumerates the
hardware, loads the needed modules to handle the disks and then mounts
the actual root filesystem. But there can be some time between when a
module is loaded and the hardware it handles becomes available.

The Debian initramfs has been designed so that it uses the same
rootdelay parameter (extracted from the kernel command line) before
trying to mount the final root filesystem. But it could have been a
different parameter name.


Reply to: