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.
Reviewed by Marius Nestor, last updated on December 15th, 2014
In a hurry? Add it to your Download Basket!
- This significant release included improved reshape support, improved DDF support, hot replace, and bad-block-log functionality.
- Array names can now have names (md_home) instead of just numbers (md0).
- There were several minor new features and many bugfixes.
Application descriptionmdadm is an open source, portable and free command-line utility written in the C programming language and designed fro...