Hello,
Got it. Read below.
> Would someone please hint me on why a box using SATA (sata_sil -
> wouldn't think it's relevant) and software RAID-1 can't boot with RAID
> support as modules? (using an initrd image).
>
> I get "raidautorun: RAID_AUTORUN failed: 19" when nash runs
> "raidautorun /dev/md0" at boot, therefore the root filesystem fails to
> mount and the system panics. At this point I have confirmed that the
> physical member devices/partitions have been detected OK and that the
> md-mod.ko and raid1.ko modules load without error.
>
> The same box boots OK with RAID support compiled static, but well,
> I like the dynamic way and I'd love to understand what's going on.
>
> From what I can see (confirmed by adding a "printk" there),
> that part of md.c is hit:
>
> /* if we are not initialised yet, only ADD_NEW_DISK, STOP_ARRAY,
> * RUN_ARRAY, and SET_BITMAP_FILE are allowed */
> if (!mddev->raid_disks && cmd != ADD_NEW_DISK && cmd != STOP_ARRAY
> && cmd != RUN_ARRAY && cmd != SET_BITMAP_FILE) {
> printk(KERN_ALERT "md: cmd = %d\n", cmd); /* added by me */
> err = -ENODEV;
> goto abort_unlock;
>
> The IOCTL command received is 0x914 (RAID_AUTORUN) which makes sense
> to me. So the issue is that mddev->raid_disks is NULL, I guess.
>
> Trustix Linux 2.2
> Kernel 2.6.15.4 compiled from source
> Mkinitrd 4.1.18-2 RPM from FC3 installed in place
> of the original one that comes with Trustix because it can't
> manage .ko modules.
> The same setup works on a Dell Poweredge 750 in an almost
> exacty similar configuration (2 SATA disks - Intel chipset in this case,
> with software RAID, kernel 2.6.13).
That was a RTFM case, but in that case TFM is pretty well hidden
into ./Documentation/md.txt in the 2.6 (only) kernel tree:
!Boot time autodetection of RAID arrays
!--------------------------------------
!
!When md is compiled into the kernel (not as module), partitions of
!type 0xfd are scanned and automatically assembled into RAID arrays.
!This autodetection may be suppressed with the kernel parameter
!"raid=noautodetect". As of kernel 2.6.9, only drives with a type 0
!superblock can be autodetected and run at boot time.
In my case all RAID modules (including the master module 'md') were
built as dynamic modules, so autodection didn't work.
As soon as I have built md statically (but the raidX modules still
dynamic) the problem went away.
That was actually the only difference between this box and the other
one I compared it too, but I missed that :-(
I don't know if 2.4 works this way too, but it's kind of weird behaviour.
Usually all kind of autodetection works better with dynamic modules!
Greets,
_Alain_
_______________________________________________
tsl-discuss mailing list
[email protected]
http://lists.trustix.org/mailman/listinfo/tsl-discuss