Hello Maximilian.

I've ran into issue with initramfs-tools which
you support. Let me explain the problem.

I'm installing sarge on a md0 raid1 which consists of
/dev/sda2 and /dev/sdb2.

Here's the snippet from console when the system
boots up.

Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
 target1:0:6: Ending Domain Validation
Begin: Loading MD modules ...
md: raid1 personality registered for level 1
Success: loaded module raid1.
Done.
Begin: Assembling all MD arrays ...
mdadm: No devices listed in conf file were found.
Failure: failed to assemble all arrays.
Done.
Done.
Begin: Waiting for root file system... ...
SCSI device sda: 71687372 512-byte hdwr sectors (36704 MB)
sda : Write Protect is off
SCSI device sda : write cache: enabled, read cache: enabled, supports DPO
...
Further sdb comes up.

As you see /scripts/local-top/mdadm is run when
SCSI subsystem hasn't yet brought SCSI devices up.

When I'm dropped into initramfs shell if I run
/scripts/local-premount/mdadm then md devices
are started and I can boot into my system.

Obviously this is some kernel related issue but
it can be easily workarounded.

In /scripts/local you have a wait cycle while
"Waiting for root file system...":
                while [ ! -e "${ROOT}" ] \
                || ! $(get_fstype "${ROOT}" >/dev/null); do
                        /bin/sleep 0.1
                        slumber=$(( ${slumber} - 1 ))
                        [ ${slumber} -gt 0 ] || break
                done

I suggest to change it:
                while [ ! -e "${ROOT}" ] \
                || ! $(get_fstype "${ROOT}" >/dev/null); do
+                 [ $(( ${slumber} % 100 )) -eq 0 ] && run_scripts
/scripts/local-top
                        /bin/sleep 0.1
                        slumber=$(( ${slumber} - 1 ))
                        [ ${slumber} -gt 0 ] || break
                done

So slow drivers finish and we will
successfully fetch root and boot into it.


Regards,
Petya.

ps: described situation happens with linux-image-2.6.20-1-686-bigmem
and doesn't happen with linux-image-2.6.20-1-686 (old backports.org
kernels).


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to