#!/bin/bash build() { add_checked_modules -f 'dm-' 'drivers/md/*' # check if a custom mdadm.conf exists if grep -q ^ARRAY /etc/mdadm.conf; then echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." add_file "/etc/mdadm.conf" fi add_binary "/sbin/mdassemble" add_runscript } help() { cat <<HELPEOF This hook loads the necessary modules for any raid root device, and assembles the raid device when run. If arrays are defined in /etc/mdadm.conf, the file will be used instead of command line assembling. Command Line Setup: - for raid arrays with persistent superblocks: md=<md device no.>,dev0,dev1,...,devn md=<md device no.>,uuid - for partitionable raid arrays with persistent superblocks: md=d<md device no.>,dev0,dev1,...,devn md=d<md device no.>,uuid Parameters: - <md device no.> = the number of the md device: 0 means md0, 1 means md1, ... - <dev0-devn>: e.g. /dev/hda1,/dev/hdc1,/dev/sda1,/dev/sdb1 or 0900878d:f95f6057:c39a36e9:55efa60a Examples: - md=d0,/dev/sda3,/dev/sda4 md=d1,/dev/hda1,/dev/hdb1 This will setup 2 md partitionable arrays. - md=0,/dev/sda3,/dev/sda4 md=1,/dev/hda1,/dev/hdb1 This will setup 2 md arrays with persistent superblocks. HELPEOF } # vim: set ft=sh ts=4 sw=4 et: