summaryrefslogtreecommitdiff
path: root/core/mdadm/mdadm_install
blob: b7a57ea4ec54f05d6b4ad9ffb8364bb83adfabb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# vim: set ft=sh:

install ()
{
    MODULES=" $(checked_modules "drivers/md/*" | grep -v "dm-") "
    BINARIES=""
    FILES=""
    SCRIPT="mdadm"
    # 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_file "/lib/udev/rules.d/64-md-raid.rules"
}

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
}