It appears that the /etc/init.d/checkfs script does not properly start all raid devices if you have a mix of autodetect and non-autodetect raid arrays due to a couple of small bugs in the shell script. First it assumes that /etc/raidtab will contain "raiddev /dev/mdN". My raidtab has "raiddev <tab> /dev/mdN". The second bug is that it seems to be trying to start the devices with "raidstart /dev/${x}" when ${x} has "/dev/mdN" in it, so it fails with a "/dev//dev/mdN is not defined" error. Changing it to only run start on ${x} fixes this as well. This may only be a problem for mixed systems (with some raid arrays that are non-autodetect) or with people with strange habits of putting tabs in their raidtab file, but the attached patch fixes things for me properly.
Created attachment 7618 [details, diff] patch for checkfs for starting software raid properly Patch to deal with differently formatted raidtab files and getting sw raid started on a system that has both autodetect and non-autodetect software raid set up.
some of things have been fixed please review our cvs copy of checkfs: http://cvs.gentoo.org/cgi-bin/viewcvs.cgi/gentoo-src/rc-scripts/init.d/checkfs?rev=1.20&content-type=text/vnd.viewcvs-markup if anything is still 'broken', post a new comment/patch with you issues
It seems that along with this another problem is that since my root partition is raid0, it won't shut down properly. On halt I get a message 'can't stop md0, device or resource busy'. Normally this wouldn't be a problem, but because the software raid never shuts down properly my other raid5 partition is never marked as clean, and the parity is rebuilt every reboot. Any thoughts?
Try checkfs and halt.sh from baselayout-1.8.6.2, and see if it fixes.
Should work in latest.