mdadm for Debian
Please make sure you read into /usr/share/doc/mdadm/NEWS.Debian.gz and the
documents listed under "further reading" a little later in this file.
The latest version of this document is available here:
The mdadm.conf file controls which devices are to be started automatically by
mdadm during boot, and various other parameters about how they are to be started.
The file can also contain some control parameters for the mdadm monitor daemon.
See mdadm.conf(5) for more information.
Note: this only applies to modular kernels. If you use a monolithic kernel,
you can control which devices are started automatically by changing the
partition type: 0xfd for autostart, 0x83 to prevent autostart. mdadm does not
actually care about the partition type, only the kernel does.
Check /usr/share/doc/mdadm/README.recipes.gz for some simple examples of how
to do the most common stuff with mdadm.
To RAID5 or not to RAID5
See http://www.miracleas.com/BAARF/BAARF2.html . The package maintainer could
not possibly come up with so much emotion over such a technical topic.
The documentation for the kernel md driver is included in
/usr/share/doc/mdadm/md.txt.gz. In addition, the md(4) manpage provides
valuable information about the applicable concepts. Do read those!
Further documents of interest:
- Linux-RAID reference Wiki:
- Linux software RAID HOWTO:
- linux-raid mailing list info:
- linux-raid mailing list FAQ:
For completeness: The upstream repository is available from
git clone git://neil.brown.name/mdadm
You can browse Neil's repository here:
You can also clone from Debian's Git repository, where upstream's code is in
the 'upstream' branch:
For reporting bugs, please use the reportbug tool, as it collects useful
information about the system where you're experiencing the problem.
If the system is another, please include the output of
/usr/share/bug/mdadm/scripts with your report.
If you are turning to the email@example.com mailing list because you
already know that the issue is with the md kernel driver and certainly not
Debian-specific, please also include the output of
In general, report bugs against the mdadm Debian package, using reportbug.
I am happy to route reports to where they belong.
Debian package maintenance
The package is maintained with Git and published on git.debian.org. To obtain
git clone git://git.debian.org/git/pkg-mdadm/mdadm
You can browse the repository here:
If you want to join the mdadm effort, please send me an email. I'll be very
glad for any help I get.
There are things to do listed in debian/TODO.
You might also be interested in the following document, which explains how
package maintenance of mdadm was migrated from SVN to Git:
The best way to submit patches is with git-format-patch, as outlined in the
following. If this is too complicated for you, please feel free to make
normal diffs, or contact me for assistance if you'd like to learn how to use
Please try to follow the guidelines outlined in
First, the setup, which you only have to do once on each machine you work with:
# leave out --global if you want to set your identity only for mdadm
git config --global user.name 'your name'
git config --global user.email 'firstname.lastname@example.org'
git clone git://git.debian.org/git/pkg-mdadm/mdadm.git
To prepare the actual patch, do the following:
git checkout -b some-name-identifying-my-work
while not finished:
// if resuming after a while, maybe update your branch:
git rebase master
// edit files
git add files
After you've brought your change to a state where you want to submit it, please
squash it into logical single commits. If you only made one change, then this
git checkout -b temp-squash master
git merge --squash some-name-identifying-my-work
git commit // ... remove the "Squashed commit of the following:" leader
git format-patch -M -s master
// now inspect the files this created in $PWD
// when you're ready to submit, do:
git send-email --to email@example.com
// check that it's okay when it arrives
git send-email --to firstname.lastname@example.org
For multiple logical changes, cherry-pick or squash-merge every commit
belonging to a change to the integration branch and then commit it.
Also, read the git-send-email manpage in case you're submitting multiple
logical changes, in case you want to thread them.
The manpage also includes information about adding a prologue message explaining your patch, or how to insert it into an existing
-- martin f. krafft <email@example.com> Tue, 16 Oct 2007 18:12:13 +0100