Only the /boot directory needs to stay on the SD card, and once control has been transferred to whichever USB storage device is identified as the root path in /boot/cmdline.txt (i.e., not root=/dev/mmcblk0p2, the SD card, but rather root=/dev/sda1, etc.), you can remove the SD card during operation if you want (it would have to be reinserted to perform a reboot, though).Lonewolff wrote:I know the kernel partition needs to stay on the SD card and I am fine with that. I just want to be able to offload the OS partition to the RAID array.
I'll have to wait until I get home to my Pi and notes later tonight, but my (admittedly incomplete) understanding is that you can't do anything until the configuration of the GPU blob is completed through cmdline.txt and config.txt, no matter what OS or even bare metal code you're booting. Some tend to not know or forget that the Pi is really a relatively powerful GPU (for the electricity consumed) that boots first and foremost and only deigns to bring up the ARM CPU as an afterthought to act as an I/O traffic cop for the USB and Ethernet ports. A lot of people are beating themselves over the head trying to make the CPU do a bunch of stuff it was never meant to do and are then disappointed with the results. There's no apparent reason why a RAID array that's connected via USB (that's not available until after the GPU boots) can, much less needs, to have mdadm running first (but, I need to refresh my wetware cache on the precise sequence that's executed during boot through the OS completing its configuration, loading, and execution). Maybe the two-step GPU and then CPU boot process is confusing either/both of us.Lonewolff wrote:Yeah, but what if the device is a raid array controlled by mdadm? mdadm would have to be running before cmdline.txt is called up. So, the reference to the /dev/md1 wont exist yet.
I am not sure what kernel you consider current, but I see:Lonewolff wrote:It would appear that the current Pi kernel supports RAID 0 & 5 out of the box. Mdadm didn't work with RAID 1, and online forums suggested this was due to the lack of RAID 1 support in the kernel.
Code: Select all
pi@delta ~ $ zcat /proc/config.gz |grep MD_ # CONFIG_MD_LINEAR is not set # CONFIG_MD_RAID0 is not set CONFIG_MD_RAID1=m # CONFIG_MD_RAID10 is not set CONFIG_MD_RAID456=m # CONFIG_MD_MULTIPATH is not set # CONFIG_MD_FAULTY is not set
I have a couple of missing commas there. See: https://github.com/raspberrypi/linux/bl ... ion/md.txtWhat are the parameters for "md=1,1,/dev/sda1,/dev/sdb1" in your example?