mdadm is an open source, small, fast and free command-line utility implemented in C and designed for maintaining, creating, and monitoring Linux "md" device arrays, popularly known as software RAID.
A minimal initramfs for assembling md arrays can be created using three files and one directory. These are the /bin directory, the /bin/mdadm statically linked mdadm binary, the /bin/busybox statically linked busybox binary, the /bin/sh hard link to /bin/busybox, and /init, a shell script which calls mdadm appropriately.
Default command-line options include the ability to create a new array from unused devices, assemble a previously created array, to create or assemble an array without metadata, to make changes to an existing array, to report on or modify several md related devices, to reshape or resize an active array, to remove or add a device from/to an array, as well as to monitor a single or multiple arrays.
An example init script with an mdadm implementation would look like this:
echo 'Auto-assembling boot md array'
mount -t proc proc /proc
if [ -n "$rootuuid" ]
elif [ -n "$mdminor" ]
echo "Using $arg"
mdadm -Acpartitions $arg --auto=part /dev/mda
mount /dev/mda1 /root || mount /dev/mda /root
exec chroot . /sbin/init < /dev/console > /dev/console 2>&1
Getting started with mdadm
To install and use the mdadm program in your GNU/Linux operating system, you should open the graphical package manager, search for mdadm and install the package. If mdadm is not available in the main software repositories of your distribution, download the latest version from Softpedia, where it is distributed as a source tarball.
Save the archive somewhere on your computer, extract its contents, open a terminal emulator and navigate to the location of the extracted archive files (e.g cd /home/softpedia/mdadm-3.3.2), where you must run the ‘make’ command to compile the program. Install it system wide by running the ‘sudo make install’ command.