summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/.gitignore8
-rw-r--r--debian/FAQ584
-rw-r--r--debian/NEWS71
-rw-r--r--debian/README.Debian162
-rw-r--r--debian/README.checkarray21
-rw-r--r--debian/README.initramfs-transition50
-rw-r--r--debian/README.recipes149
-rw-r--r--debian/README.upgrading-2.5.3134
-rw-r--r--debian/TESTING84
-rw-r--r--debian/TODO29
-rwxr-xr-xdebian/bugscript189
-rw-r--r--debian/changelog1348
-rw-r--r--debian/checkarray179
-rw-r--r--debian/compat1
-rw-r--r--debian/control34
-rw-r--r--debian/copyright21
-rw-r--r--debian/initramfs/hook298
-rw-r--r--debian/initramfs/script.local-top110
-rw-r--r--debian/mdadm-raid261
-rw-r--r--debian/mdadm-startall31
-rw-r--r--debian/mdadm-startall.sgml115
-rw-r--r--debian/mdadm-udeb.dirs1
-rw-r--r--debian/mdadm.config199
-rw-r--r--debian/mdadm.cron.d12
-rw-r--r--debian/mdadm.cron.daily18
-rw-r--r--debian/mdadm.dirs8
-rw-r--r--debian/mdadm.doc-base.faq9
-rw-r--r--debian/mdadm.doc-base.jd-rebuild-raid9
-rw-r--r--debian/mdadm.doc-base.md-txt11
-rw-r--r--debian/mdadm.doc-base.raid5-vs-1011
-rw-r--r--debian/mdadm.doc-base.recipes9
-rw-r--r--debian/mdadm.doc-base.root-on-raid9
-rw-r--r--debian/mdadm.doc-base.superblock-formats10
-rw-r--r--debian/mdadm.docs11
-rw-r--r--debian/mdadm.examples2
-rw-r--r--debian/mdadm.init79
-rw-r--r--debian/mdadm.links1
-rw-r--r--debian/mdadm.lintian-overrides1
-rw-r--r--debian/mdadm.logcheck.ignore.server23
-rw-r--r--debian/mdadm.logcheck.violations3
-rw-r--r--debian/mdadm.manpages1
-rw-r--r--debian/mdadm.postinst192
-rw-r--r--debian/mdadm.postrm33
-rw-r--r--debian/mdadm.preinst55
-rw-r--r--debian/mdadm.templates113
-rw-r--r--debian/mkconf107
-rwxr-xr-xdebian/newdisk243
-rw-r--r--debian/patches/Bump-version-output.patch26
-rw-r--r--debian/patches/Use-initialised-superblock-pointer-fixes-compiler-w.patch37
-rw-r--r--debian/patches/series2
-rw-r--r--debian/po/POTFILES.in1
-rw-r--r--debian/po/cs.po296
-rw-r--r--debian/po/de.po319
-rw-r--r--debian/po/es.po263
-rw-r--r--debian/po/eu.po238
-rw-r--r--debian/po/fi.po158
-rw-r--r--debian/po/fr.po254
-rw-r--r--debian/po/gl.po244
-rw-r--r--debian/po/it.po245
-rw-r--r--debian/po/ja.po299
-rw-r--r--debian/po/nl.po255
-rw-r--r--debian/po/pt.po249
-rw-r--r--debian/po/pt_BR.po383
-rw-r--r--debian/po/ru.po255
-rw-r--r--debian/po/sv.po252
-rw-r--r--debian/po/templates.pot200
-rw-r--r--debian/po/vi.po247
-rw-r--r--debian/presubj32
-rwxr-xr-xdebian/rules109
-rw-r--r--debian/watch2
70 files changed, 9415 insertions, 0 deletions
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 00000000..fa4d2db4
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,8 @@
+/mdadm-startall.8
+.*.sw?
+/*.substvars
+/files
+/mdadm
+/mdadm-udeb
+/*.debhelper
+/*.log
diff --git a/debian/FAQ b/debian/FAQ
new file mode 100644
index 00000000..c7cdd8df
--- /dev/null
+++ b/debian/FAQ
@@ -0,0 +1,584 @@
+Frequently asked questions -- Debian mdadm
+==========================================
+
+Also see /usr/share/doc/mdadm/README.recipes.gz .
+
+The latest version of this FAQ is available here:
+ http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=blob;f=debian/FAQ;hb=HEAD
+
+0. What does MD stand for?
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+ MD is an abbreviation for "multiple device" (also often called "multi-
+ disk"). The Linux MD implementation implements various strategies for
+ combining multiple physical devices into single logical ones. The most
+ common use case is commonly known as "Software RAID". Linux supports RAID
+ levels 1, 4, 5, 6, and 10, as well as the "pseudo-redundant" RAID level 0.
+ In addition, the MD implementation covers linear and multipath
+ configurations.
+
+ Most people refer to MD as RAID. Since the original name of the RAID
+ configuration software is "md"adm, I chose to use MD consistently instead.
+
+1. How do I overwrite ("zero") the superblock?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdadm --zero-superblock /dev/mdX
+
+ Note that this is a destructive operation. It does not actually delete any
+ data, but the device will have lost its "authority". You cannot assemble the
+ array with it anymore, and if you add the device to another array, the
+ synchronisation process *will* *overwrite* all data on the device.
+
+ Nevertheless, sometimes it is necessary to zero the superblock:
+
+ - If you are reusing a disk that has been part of an array with an different
+ superblock version and/or location. In this case you zero the superblock
+ before you assemble the array, or add the device to an array.
+
+ - If you are trying to prevent a device from being recognised as part of an
+ array. Say for instance you are trying to change an array spanning sd[ab]1
+ to sd[bc]1 (maybe because sda is failing or too slow), then automatic
+ (scan) assembly will still recognise sda1 as a valid device. You can limit
+ the devices to scan with the DEVICE keyword in the configuration file, but
+ this may not be what you want. Instead, zeroing the superblock will
+ (permanently) prevent a device from being considered as part of an array.
+
+2. How do I change the preferred minor of an MD array (RAID)?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ See item 12 in /usr/share/doc/mdadm/README.recipes.gz and read the mdadm
+ manpage (search for 'preferred').
+
+3. How does mdadm determine which /dev/mdX or /dev/md/X to use?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ The logic used by mdadm to determine the device node name in the mdadm
+ --examine output (which is used to generate mdadm.conf) depends on several
+ factors. Here's how mdadm determines it:
+
+ It first checks the superblock version of a given array (or each array in
+ turn when iterating all of them). Run
+
+ mdadm --detail /dev/mdX | sed -ne 's,.*Version : ,,p'
+
+ to determine the superblock version of a running array, or
+
+ mdadm --examine /dev/sdXY | sed -ne 's,.*Version : ,,p'
+
+ to determine the superblock version from a component device of an array.
+
+ Version 0 superblocks (00.90.XX)
+ ''''''''''''''''''''''''''''''''
+ You need to know the preferred minor number stored in the superblock,
+ so run either of
+
+ mdadm --detail /dev/mdX | sed -ne 's,.*Preferred Minor : ,,p'
+ mdadm --examine /dev/sdXY | sed -ne 's,.*Preferred Minor : ,,p'
+
+ Let's call the resulting number MINOR. Also see FAQ 2 further up.
+
+ Given MINOR, mdadm will output /dev/md<MINOR> if the device node
+ /dev/md<MINOR> exists.
+ Otherwise, it outputs /dev/md/<MINOR>
+
+ Version 1 superblocks (01.XX.XX)
+ ''''''''''''''''''''''''''''''''
+ Version 1 superblocks actually seem to ignore preferred minors and instead
+ use the value of the name field in the superblock. Unless specified
+ explicitly during creation (-N|--name) the name is determined from the
+ device name used, using the following regexp: 's,/dev/md/?(.*),$1,', thus:
+
+ /dev/md0 -> 0
+ /dev/md/0 -> 0
+ /dev/md_d0 -> _d0 (d0 in later versions)
+ /dev/md/d0 -> d0
+ /dev/md/name -> name
+ (/dev/name does not seem to work)
+
+ mdadm will append the name to '/dev/md/', so it will always output device
+ names under the /dev/md/ directory. Newer versions can create a symlink
+ from /dev/mdX. See the symlinks option in mdadm.con(5) and mdadm(8).
+
+ If you want to change the name, you can do so during assembly:
+
+ mdadm -A -U name -N newname /dev/mdX /dev/sd[abc]X
+
+ I know this all sounds inconsistent and upstream has some work to do.
+ We're on it.
+
+4. Which RAID level should I use?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Please read /usr/share/doc/mdadm/RAID5_versus_RAID10.txt.gz .
+
+ Many people seem to prefer RAID4/5/6 because it makes more efficient use of
+ space. For example, if you have disks of size X, then in order to get 2X
+ storage, you need 3 disks for RAID5, but 4 if you use RAID10 or RAID1+0 (or
+ RAID6).
+
+ This gain in usable space comes at a price: performance; RAID1/10 can be up
+ to four times faster than RAID4/5/6.
+
+ At the same time, however, RAID4/5/6 provide somewhat better redundancy in
+ the event of two failing disks. In a RAID10 configuration, if one disk is
+ already dead, the RAID can only survive if any of the two disks in the other
+ RAID1 array fails, but not if the second disk in the degraded RAID1 array
+ fails (see next item, 4b). A RAID6 across four disks can cope with any two
+ disks failing. However, RAID6 is noticeably slower than RAID5. RAID5 and
+ RAID4 do not differ much, but can only handle single-disk failures.
+
+ If you can afford the extra disks (storage *is* cheap these days), I suggest
+ RAID1/10 over RAID4/5/6. If you don't care about performance but need as
+ much space as possible, go with RAID4/5/6, but make sure to have backups.
+ Heck, make sure to have backups whatever you do.
+
+ Let it be said, however, that I thoroughly regret putting my primary
+ workstation on RAID5. Anything disk-intensive brings the system to its
+ knees; I will have to migrate to RAID10 at one point.
+
+4b. Can a 4-disk RAID10 survive two disk failures?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ I am assuming that you are talking about a setup with two copies of each
+ block, so --layout=near2/far2/offset2:
+
+ In two thirds of the cases, yes[0], and it does not matter which layout you
+ use. When you assemble 4 disks into a RAID10, you essentially stripe a RAID0
+ across two RAID1, so the four disks A,B,C,D become two pairs: A,B and C,D.
+ If A fails, the RAID6 can only survive if the second failing disk is either
+ C or D; If B fails, your array is dead.
+
+ Thus, if you see a disk failing, replace it as soon as possible!
+
+ If you need to handle two failing disks out of a set of four, you have to
+ use RAID6, or store more than two copies of each block (see the --layout
+ option in the mdadm(8) manpage).
+
+ See also question 18 further down.
+
+ 0. it's actually (n-2)/(n-1), where n is the number of disks. I am not
+ a mathematician, see http://aput.net/~jheiss/raid10/, which gives the
+ chance of *failure* as 1/(n-1), so the chance of success is 1-1/(n-1), or
+ (n-2)/(n-1), or 2/3 in the four disk example.
+ (Thanks to Per Olofsson for clarifying this in #493577).
+
+5. How to convert RAID5 to RAID10?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ To convert RAID5 to RAID10, you need a spare disk (either a spare, forth
+ disk in the array, or a new one). Then you remove the spare and one of the
+ three disks from the RAID5, create a degraded RAID10 across them, create
+ the filesystem and copy the data (or do a raw copy), then add the other two
+ disks to the new RAID10. However, mdadm cannot assemble a RAID10 with 50%
+ missing devices the way you might like it:
+
+ mdadm --create -l 10 -n4 -pn2 /dev/md1 /dev/sd[cd] missing missing
+
+ For reasons that may be answered by question 20 further down, mdadm actually
+ cares about the order of devices you give it. If you intersperse the missing
+ keywords with the physical drives, it should work:
+
+ mdadm --create -l 10 -n4 -pn2 /dev/md1 /dev/sdc missing /dev/sdd missing
+
+ or even
+
+ mdadm --create -l 10 -n4 -pn2 /dev/md1 missing /dev/sd[cd] missing
+
+ Also see item (4b) further up, and this thread:
+ http://marc.theaimsgroup.com/?l=linux-raid&m=116004333406395&w=2
+
+6. What is the difference between RAID1+0 and RAID10?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ RAID1+0 is a form of RAID in which a RAID0 is striped across two RAID1
+ arrays. To assemble it, you create two RAID1 arrays and then create a RAID0
+ array with the two md arrays.
+
+ The Linux kernel provides the RAID10 level to do pretty much exactly the
+ same for you, but with greater flexibility (and somewhat improved
+ performance). While RAID1+0 makes sense with 4 disks, RAID10 can be
+ configured to work with only 3 disks. Also, RAID10 has a little less
+ overhead than RAID1+0, which has data pass the md layer twice.
+
+ I prefer RAID10 over RAID1+0.
+
+6b. What's the difference between RAID1+0 and RAID0+1?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ In short: RAID1+0 concatenates two mirrored arrays while RAID0+1 mirrors two
+ concatenated arrays. However, the two are also often switched.
+
+ The linux MD driver supports RAID10, which is equivalent to the above
+ RAID1+0 definition.
+
+ RAID1+0/10 has a greater chance to survive two disk failures, its
+ performance suffers less when in degraded state, and it resyncs faster after
+ replacing a failed disk.
+
+ See http://aput.net/~jheiss/raid10/ for more details.
+
+7. Which RAID10 layout scheme should I use
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ RAID10 gives you the choice between three ways of laying out the blocks on
+ the disk. Assuming a simple 4 drive setup with 2 copies of each block, then
+ if A,B,C are data blocks, a,b their parts, and 1,2 denote their copies, the
+ following would be a classic RAID1+0 where 1,2 and 3,4 are RAID0 pairs
+ combined into a RAID1:
+
+ near=2 would be (this is the classic RAID1+0)
+
+ hdd1 Aa1 Ba1 Ca1
+ hdd2 Aa2 Ba2 Ca2
+ hdd3 Ab1 Bb1 Cb1
+ hdd4 Ab2 Bb2 Cb2
+
+ offset=2 would be
+
+ hdd1 Aa1 Bb2 Ca1 Db2
+ hdd2 Ab1 Aa2 Cb1 Ca2
+ hdd3 Ba1 Ab2 Da1 Cb2
+ hdd4 Bb1 Ba2 Db1 Da2
+
+ far=2 would be
+
+ hdd1 Aa1 Ca1 .... Bb2 Db2
+ hdd2 Ab1 Cb1 .... Aa2 Ca2
+ hdd3 Ba1 Da1 .... Ab2 Cb2
+ hdd4 Bb1 Db1 .... Ba2 Da2
+
+ Where the second set start half-way through the drives.
+
+ The advantage of far= is that you can easily spread a long sequential read
+ across the drives. The cost is more seeking for writes. offset= can
+ possibly get similar benefits with large enough chunk size. Neither upstream
+ nor the package maintainer have tried to understand all the implications of
+ that layout. It was added simply because it is a supported layout in DDF and
+ DDF support is a goal.
+
+8. (One of) my RAID arrays is busy and cannot be stopped. What gives?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ It is perfectly normal for mdadm to report the array with the root
+ filesystem to be busy on shutdown. The reason for this is that the root
+ filesystem must be mounted to be able to stop the array (or otherwise
+ /sbin/mdadm does not exist), but to stop the array, the root filesystem
+ cannot be mounted. Catch 22. The kernel actually stops the array just before
+ halting, so it's all well.
+
+ If mdadm cannot stop other arrays on your system, check that these arrays
+ aren't used anymore. Common causes for busy/locked arrays are:
+
+ * The array contains a mounted filesystem (check the `mount' output)
+ * The array is used as a swap backend (check /proc/swaps)
+ * The array is used by the device-mapper (check with `dmsetup')
+ * LVM
+ * dm-crypt
+ * EVMS
+ * The array is used by a process (check with `lsof')
+
+9. Should I use RAID0 (or linear)?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ No. Unless you know what you're doing and keep backups, or use it for data
+ that can be lost.
+
+9b. Why not?
+~~~~~~~~~~~~
+ RAID0 has zero redundancy. If you stripe a RAID0 across X disks, you
+ increase the likelyhood of complete loss of the filesystem by a factor of X.
+
+ The same applies to LVM by the way.
+
+ If you want/must used LVM or RAID0, stripe it across RAID1 arrays
+ (RAID10/RAID1+0, or LVM on RAID1), and keep backups!
+
+10. Can I cancel a running array check (checkarray)?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ See the -x option in the `/usr/share/mdadm/checkarray --help` output.
+
+11. mdadm warns about duplicate/similar superblocks; what gives?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ In certain configurations, especially if your last partition extends all the
+ way to the end of the disk, mdadm may display a warning like:
+
+ mdadm: WARNING /dev/hdc3 and /dev/hdc appear to have very similar
+ superblocks. If they are really different, please --zero the superblock on
+ one. If they are the same or overlap, please remove one from the DEVICE
+ list in mdadm.conf.
+
+ There are two ways to solve this:
+
+ (a) recreate the arrays with version-1 superblocks, which is not always an
+ option -- you cannot yet upgrade version-0 to version-1 superblocks for
+ existing arrays.
+
+ (b) instead of 'DEVICE partitions', list exactly those devices that are
+ components of MD arrays on your system. So in the above example:
+
+ - DEVICE partitions
+ + DEVICE /dev/hd[ab]* /dev/hdc[123]
+
+12. mdadm -E / mkconf report different arrays with the same device
+ name / minor number. What gives?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ In almost all cases, mdadm updates the super-minor field in an array's
+ superblock when assembling the array. It does *not* do this for RAID0
+ arrays. Thus, you may end up seeing something like this when you run
+ mdadm -E or mkconf:
+
+ ARRAY /dev/md0 level=raid0 num-devices=2 UUID=abcd...
+ ARRAY /dev/md0 level=raid1 num-devices=2 UUID=dcba...
+
+ Note how the two arrays have different UUIDs but both appear as /dev/md0.
+
+ The solution in this case is to explicitly tell mdadm to update the
+ superblock of the RAID0 array. Assuming that the RAID0 array in the above
+ example should really be /dev/md1:
+
+ mdadm --stop /dev/md1
+ mdadm --assemble --update=super-minor --uuid=abcd... /dev/md1
+
+ See question 2 of this FAQ, and also http://bugs.debian.org/386315 and
+ recipe #12 in README.recipes .
+
+13. Can a MD array be partitioned?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Since kernel 2.6.28, MD arrays can be partitioned like any other block
+ device.
+
+ Prior to 2.6.28, for a MD array to be able to hold partitions, it must be
+ created as a "partitionable array", using the configuration auto=part on the
+ command line or in the configuration file, or by using the standard naming
+ scheme (md_d* or md/d*) for partitionable arrays:
+
+ mdadm --create --auto=yes ... /dev/md_d0 ...
+ # see mdadm(8) manpage about the values of the --auto keyword
+
+14. When would I partition an array?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ This answer by Doug Ledford is shamelessly adapted from [0] (with
+ permission):
+
+ First, not all MD types make sense to be split up, e.g. multipath. For
+ those types, when a disk fails, the *entire* disk is considered to have
+ failed, but with different arrays you won't switch over to the next path
+ until each MD array has attempted to access the bad path. This can have
+ obvious bad consequences for certain array types that do automatic
+ failover from one port to another (you can end up getting the array in
+ a loop of switching ports repeatedly to satisfy the fact that one array
+ failed over during a path down, then the path came back up, and another
+ array stayed on the old path because it didn't send any commands during
+ the path down time period).
+
+ Second, convenience. Assume you have a 6 disk RAID5 array. If a disk
+ fails and you are using a partitioned MD array, then all the partitions on
+ the disk will already be handled without using that disk. No need to
+ manually fail any still active array members from other arrays.
+
+ Third, safety. Again with the raid5 array. If you use multiple arrays on
+ a single disk, and that disk fails, but it only failed on one array, then
+ you now need to manually fail that disk from the other arrays before
+ shutting down or hot swapping the disk. Generally speaking, that's not
+ a big deal, but people do occasionally have fat finger syndrome and this
+ is a good opportunity for someone to accidentally fail the wrong disk, and
+ when you then go to remove the disk you create a two disk failure instead
+ of one and now you are in real trouble.
+
+ Forth, to respond to what you wrote about independent of each other --
+ part of the reason why you partition. I would argue that's not true. If
+ your goal is to salvage as much use from a failing disk as possible, then
+ OK. But, generally speaking, people that have something of value on their
+ disks don't want to salvage any part of a failing disk, they want that
+ disk gone and replaced immediately. There simply is little to no value in
+ an already malfunctioning disk. They're too cheap and the data stored on
+ them too valuable to risk loosing something in an effort to further
+ utilize broken hardware. This of course is written with the understanding
+ that the latest MD RAID code will do read error rewrites to compensate for
+ minor disk issues, so anything that will throw a disk out of an array is
+ more than just a minor sector glitch.
+
+ 0. http://marc.theaimsgroup.com/?l=linux-raid&m=116117813315590&w=2
+
+15. How can I start a dirty degraded array?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ A degraded array (e.g. a RAID5 with only two disks) that has not been
+ properly stopped cannot be assembled just like that; mdadm will refuse and
+ complain about a "dirty degraded array", for good reasons.
+
+ The solution might be to force-assemble it, and then to start it. Please see
+ recipes 4 and 4b of /usr/share/doc/mdadm/README.recipes.gz and make sure you
+ know what you're doing.
+
+16. How can I influence the speed with which an array is resynchronised?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ For each array, the MD subsystem exports parameters governing the
+ synchronisation speed via sysfs. The values are in kB/sec.
+
+ /sys/block/mdX/md/sync_speed -- the current speed
+ /sys/block/mdX/md/sync_speed_max -- the maximum speed
+ /sys/block/mdX/md/sync_speed_min -- the guaranteed minimum speed
+
+17. When I create a new array, why does it resynchronise at first?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ See the mdadm(8) manpage:
+ When creating a RAID5 array, mdadm will automatically create a degraded
+ array with an extra spare drive. This is because building the spare into
+ a degraded array is in general faster than resyncing the parity on
+ a non-degraded, but not clean, array. This feature can be over-ridden with
+ the --force option.
+
+ This also applies to RAID levels 4 and 6.
+
+ It does not make much sense for RAID levels 1 and 10 and can thus be
+ overridden with the --force and --assume-clean options, but it is not
+ recommended. Read the manpage.
+
+18. How many failed disks can a RAID10 handle?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (see also question 4b)
+
+ The following table shows how many disks you can lose and still have an
+ operational array. In some cases, you *can* lose more than the given number
+ of disks, but there is no guarantee that the array survives. Thus, the
+ following is the guaranteed number of failed disks a RAID10 array survives
+ and the maximum number of failed disks the array can (but is not guaranteed
+ to) handle, given the number of disks used and the number of data block
+ copies. Note that 2 copies means original + 1 copy. Thus, if you only have
+ one copy (the original), you cannot handle any failures.
+
+ 1 2 3 4 (# of copies)
+ 1 0/0 0/0 0/0 0/0
+ 2 0/0 1/1 1/1 1/1
+ 3 0/0 1/1 2/2 2/2
+ 4 0/0 1/2 2/2 3/3
+ 5 0/0 1/2 2/2 3/3
+ 6 0/0 1/3 2/3 3/3
+ 7 0/0 1/3 2/3 3/3
+ 8 0/0 1/4 2/3 3/4
+ (# of disks)
+
+ Note: I have not really verified the above information. Please don't count
+ on it. If a disk fails, replace it as soon as possible. Corrections welcome.
+
+19. What should I do if a disk fails?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Replace it as soon as possible:
+
+ mdadm --remove /dev/md0 /dev/sda1
+ halt
+ <replace disk and start the machine>
+ mdadm --add /dev/md0 /dev/sda1
+
+20. So how do I find out which other disk(s) can fail without killing the
+ array?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Did you read the previous question and its answer?
+
+ For cases when you have two copies of each block, the question is easily
+ answered by looking at the output of /proc/mdstat. For instance on a four
+ disk array:
+
+ md3 : active raid10 sdg7[3] sde7[0] sdh7[2] sdf7[1]
+
+ you know that sde7/sdf7 form one pair and sdg7/sgh7 the other.
+
+ If sdh now fails, this will become
+
+ md3 : active raid10 sdg7[3] sde7[0] sdh7[4](F) sdf7[1]
+
+ So now the second pair is broken; the array could take another failure in
+ the first pair, but if sdg now also fails, you're history.
+
+ Now go and read question 19.
+
+ For cases with more copies per block, it becomes more complicated. Let's
+ think of a seven disk array with three copies:
+
+ md5 : active raid10 sdg7[6] sde7[4] sdb7[5] sdf7[2] sda7[3] sdc7[1] sdd7[0]
+
+ Each mirror now has 7/3 = 2.33 disks to it, so in order to determine groups,
+ you need to round up. Note how the disks are arranged in increasing order of
+ their indices (the number in brackes in /proc/mdstat):
+
+ disk: -sdd7- -sdc7- -sdf7- -sda7- -sde7- -sdb7- -sdg7-
+ group: [ one ][ two ][ three ]
+
+ Basically this means that after two disk failed, you need to make sure that
+ the third failed disk doesn't destroy all copies of any given block. And
+ that's not always easy as it depends on the layout chosen: whether the
+ blocks are near (same offset within each group), far (spread apart in a way
+ to maximise the mean distance), or offset (offset by size/n within each
+ block).
+
+ I'll leave it up to you to figure things out. Now go read question 19.
+
+21. Why does the kernel speak of 'resync' when using checkarray?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Please see README.checkarray and
+ http://www.mail-archive.com/linux-raid@vger.kernel.org/msg04835.html .
+
+ In short: it's a bug. checkarray is actually not a resync, but the kernel
+ does not distinguish between them.
+
+22. Can I prioritise the sync process and sync certain arrays before others?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Upon start, md will resynchronise any unclean arrays, starting in somewhat
+ random order. Sometimes it's desirable to sync e.g. /dev/md3 first (because
+ it's the most important), but while /dev/md1 is synchronising, /dev/md3 will
+ be DELAYED (see /proc/mdstat; only if they share the same physical
+ components.
+
+ It is possible to delay the synchronisation via /sys:
+
+ echo idle >/sys/block/md1/md/sync_action
+
+ This will cause md1 to go idle and md to synchronise md3 (or whatever is
+ queued next; repeat the above for other devices if necessary). md will also
+ realise that md1 is still not in sync and queue it for resynchronisation,
+ so it will sync automatically when its turn has come.
+
+23. mdadm's init script fails because it cannot find any arrays. What gives?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ If you don't have any arrays on your system, then mdadm's init script will
+ fail to assemble them and print a warning. If you don't like that, disable
+ AUTOSTART in /etc/default/mdadm.
+
+24. What happened to mdrun? How do I replace it?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdrun used to be the sledgehammer approach to assembling arrays. It has
+ accumulated several problems over the years (e.g. #354705) and thus has been
+ deprecated and removed with the 2.6.7-2 version of this package.
+
+ If you are still using mdrun, please ensure that you have a valid
+ /etc/mdadm/mdadm.conf file (run /usr/share/mdadm/mkconf --generate to get
+ one), and run
+
+ mdadm --assemble --scan --auto=yes
+
+ instead of mdrun.
+
+ Or make use of /usr/share/mdadm/startall .
+
+25. Why are my arrays marked auto-read-only in /proc/mdstat?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Arrays are kept read-only until the first write occurs. This allows md to
+ skip lengthy resynchronisation for arrays that have not been properly shut
+ down, but which also not have changed.
+
+26. Why doesn't mdadm find arrays specified in the config file and causes the
+ boot to fail?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ My boot process dies at an early stage and drops me into the busybox shell.
+ The last relevant output seems to be from mdadm and is something like
+
+ "/dev/md2 does not exist"
+
+ or
+
+ "No devices listed in conf file found"
+
+ Why does mdadm break my system?
+
+ Short answer: It doesn't, the underlying devices aren't yet available yet
+ when mdadm runs during the early boot process.
+
+ Long answer: It doesn't. but the drivers of those devices incorrectly
+ communicate to the kernel that the devices are ready, when in fact they are
+ not. I consider this a bug in those drivers. Please consider reporting it.
+
+ Workaround: there is nothing mdadm can or will do against this. Fortunately
+ though, initramfs provides a method, documented at
+ http://wiki.debian.org/InitramfsDebug. Please append rootdelay=10 to the
+ kernel command line and try if the boot now works.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 13 May 2009 09:59:53 +0200
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 00000000..a82c6aba
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,71 @@
+mdadm (2.6.7-2) unstable; urgency=low
+
+ /dev/disk symlinks:
+ mdadm now creates symlinks in /dev/disk/by-id, using the template
+ md-uuid-* for the array UUIDs and md-name-* for any names assigned to
+ arrays (version-1 superblocks only). Thanks to Suse for the udev rules
+ file.
+
+ mdrun removed:
+ This version also removes mdrun once and for all. If you are still using
+ mdrun, please ensure that you have a valid /etc/mdadm/mdadm.conf file (run
+ /usr/share/mdadm/mkconf --generate to get one), and run
+
+ mdadm --assemble --scan --auto=yes
+
+ instead of mdrun. Or make use of /usr/share/mdadm/startall .
+
+ -- martin f. krafft <madduck@debian.org> Wed, 02 Jul 2008 10:57:32 +0200
+
+mdadm (2.5.3.git200608201206-1) unstable; urgency=low
+
+ This version makes mdadm.conf mandatory. If you do not have such a file, it
+ will be created for you.
+
+ You must verify the contents of this file and ensure that it represents your
+ local configuration. See /usr/share/doc/mdadm/README.upgrading-2.5.3.gz for
+ more information.
+
+ -- martin f. krafft <madduck@debian.org> Sun, 20 Aug 2006 21:58:43 +0100
+
+mdadm (2.5-1) unstable; urgency=low
+
+ mdrun has been (finally) obsoleted, and an appropriate warning message is
+ written to the console if you (or a script) attempts to run it. If you
+ cannot live without mdrun, you can disable the warning by setting
+ USE_DEPRECATED_MDRUN=1 in /etc/default/mdadm. Note that mdrun will *not* be
+ supported. Please also see /usr/share/doc/mdadm/README.mdrun .
+
+ -- martin f. krafft <madduck@debian.org> Tue, 30 May 2006 23:25:13 +0200
+
+mdadm (2.4.1-5) unstable; urgency=low
+
+ This version drops the automatic generation of the /etc/mdadm/mdadm.conf
+ file on every boot (if it was missing). This means that you need to ensure
+ that you have a valid configuration file. If none is present during package
+ configuration, mdadm *will* try to generate one, but it will only contain
+ information about arrays that were running at the time of package
+ configuration. Arrays not listed in the configuration file will *not* be
+ started automatically after boot (with the exception of the root partition).
+
+ If you want to recreate your configuration file, either figure out what it
+ should contain from the mdadm.conf(5) manpage, or simply assemble and run
+ all the arrays the way you like it, then run
+ /usr/share/mdadm/mkconf force-generate /etc/mdadm/mdadm.conf
+
+ -- martin f. krafft <madduck@debian.org> Sat, 03 Jun 2006 17:45:47 +0200
+
+mdadm (2.4.1-1) unstable; urgency=low
+
+ As of version 2.3, mdadm uses /etc/mdadm.conf as its main configuration
+ file, and falls back to /etc/mdadm/mdadm.conf if the former is not found.
+ Since Debian uses /etc/mdadm/mdadm.conf as the configuration file path, this
+ order was reverted: Debian's mdadm reads /etc/mdadm/mdadm.conf as its main
+ file and falls back to /etc/mdadm.conf if the former is not found.
+
+ An incompatible change in the reshaping of RAID 5 arrays was made in this
+ upstream release. If you want to reshape a RAID 5 array with a version-1
+ superblock, please make sure to use mdadm 2.4.1 and at least a 2.6.17-rc2
+ kernel.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 16 May 2006 13:07:49 -0500
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 00000000..756268de
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,162 @@
+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:
+ http://git.debian.org/?p=pkg-mdadm/mdadm.gita=blob;f=debian/README.Debian;hb=HEAD
+
+Upgrading and the configuration file
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This version of mdadm now NEEDS /etc/mdadm/mdadm.conf, which it will try to
+generate during installation, if nonexistent.
+
+PLEASE MAKE SURE TO READ /usr/share/doc/mdadm/README.upgrading-2.5.3.gz !
+
+You can use the output of /usr/share/mdadm/mkconf to generate your very own
+mdadm.conf file, and look into
+/usr/share/doc/mdadm/examples/mdadm.conf-example for inspiration.
+
+Autostarting devices
+~~~~~~~~~~~~~~~~~~~~
+The mdadm.conf file controls which devices are to be started automatically by
+mdadm during boot (assuming AUTOSTART is set to true in /etc/default/mdadm),
+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.
+
+Common recipes
+~~~~~~~~~~~~~~
+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.
+
+See also the RAID5_versus_RAID10.txt.gz document included with this package.
+
+Further reading
+~~~~~~~~~~~~~~~
+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:
+ http://linux-raid.osdl.org
+ - Linux software RAID HOWTO:
+ http://tldp.org/HOWTO/Software-RAID-HOWTO.html
+ - linux-raid mailing list info:
+ http://vger.kernel.org/vger-lists.html#linux-raid
+ - linux-raid mailing list FAQ:
+ http://www.faqs.org/contrib/linux-raid/
+
+Upstream
+~~~~~~~~
+For completeness: The upstream repository is available from
+ git clone git://neil.brown.name/mdadm
+
+You can browse Neil's repository here:
+ http://neil.brown.name/git?p=mdadm
+
+You can also clone from Debian's Git repository, where upstream's code is in
+the 'upstream' branch:
+ git://git.debian.org/git/pkg-mdadm/mdadm
+
+Reporting bugs
+~~~~~~~~~~~~~~
+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 linux-raid@vger.kernel.org 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
+/usr/share/bug/mdadm/scripts.
+
+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
+the source:
+
+ git clone git://git.debian.org/git/pkg-mdadm/mdadm
+
+You can browse the repository here:
+ http://git.debian.org/?p=pkg-mdadm/mdadm
+
+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:
+ http://blog.madduck.net/debian/2007.10.07_converting-a-package-to-git
+
+Patches
+~~~~~~~
+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
+Git.
+
+Please try to follow the guidelines outlined in
+ http://repo.or.cz/w/git.git?a=blob;f=Documentation/SubmittingPatches;hb=HEAD
+
+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 'your@email.address'
+git clone git://git.debian.org/git/pkg-mdadm/mdadm.git
+
+To prepare the actual patch, do the following:
+
+git pull
+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
+ git commit
+ ...
+end
+
+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
+will do:
+
+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 your@email.address
+// check that it's okay when it arrives
+git send-email --to pkg-mdadm-devel@lists.alioth.debian.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
+thread (in-reply-to).
+
+ -- martin f. krafft <madduck@debian.org> Tue, 16 Oct 2007 18:12:13 +0100
diff --git a/debian/README.checkarray b/debian/README.checkarray
new file mode 100644
index 00000000..8cefe016
--- /dev/null
+++ b/debian/README.checkarray
@@ -0,0 +1,21 @@
+checkarray notes
+================
+
+checkarray will run parity checks across all your redundant arrays. By
+default, it is configured to run on the first Sunday of each month, at 01:06
+in the morning. This is realised by asking cron to wake up every Sunday with
+/etc/cron.d/mdadm, but then only running the script when the day of the month
+is less than or equal to 7. See #380425.
+
+'check' is a read-only operation, even though the kernel logs may suggest
+otherwise (e.g. /proc/mdstat and several kernel messages will mention
+"resync"). Please also see question 21 of the FAQ.
+
+If, however, while reading, a read error occurs, the check will trigger the
+normal response to read errors which is to generate the 'correct' data and try
+to write that out - so it is possible that a 'check' will trigger a write.
+However in the absence of read errors it is read-only.
+
+You can cancel a running array check with the -x option to checkarray.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 08 Jan 2007 02:07:19 +0100
diff --git a/debian/README.initramfs-transition b/debian/README.initramfs-transition
new file mode 100644
index 00000000..52d4191d
--- /dev/null
+++ b/debian/README.initramfs-transition
@@ -0,0 +1,50 @@
+mdadm for Debian - initramfs transition
+=======================================
+
+If you are using monolithic kernels (no modules), you need not concern
+yourself with any of this.
+
+If you are using yaird or initrd-tools/mkinitrd, then the following
+information is irrelevant to you.
+
+The following information is about #367567. The gist is that the hooks and
+scripts to take care of MD arrays (RAIDs) during boot with an initramfs have
+been improved and moved into the mdadm package. mdrun has been deprecated on
+the way.
+
+initramfs-tools does *not* conflict with older mdadm but instead provides
+fallback code in case mdadm << 2.5-1 is installed (which does not provide the
+hooks yet). This decision was made in order to prevent the slight chance that
+mdadm would be removed due to the conflict. See #380089.
+
+Unless I've overlooked a detail, no interaction is required from the side of
+the user (apart from the new debconf question) to install and get mdadm
+running and integrated with initramfs-tools. It helps to ensure that
+update-initramfs produces output that squares with your own perception of what
+is needed to boot, and that the output of the script /usr/share/mdadm/mkconf
+is sane after installation and before you reboot.
+
+Also, you may want to provide yourself a safety net by making a copy of the
+initrd:
+
+ cp /boot/initrd.img-$(uname -r) /boot/initrd.img-$(uname -r).before-mdadm2
+
+and then to duplicate your main grub or lilo stanzas (rerun lilo!) and point
+them to the saved initrd. If things go haywire, you should be able to restore
+a working condition with the saved initrd.
+
+If you want to move to the new hooks and scripts without installing
+initramfs-tools 0.70, do this:
+
+ rm /usr/share/initramfs-tools/hooks/md
+ sed -i -e 's,^PREREQ=\"md\"$,PREREQ=\"mdadm\",' \
+ /usr/share/initramfs-tools/scripts/local-top/lvm
+ update-initramfs -u -k all
+
+If update-initramfs says something about initrd having been altered and
+refuses to do something, use -t unless you modified the initrd on purpose and
+don't want it overwritten.
+
+Again, please report success or failure to me.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 23 Sep 2006 23:48:21 +0100
diff --git a/debian/README.recipes b/debian/README.recipes
new file mode 100644
index 00000000..2b1891e0
--- /dev/null
+++ b/debian/README.recipes
@@ -0,0 +1,149 @@
+mdadm recipes
+=============
+
+The following examples/recipes may help you with your mdadm experience. I'll
+leave it as an exercise to use the correct device names and parameters in each
+case. You can find pointers to additional documentation in the README.Debian
+file.
+
+Enjoy. Submissions welcome.
+
+The latest version of this document is available here:
+ http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=blob;f=debian/README.recipes;hb=HEAD
+
+0. create a new array
+~~~~~~~~~~~~~~~~~~~~~
+ mdadm --create -l1 -n2 -x1 /dev/md0 /dev/sd[abc]1 # RAID 1, 1 spare
+ mdadm --create -l5 -n3 -x1 /dev/md0 /dev/sd[abcd]1 # RAID 5, 1 spare
+ mdadm --create -l6 -n4 -x1 /dev/md0 /dev/sd[abcde]1 # RAID 6, 1 spare
+
+1. create a degraded array
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdadm --create -l5 -n3 /dev/md0 /dev/sda1 missing /dev/sdb1
+ mdadm --create -l6 -n4 /dev/md0 /dev/sda1 missing /dev/sdb1 missing
+
+2. assemble an existing array
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdadm --assemble --auto=yes /dev/md0 /dev/sd[abc]1
+
+ # if the array is degraded, it won't be started. use --run:
+ mdadm --assemble --auto=yes --run /dev/md0 /dev/sd[ab]1
+
+ # or start it by hand:
+ mdadm --run /dev/md0
+
+3. assemble all arrays in /etc/mdadm/mdadm.conf
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdadm --assemble --auto=yes --scan
+
+4. assemble a dirty degraded array
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdadm --assemble --auto=yes --force /dev/md0 /dev/sd[ab]1
+ mdadm --run /dev/md0
+
+4b. assemble a dirty degraded array at boot-time
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ If the array is started at boot time by the kernel (partition type 0xfd),
+ you can force-assemble it by passing the kernel boot parameter
+
+ md-mod.start_dirty_degraded=1
+
+5. stop arrays
+~~~~~~~~~~~~~~
+ mdadm --stop /dev/md0
+
+ # to stop all arrays in /etc/mdadm/mdadm.conf
+ mdadm --stop --scan
+
+6. hot-add components
+~~~~~~~~~~~~~~~~~~~~~
+ # on the running array:
+ mdadm --add /dev/md0 /dev/sdc1
+ # if you add more components than the array was setup with, additional
+ # components will be spares
+
+7. hot-remove components
+~~~~~~~~~~~~~~~~~~~~~~~~
+ # on the running array:
+ mdadm --fail /dev/md0 /dev/sdb1
+ # if you have configured spares, watch /proc/mdstat how it fills in
+ mdadm --remove /dev/md0 /dev/sdb1
+
+8. hot-grow a RAID1 by adding new components
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ # on the running array, in either order:
+ mdadm --grow -n3 /dev/md0
+ mdadm --add /dev/md0 /dev/sdc1
+ # note: without growing first, additional devices become spares and are
+ # *not* synchronised after the add.
+
+9. hot-shrink a RAID1 by removing components
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ mdadm --fail /dev/md0 /dev/sdc1
+ mdadm --remove /dev/md0 /dev/sdc1
+ mdadm --grow -n2 /dev/md0
+
+10. convert existing filesystem to RAID 1
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ # The idea is to create a degraded RAID 1 on the second partition, move
+ # data, then hot add the first. This seems safer to me than simply to
+ # force-add a superblock to the existing filesystem.
+ #
+ # Assume /dev/sda1 holds the data (and let's assume it's mounted on
+ # /home) and /dev/sdb1 is empty and of the same size...
+ #
+ mdadm --create /dev/md0 -l1 -n2 /dev/sdb1 missing
+ mkfs -t <type> /dev/md0
+ mount /dev/md0 /mnt
+ tar -cf- -C /home . | tar -xf- -C /mnt -p
+ # consider verifying the data
+ umount /home
+ umount /mnt
+ mount /dev/md0 /home # also change /etc/fstab
+ mdadm --add /dev/md0 /dev/sda1
+
+ Warren Togami has a document explaining how to convert a filesystem on
+ a remote system via SSH: http://togami.com/~warren/guides/remoteraidcrazies/
+
+10b. convert existing filesystem to RAID 1 in-place
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ In-place conversion of /dev/sda1 to /dev/md0 is effectively
+ mdadm --create /dev/md0 -l1 -n2 /dev/sda1 missing
+ however, do NOT do this, as you risk filesystem corruption.
+
+ If you need to do this, first unmount and shrink the filesystem by
+ a megabyte (if supported). Then run the above command, then (optionally)
+ again grow the filesystem as much as possible.
+
+ Do make sure you have backups. If you do not yet, consider method (10)
+ instead (and make backups anyway!).
+
+11. convert existing filesystem to RAID 5/6
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ # See (10) for the basics.
+ mdadm --create /dev/md0 -l5 -n3 /dev/sdb1 /dev/sdc1 missing
+ #mdadm --create /dev/md0 -l6 -n4 /dev/sdb1 /dev/sdc1 /dev/sdd1 missing
+ mkfs -t <type> /dev/md0
+ mount /dev/md0 /mnt
+ tar -cf- -C /home . | tar -xf- -C /mnt -p
+ # consider verifying the data
+ umount /home
+ umount /mnt
+ mount /dev/md0 /home # also change /etc/fstab
+ mdadm --add /dev/md0 /dev/sda1
+
+12. change the preferred minor of an MD array (RAID)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ # you need to manually assemble the array to change the preferred minor
+ # if you manually assemble, the superblock will be updated to reflect
+ # the preferred minor as you indicate with the assembly.
+ # for example, to set the preferred minor to 4:
+ mdadm --assemble /dev/md4 /dev/sd[abc]1
+
+ # this only works on 2.6 kernels, and only for RAID levels of 1 and above.
+ # for other MD arrays, you need to specify --update explicitly:
+ mdadm --assemble --update=super-minor /dev/md4 /dev/sd[abc]1
+
+ # see also item 12 in the FAQ contained with the Debian package.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 06 Oct 2006 15:39:58 +0200
diff --git a/debian/README.upgrading-2.5.3 b/debian/README.upgrading-2.5.3
new file mode 100644
index 00000000..ae5af8e7
--- /dev/null
+++ b/debian/README.upgrading-2.5.3
@@ -0,0 +1,134 @@
+Upgrading to mdadm 2.5.3 from previous versions
+===============================================
+
+With version 2.5.3, the Debian mdadm package now requires a mdadm.conf file.
+This file should be in /etc/mdadm/mdadm.conf, although /etc/mdadm.conf will
+also be read if the former is not present, but it is less preferred.
+
+The reason the configuration file is now required is because it was impossible
+to come up with robust heuristics to replace the previously used mdrun, while
+addressing its primary deficiency of not honouring the super-minor field and
+randomly assembling devices (see #354705). mdrun has been deprecated and is no
+longer provided by this package.
+
+Systems without a mdadm.conf file
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If your system does not have an mdadm.conf file, the package creates one for
+you during the installation phase. Furthermore, a configuration file is
+created during the updating of the initramfs (initial ramdisk), if no file is
+found at the time. In both cases, the running system is used as a reference,
+meaning that the file is generated automatically in such a way as to reflect
+the running system.
+
+This should work in most cases. I strongly suggest, however, that you inspect
+the generated file (/etc/mdadm/mdadm.conf) before you reboot. If you find any
+anomaly or mistakes, correct them and proceed with the next step ("Systems
+with a mdadm.conf file").
+
+Systems with a mdadm.conf file
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If an existing configuration file is found, it is *ignored* until you checked
+it and gave mdadm permission to use it. Even though this is a nuisance to some
+users, it is a necessary measure: previous versions of mdadm did not
+necessarily use the information in this file, even if it existed; thus there
+is no guarantee that the file properly describes the system's configuration.
+
+Therefore, you are required to inspect /etc/mdadm/mdadm.conf or
+/etc/mdadm.conf (whichever one is present, the first gets priority if both are
+present) and ensure that all arrays are properly identified. Here are a number
+of recommended checks:
+
+ - Verify that all arrays referenced by /etc/fstab, /etc/crypttab, your LVM
+ metadata, and whatever other subsystem uses MD arrays (RAIDs) on your
+ machine have a corresponding line in the configuration file.
+
+ Make sure to verify that your bootloader refers to the proper device name,
+ in case your root filesystem is on an MD array.
+
+ In particular, verify that the device node name is exactly the same;
+ /dev/md6 is *not* identical to /dev/md/6. Partitionable arrays are
+ a slight exception: if /dev/md_d0p3 is referenced, you need an entry for
+ /dev/md_d0 in the configuration file.
+
+ - Compare your file with the output of /usr/share/mdadm/mkconf . In
+ particular, make sure that the UUID matches for each array, whenever
+ a UUID is specified. Also compare the values of super-minor, name, and
+ devices. Only one match identifier (UUID, super-minor, name, devices) is
+ needed for each array, but if multiple identifiers are specified, all must
+ match. See mdadm.conf(5).
+
+ Identifying arrays by UUID is the preferred method.
+
+Once you have verified that the configuration file is accurate, you need to
+let mdadm know, and update the initial ramdisk. This is accomplished with the
+following two commands:
+
+ rm -f /var/lib/mdadm/CONF-UNCHECKED
+ update-initramfs -u -k all
+
+Depending on your setup, mdadm should print an appropriate informational
+message. Please make sure that it is in accordance with what you would expect.
+
+What to do if my system does not boot anymore?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+First thing: don't panic! If your system does not boot anymore as a result of
+an mdadm upgrade, it is *very* unlikely that you lost any data.
+
+Having said that, it is important that you exercise great care and understand
+what you are doing. If you do not know how to revive a system that does not
+boot because it fails to assemble MD arrays (RAIDs), consider asking someone
+who does for help.
+
+If you are using initramfs (which is the default since Debian "etch"), it will
+probably be easy to revive the system. If you are experiencing problems with
+another initial ramdisk alternative, you will have to resort to using a rescue
+disk, such as the debian-installer CD/DVD, or a live system, such as Knoppix.
+
+With initramfs, specify 'break=mount' as a kernel boot command line option,
+and commence the boot process. Eventually, you will be dumped into a shell.
+From here, you can execute
+
+ ./scripts/local-top/mdadm
+
+and inspect the output. If you want to see what exactly the script is doing,
+run
+
+ sh -x ./scripts/local-top/mdadm
+
+instead.
+
+Your primary goal is the assembly of the array(s) needed to bring up your root
+filesystem. If the above script fails to do that, take note of its output (for
+a later bug report), and then proceed to simply assemble the array by hand.
+
+For instance, if your root array is on /dev/md1, which is made up of
+/dev/sd[abc]1, just run:
+
+ /sbin/mdadm -A --auto=yes /dev/md1 --run /dev/sd[abc]1
+ /sbin/mdadm -Q /dev/md1 # to verify
+
+If your root filesystem is on multiple arrays (e.g. on LVM), repeat for each
+constituent array.
+
+When you are done, hit ctrl-d and watch the system boot.
+
+When it is back up, carefully inspect your mdadm.conf file and ensure that
+INITRDSTART is properly set in /etc/default/mdadm; set it to 'all' to be safe.
+
+In case you are not using initramfs, you need to find out what's going wrong
+during the boot process. Both yaird and initrd use a single mdadm --assemble
+call to bring up the device holding the root filesystem. If that command
+fails, you may need to recreate the image and make sure it gets the right
+parameters.
+
+If you rely on the kernel to assemble the arrays (MD support built-in, not
+modular, and partitions of type 0xfd) and the process fails, the superblock
+information is probably not accurate. In such a case, try to assemble the
+arrays from a rescue disc or live system just as you would expect the kernel
+to do it. Afterwards, verify the superblock information (mdadm --examine).
+
+If you continue to experience problems, please file a bug report with all the
+relevant information. The reportbug tool will automatically include the most
+relevant data in the report.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 02 Jul 2008 11:33:12 +0200
diff --git a/debian/TESTING b/debian/TESTING
new file mode 100644
index 00000000..22b01967
--- /dev/null
+++ b/debian/TESTING
@@ -0,0 +1,84 @@
+Call for help testing new versions of mdadm
+===========================================
+
+The problem with being the mdadm maintainer is that it doesn't make any
+friends but potentially quite a lot of enemies. Even though it's actually very
+unlikely that a new mdadm version causes data loss (mdadm is only the remote
+control into the kernel), people seem to exhibit unexpected reactions when
+their MD arrays with important data don't want to start anymore. In such
+a case, don't panic, don't do anything without understanding the implications,
+and consider asking for help.
+
+That said, I would appreciate if you guys helped me test the latest mdadm
+releases a bit more thoroughly. I do extensive tests myself, but as Murphy
+would be able to predict, the problem only ever occur on other people's
+machines, and I'd much rather fix them sooner than later.
+
+The easiest way to test new mdadm packages is by adding my package repository
+(i386/amd64) to your sources.list file, and configuring the APT pins
+appropriately:
+
+---8<---
+# cat <<_eof >> /etc/apt/sources.list
+deb http://debian.madduck.net/repo sid main
+_eof
+# cat <<_eof >> /etc/apt/preferences
+Package: *
+Pin: release a=unstable,o=madduck
+Pin-Priority: 50
+
+Package: mdadm
+Pin: release a=unstable,o=madduck
+Pin-Priority: 600
+_eof
+# apt-get update; apt-get upgrade
+---8<---
+
+Alternatively, you can just download the packages from the pool[0].
+
+ 0. http://debian.madduck.net/repo/pool/main/m/mdadm
+
+If you're running etch and are willing to test, that would be great! I've
+prepared backports, which you can use like so:
+
+---8<---
+# cat <<_eof >> /etc/apt/sources.list
+deb http://debian.madduck.net/repo etch-backports main
+## unless you have backports already enabled:
+deb http://www.backports.org/debian etch-backports main
+_eof
+# cat <<_eof >> /etc/apt/preferences
+Package: *
+Pin: release a=etch-backports,o=madduck
+Pin-Priority: 50
+
+Package: mdadm
+Pin: release a=etch-backports,o=madduck
+Pin-Priority: 600
+
+#Package: debconf
+#Pin: release a=sarge-backports
+#Pin-Priority: 600
+#
+#Package: lsb-base
+#Pin: release a=sarge-backports
+#Pin-Priority: 600
+_eof
+# apt-get update; apt-get upgrade
+---8<---
+
+For sarge, just replace each occurrence of etch with sarge (s/etch/sarge/g),
+and add the debconf and lsb-base backports from backports.org[1]; see also
+further down for direct links):
+
+ 1. http://backports.org/dokuwiki/doku.php?id=instructions
+
+The mdadm backport can also be directly downloaded from the above pool[0]
+the needed debconf[2] and lsb-base[3] reside in the backports.org archive.
+
+ 2. http://backports.org/debian/pool/main/d/debconf/
+ 3. http://backports.org/debian/pool/main/l/lsb/
+
+Much appreciated!
+
+ -- martin f. krafft <madduck@debian.org> Wed, 02 Jul 2008 11:10:02 +0200
diff --git a/debian/TODO b/debian/TODO
new file mode 100644
index 00000000..eb3299e0
--- /dev/null
+++ b/debian/TODO
@@ -0,0 +1,29 @@
+debian mdadm TODO list
+======================
+
+- version-1 is a nightmare. E.g. on partitionable arrays, with / on
+ /dev/md_d0p3, mdadm -Es ignores /dev/md_d0 and just uses the name, so
+ /dev/md/<arrayname>.
+- figure out something about device names.
+- (better) udev integration
+
+- check whether mdadm.conf and system are consistent during initramfs creation
+ and fail otherwise (#381303).
+- add code to compare existing and expected configuration, after standardising
+ the files. In most cases, we'll have to answer DUNNO as to whether the
+ existing configuration file is okay, but I guess in some cases we can
+ determine that the configuration is okay. A conservative approach would be
+ beneficial to the user. Not sure if it's worth the effort though.
+- one nice^W important thing would be to check device names and UUIDs at least.
+
+- verify operation without udev
+ - udev removed before mdadm installed
+ - udev removed after mdadm installed
+
+- more granular handling of init.d starts/stops, don't force all arrays to be
+ started.
+- let user specify when to start/stop which array (#398310).
+- also only stop those array we started; this can be easily done with
+ sentinels in $STATEDIR
+
+- manage DAEMON_OPTIONS with debconf
diff --git a/debian/bugscript b/debian/bugscript
new file mode 100755
index 00000000..dcc5cc37
--- /dev/null
+++ b/debian/bugscript
@@ -0,0 +1,189 @@
+#!/bin/bash
+#
+# mdadm bug submission control script
+#
+# allows Debian's bug tools to include relevant information in bug reports.
+#
+# Copyright © martin f. krafft <madduck@debian.org>
+# distributed under the terms of the Artistic Licence 2.0
+#
+# we need /bin/bash for readline and -n capabalities in the prompt(s)
+#
+
+# maximise information output even in the case of errors
+set +eu
+
+if ! command -v yesno >/dev/null; then
+ if [ -r /usr/share/reportbug/handle_bugscript ]; then
+ exec /usr/share/reportbug/handle_bugscript ". $0" /dev/stdout
+ fi
+ yesno() {
+ read -n1 -p"$1" REPLY
+ case "$REPLY" in
+ [yY]) REPLY=yep;;
+ [nN]) REPLY=nop;;
+ ('') REPLY="$2";;
+ esac
+ }
+ exec 3>&1
+fi
+
+# do not let people ctrl-c out of the bugscript
+trap : INT
+
+if [ $(id -u) != 0 ]; then
+ if [ -x "$(command -v sudo)" ]; then
+ yesno "Gather system information as root using sudo? (Y/n) " yep
+ if [ "$REPLY" = yep ]; then
+ echo running sudo "$0" "$@"...
+ sudo "$0" "$@" && exit 0
+ echo "sudo invocation failed, trying /bin/su..."
+ fi
+ fi
+
+ yesno "Gather system information as root using su? (Y/n) " yep
+ if [ "$REPLY" = yep ]; then
+ ARGS=
+ for i in "$@"; do ARGS="${ARGS:+$ARGS }'$1'"; shift; done
+ echo "running su root -s '/bin/sh -c $0 $ARGS'..."
+ su root -s /bin/sh -c "$0 $ARGS" && exit 0
+ unset ARGS
+ echo "su invocation failed."
+ fi
+
+ # arrive here only if neither sudo nor su worked:
+ yesno "Will you provide system information in the bug report yourself? (N/y) " nop
+ if [ "$REPLY" = yep ]; then
+ cat <<_eof >&3
+
+IMPORTANT:
+ please do not forget to include all relevant system information with this
+ bug report. You could run
+ /usr/share/bug/mdadm/script 3>&1
+ as root and attach or include the output.
+
+_eof
+ exit 0
+ fi
+
+ # try our best
+ cat <<_eof >&3
+
+WARNING:
+ the following output was not generated by the root user. If you can, please
+ replace the following up until "-- System Information:" with the output of
+ /usr/share/bug/mdadm/script 3>&1
+ run as root. Thanks!
+
+_eof
+fi
+
+if [ ! -r /proc/mdstat ]; then
+ echo "The local system does not have MD (RAID) support: no drivers loaded."
+ echo "Without MD support, I cannot collect as much information as I'd like."
+
+ #yesno "Are you sure you want to report a bug at this time? " yep
+ yesno "Hit any key to continue..." yep
+ #[ "$REPLY" = yep ] || exit 1
+fi
+
+echo "--- mount output" >&3
+mount >&3
+echo >&3
+
+echo "--- mdadm.conf" >&3
+if [ -r /etc/mdadm/mdadm.conf ]; then
+ cat /etc/mdadm/mdadm.conf >&3
+else
+ echo no mdadm.conf file. >&3
+fi
+echo >&3
+
+echo "--- /proc/mdstat:" >&3
+cat /proc/mdstat >&3 2>&3 || :
+echo >&3
+
+echo "--- /proc/partitions:" >&3
+cat /proc/partitions >&3 2>&3 || :
+echo >&3
+
+echo "--- initrd.img-$(uname -r):" >&3
+if [ -r /boot/initrd.img-$(uname -r) ]; then
+ TEMPDIR=$(mktemp -d)
+ OLDPWD="$PWD"
+ cd "$TEMPDIR"
+ zcat /boot/initrd.img-$(uname -r) 2>&3 | cpio -i 2>&3
+ find -regex '.*/md[a/].+' -type f -exec md5sum {} \; >&3
+ cd "$OLDPWD"
+ rm -rf "$TEMPDIR"
+ unset TEMPDIR
+fi
+echo >&3
+
+if [ -r /proc/modules ]; then
+ echo "--- /proc/modules:" >&3
+ egrep '(dm_|raid|linear|multipath|faulty)' < /proc/modules >&3 || :
+ echo >&3
+fi
+
+if [ -f /var/log/syslog ]; then
+ if [ -r /var/log/syslog ]; then
+ echo "--- /var/log/syslog:" >&3
+ egrep "^\w{3} [ :[:digit:]]{11} ($(hostname)|localhost) (kernel: md|mdadm): " /var/log/syslog >&3 || :
+ echo >&3
+ else
+ echo "syslog not readable by user." >&3
+ fi
+fi
+
+echo "--- volume detail:" >&3
+for dev in /dev/[hsv]d[a-z]*; do
+ [ ! -r $dev ] && echo "$dev not readable by user." && continue
+ mdadm -E $dev 2>/dev/null && echo -- || echo "$dev is not recognised by mdadm."
+done >&3
+echo >&3
+
+if [ -r /proc/cmdline ]; then
+ echo "--- /proc/cmdline" >&3
+ cat /proc/cmdline >&3
+ echo >&3
+fi
+
+if [ -f /boot/grub/grub.cfg ]; then
+ echo "--- grub2:" >&3
+ if [ -r /boot/grub/grub.cfg ]; then
+ egrep '^[^#].*\<(root=|raid)' /boot/grub/grub.cfg >&3 || :
+ else
+ echo grub.cfg file not readable. >&3
+ fi
+ echo >&3
+fi
+
+if [ -f /boot/grub/menu.lst ]; then
+ echo "--- grub legacy:" >&3
+ if [ -r /boot/grub/menu.lst ]; then
+ grep '^[^#].*\<root=' /boot/grub/menu.lst >&3 || :
+ else
+ echo menu.lst file not readable. >&3
+ fi
+ echo >&3
+fi
+
+if [ -f /etc/lilo.conf ]; then
+ echo "--- lilo:" >&3
+ if [ -r /etc/lilo.conf ]; then
+ egrep '^([^#].*)?root=' /etc/lilo.conf >&3 || :
+ else
+ echo lilo.conf file not readable. >&3
+ fi
+ echo >&3
+fi
+
+echo "--- udev:" >&3
+COLUMNS=70 dpkg -l udev | grep '\<udev\>' >&3
+md5sum /etc/udev/rules.d/*md* /lib/udev/rules.d/*md* >&3 2>/dev/null
+echo >&3
+
+echo "--- /dev:" >&3
+ls -l /dev/md* /dev/disk/by-* >&3
+echo >&3
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 00000000..2ef9df9a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1348 @@
+mdadm (3.0-1) unstable; urgency=low
+
+ * New stable upstream release.
+ * Add information about udev and device links in /dev to bugscript output.
+ * Add pointer to FAQ and in particular rootdelay to the bug script
+ pre-subject file, which is displayed by tools like reportbug and thus
+ hopefully reduces the numbers of duplicated bugs.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 05 May 2009 15:10:46 +0200
+
+mdadm (3.0~devel3-43-g2800528-1) experimental; urgency=low
+
+ * Merge tip of upstream's devel-3.0 branch at commit 2800528.
+ * Drop our own udev rules in favour of upstream's. If
+ /etc/udev/rules.d/65_mdadm.vol_id.rules has not been modified (md5sum
+ check), it is automatically removed; else, a warning is emitted.
+ * Add information about udev and device links in /dev to bugscript output.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 05 May 2009 15:10:46 +0200
+
+mdadm (2.6.9-3) unstable; urgency=low
+
+ * Fix the multipath prereq patch (#516605) and make it exit after printing
+ the prerequisites (closes: #526793).
+ * Change my previous recommendation for postfix over to the new virtual
+ package default-mta (see #522300 and #508644).
+ * Enhance bugscript, which now asks to run as root (sudo/su) if invoked by
+ a normal user.
+ * Include MD5 sums of md-related files in initrd in bug reports.
+ * Add grub2 information retrieval to bugscript.
+ * Trap SIGINT and thus prevent ctrl-c from terminating the bugscript
+ prematurely.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 05 May 2009 11:46:22 +0200
+
+mdadm (3.0~devel3-1) experimental; urgency=low
+
+ * Initial release of DEVELOPMENT BRANCH 3.0 to experimental.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 30 Apr 2009 11:51:39 +0200
+
+mdadm (2.6.9-2) unstable; urgency=low
+
+ * Fix the check of whether mdadm.conf defines all devices known to the
+ system; thanks Cristian Ionescu-Idbohrn (closes: #525655).
+ * No longer pass -k to modprobe, which has been deprecated for a long time;
+ thanks to Jan Hudec (closes: #519999).
+ * Remove Mario Joußen from the uploaders list, since his email started
+ bouncing.
+ * Prepare mdadm source to use quilt, with the long-term goal to switch to
+ TopGit, once I find the time.
+ * Cherry-pick caa0f6c & 667e66d from Neil into a quilt patch to fix gcc-4.4
+ compiler issues (closes: #505375).
+
+ -- martin f. krafft <madduck@debian.org> Sun, 26 Apr 2009 16:08:28 +0200
+
+mdadm (2.6.9-1) unstable; urgency=low
+
+ * New upstream release.
+ * Do not set -eu in the bugscript to maximise information output in the case
+ of errors.
+ * Make initramfs script depend on multipath to ensure its script is run
+ before ours (closes: #516605).
+ * Provide an alternative (postfix) for mail-transport-agent (closes:
+ #522300). I chose postfix because that's the only one I could recommend,
+ and since the alternative does not affect people who already have an MTA
+ installed, or have a preference, it won't affect them.
+ * Honour debconf pre-selection of mdadm/initrdstart (closes: #516802).
+ * Incorporate patch from Adrian Bridgett: the initramfs hook now checks to
+ see if all known arrays are listed in mdadm.conf and issues a warning if
+ this is not the case (closes: #519328).
+ * Make checkarray skip over arrays still marked auto-read-only
+ (closes: #510641).
+ * Add cron.daily snippet from Paul Slootman to run one-shot scans every day
+ to ensure that failed arrays don't go unnoticed (closes: #497949).
+ * Bumped Standards-Version to 3.8.1; no changes necessary.
+
+ -- martin f. krafft <madduck@debian.org> Sat, 25 Apr 2009 19:04:47 +0200
+
+mdadm (2.6.8-12-gb47dff6-2) unstable; urgency=low
+
+ * Brown paper bag release: I built from the wrong branch which caused some
+ Debian-specific changes not to get into the package. Thus build fixes it.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 16 Feb 2009 12:15:37 +0100
+
+mdadm (2.6.8-12-gb47dff6-1) unstable; urgency=low
+
+ * New upstream release.
+ - better checks asprintf() return codes, thanks to patch from Dustin
+ Kirkland (closes: #509167).
+ * Fix start/stop runlevels in header of mdadm monitor init.d script
+ (closes: #514923).
+ * Use modprobe -q instead of --syslog from initramfs (closes: #502988).
+
+ -- martin f. krafft <madduck@debian.org> Mon, 16 Feb 2009 11:07:18 +0100
+
+mdadm (2.6.7.2-1) unstable; urgency=low
+
+ * New upstream release, created for Debian lenny:
+ - fixes assembly of arrays that are being reshaped (closes: #512475)
+ - this bug was also responsible for other assembly problems
+ (closes: #498505, #499643, #496334)
+ Again, many thanks to Neil Brown for being such an awesome upstream.
+
+ * Documentation updates:
+ - Actually install David Pashley's blog post added in 2.6.7.1-1, and
+ register it with doc-base.
+ - Update md.txt to version 2.6.26 (the lenny kernel).
+ - Add a dump of a website detailing md superblock formats.
+ - Register FAQ, md.txt, RAID5-vs-RAID10, README.recipes with doc-base
+ - Cherry-picked UID/UUID typo in mdadm.conf(5) manpage fix (commit
+ 0e69da7) (closes: #506245).
+
+ * Added Italian debconf translation; thanks Luca Monducci (closes: #506572).
+
+ -- martin f. krafft <madduck@debian.org> Tue, 03 Feb 2009 21:28:34 +0100
+
+mdadm (2.6.7.1-1) unstable; urgency=low
+
+ * New upstream release, specifically created for Debian lenny to fix the RC
+ bugs, which
+ - fixes typo in forced assembly code (closes: #496334, #499643, #498505).
+ - fixes array component size detection (closes: 500309).
+ Thanks Neil Brown, mdadm upstream: you are spoiling me. :)
+
+ * Minor fixes to documentation:
+ - Add David Pashley's Rebuilding RAID blog post.
+ - Add new (bugfix) version 1.40 of the newdisk script
+ (/usr/share/doc/mdadm/examples/newdisk.gz) (closes: #490955).
+ - Add link to Warren Togami's writeup about remote RAID-1 conversion to
+ README.recipes.
+ - Fix probability of survival in FAQ 4b, since I erroneously labeled the
+ chance of failure as the chance of survival; thanks to Per Olofssen for
+ clarification (closes: #493577).
+ - Cherry-picked 6d6de2e from Neil, which adds HOMEHOST to the manpage and
+ closes: #489257.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 15 Oct 2008 10:27:23 +0200
+
+mdadm (2.6.7-3.1) unstable; urgency=low
+
+ * Non-maintainer upload with permission.
+ * Ask mdadm/initrdstart at medium priority in chrooted environment.
+ (Closes: #493099)
+ * Update Swedish debconf translations. Thanks Martin Ågren.
+ (Closes: #492074)
+
+ -- Jérémy Bobbio <lunar@debian.org> Mon, 25 Aug 2008 22:28:53 +0200
+
+mdadm (2.6.7-3) unstable; urgency=low
+
+ * Correct credits in the NEWS file: Suse authored the udev rules, not Ubuntu
+ (who use the same file without credit).
+
+ -- martin f. krafft <madduck@debian.org> Sat, 05 Jul 2008 12:22:58 +0200
+
+mdadm (2.6.7-2) unstable; urgency=low
+
+ * Remove mdrun completely.
+ * Import udev vol_id handling from Suse, and thus finally export
+ /dev/disk/by-id/* and /dev/disk/by-uuid symlinks (closes: #435983).
+ * Update upstream URLs in copyright and watch file (closes: #488364).
+ * Bump Standards-Version to 3.8.0; no changes required.
+ * Add mdadm homepage link to debian/control.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 02 Jul 2008 11:13:18 +0200
+
+mdadm (2.6.7-1) unstable; urgency=low
+
+ * New upstream version, which
+ - fixes a segfault when reading /proc/mdstat (closes: #462154).
+ - fixes a possible bug with v1 bitmap space allocation (closes: #474548).
+ - supports large files for loop assembly (closes: #463769).
+ * Moved mdadm-raid init.d script to position S60 (from S50) for runlevels
+ 0 and 6, so that arrays get stopped after cryptdisks-early; thanks to
+ J.M.Roth (closes: #486012).
+ * Fixed a typo in checkarray; thanks to Helmut Grohne (closes: #445540).
+ * Updated debconf translations:
+ - Spanish; thanks to Javier Fernández-Sanguino (closes: #477920).
+ - Basque; thanks to Piarres Beobide (closes: #478676).
+ * Updated logcheck rule so that it matches mdadm log entries with and without
+ PID (2.6.5 introduces PIDs in the messages).
+
+ -- martin f. krafft <madduck@debian.org> Wed, 25 Jun 2008 17:31:15 +0200
+
+mdadm (2.6.4-2) unstable; urgency=low
+
+ * Adjusted logcheck rules to follow kernel changes; thanks to Frédéric
+ Brière (closes: #462478).
+ * Debconf templates and debian/control reviewed by the debian-l10n-
+ english team as part of the Smith review project. Closes: #463673
+ * Debconf translation updates (thanks to Christian Perrier for compiling
+ them):
+ * Japanese. Closes: #464438
+ * Galician. Closes: #464454
+ * French. Closes: #465984
+ * Czech. Closes: #466306
+ * Dutch. Closes: #466543
+ * Russian. Closes: #466577
+ * Portuguese. Closes: #466794
+ * German. Closes: #466989
+ * Vietnamese. Closes: #467118
+ * New debconf translations:
+ * Finnish. Closes: #468048
+ * Fixed bashism in mdadm-raid init.d script; thanks to Raphael Geisser
+ (closes: #471874).
+ * Do not output warning when run from cron and no arrays are found
+ (closes: #474542).
+ * Add doc-base registration file; thanks to Roberto C. Sanchez
+ (closes: #451684).
+ * Reschedule "mdadm Sunday" to 00:57 instead of 01:06 to prevent double
+ invocation on DST change (closes: #449244).
+ * Bump DH compatibility level to 6; no changes required.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 11 Apr 2008 10:48:45 +0200
+
+mdadm (2.6.4-1) unstable; urgency=low
+
+ * New upstream release.
+ * Apply patch by Petter Reinholdtsen to fix dependency loop in
+ init.d script (closes: #460256).
+ * Bump Standards-Version to 3.7.3; no changes needed.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 14 Jan 2008 12:47:14 +0100
+
+mdadm (2.6.3+200709292116+4450e59-3) unstable; urgency=low
+
+ * Patch by Jérémy Bobbio which completes the fix for #444682.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 01 Oct 2007 16:16:19 +0100
+
+mdadm (2.6.3+200709292116+4450e59-2) unstable; urgency=low
+
+ * Patch the routine loading v1 superblocks to fix a segfault on amd64
+ (closes: #444682).
+
+ -- martin f. krafft <madduck@debian.org> Sun, 30 Sep 2007 14:10:41 +0100
+
+mdadm (2.6.3+200709292116+4450e59-1) unstable; urgency=low
+
+ * New merge from upstream @4450e59ffaf75623fa4261e244b0717a7463aa84
+ - makes "--write-mostly" effective when re-adding a device to an array.
+ (closes: #442874).
+ * Do not call update-initramfs -k all, it can be set via
+ /etc/initramfs-tools/update-initramfs.conf (closes: #439334).
+ * Depend on udev|makedev instead of just makedev and invoke /dev/MAKEDEV,
+ not /sbin/MAKEDEV (closes: #436998).
+ * De-escalate the initramfs hook warning about an "emergency procedure" and
+ simply note that this involves initramfs assembling arrays it finds
+ automatically at boot. Also added a FAQ entry on how to turn off the init
+ script warning when no arrays are found (closes: #434934).
+ * Add --scan to the single-device-assembly-codepath in the initramfs
+ local-top script; thanks to Mario 'BitKoenig' Holbe for the patch
+ (closes: #440703).
+ * Use short option in initramfs script mkdir call, so make it klibc-utils
+ compatible; thanks maximilian attems for the patch (closes: #443436).
+ * Handle module name synonyms in initramfs hook script (closes: #432585).
+
+ -- martin f. krafft <madduck@debian.org> Sat, 29 Sep 2007 21:21:25 +0100
+
+mdadm (2.6.2-2) unstable; urgency=low
+
+ * Fix typos in md(4) manpage; thanks Jeroen (closes: #425576).
+ * Make init script not report failure when there are no arrays defined in
+ config file.
+ * Add /usr/share/doc/mdadm/examples/newdisk, a script to integrate
+ a replacement disk into an existing array with minimal effort; will remain
+ in examples/ until I had a chance to really test and understand it. Thanks
+ to Arno van Amersfoort (closes: #427880).
+ * Does some sanity checking for proper format of level= arguments in
+ mdadm.conf and bails if an error is found. Since the RAID levels are used
+ verbatim as module names, a discrepancy might lead to an unusable system.
+ Instead, we thus use the emergency fallback. Thanks to Andrew
+ Sackville-West for spotting this and helping me with the fix.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 10 Jul 2007 09:59:45 +0200
+
+mdadm (2.6.2-1) unstable; urgency=low
+
+ * New upstream release
+ - new options --fail detach and --remove faulty can be used to fail and
+ remove devices that are no longer physically present (closes: #416512).
+ - --help output now goes to stdout (closes: #416653).
+ - plenty of manpage fixes, thanks Peter Samuelson (closes: #414688).
+ * Incorporated patch by Mikko Rasa to fix detecting of raid6 (and raid10)
+ devices with --scan (closes: #421915).
+
+ -- martin f. krafft <madduck@debian.org> Mon, 21 May 2007 14:25:43 +0200
+
+mdadm (2.6.1-1) unstable; urgency=low
+
+ * Release to unstable.
+ * Start arrays read-only in initramfs to prevent syncing and hence enable
+ resuming/freezing. The arrays will automatically sync as soon something
+ writes to it; thanks to Tim Dijkstra, Neil Brown, and Luis Rodrigo
+ Gallardo Cruz (closes: #415441).
+ * mkconf now tries to preserve existing values for DEVICE, CREATE and
+ HOMEHOST (in addition to MAILADDR, which it preserved previously already).
+ PROGRAM is preserved but only added to mdadm.conf if it occured in the
+ previously existing configuration file.
+ * startall is now mdadm-startall and lives in /sbin, thanks to Eduard Bloch.
+ It now can handle existing mdadm.conf files much more gracefully, mostly
+ thanks to the above mkconf enhancements (closes: #415336).
+
+ -- martin f. krafft <madduck@debian.org> Sat, 05 May 2007 16:12:29 +0200
+
+mdadm (2.6.1-1~exp.5) experimental; urgency=low
+
+ * Fix mdadm.conf typo; thanks Tim Phipps (closes: #416626).
+ * Execute udevtrigger after assembly of arrays during initramfs processing;
+ thanks to Michael Prokop (closes: #416658).
+
+ -- martin f. krafft <madduck@debian.org> Sat, 31 Mar 2007 12:12:27 +0200
+
+mdadm (2.6.1-1~exp.4) experimental; urgency=low
+
+ * Incorporate patches by Peter Samuelson fixing several typography as well
+ as typesetting issues in the manpages. Thanks a lot! (closes: #414688)
+
+ -- martin f. krafft <madduck@debian.org> Tue, 13 Mar 2007 19:26:37 +0100
+
+mdadm (2.6.1-1~exp.3) experimental; urgency=low
+
+ * Patch by Jørn V. Christensen to properly handle multiple email addresses
+ for the MAILADDR setting (closes: #413330).
+
+ -- martin f. krafft <madduck@debian.org> Mon, 5 Mar 2007 11:19:18 +0000
+
+mdadm (2.6.1-1~exp.2) experimental; urgency=low
+
+ * Updated debconf translations:
+ - Galician by Jacobo Tarrio (closes: #412203).
+
+ -- martin f. krafft <madduck@debian.org> Sat, 24 Feb 2007 16:41:16 +0100
+
+mdadm (2.6.1-1~exp.1) experimental; urgency=low
+
+ * New upstream release, targeted at experimental until etch is out:
+ - adds --syslog option (closes: #402457).
+ - now can --wait for sync activity to finish (closes: #328197).
+ - for other changes, please see /usr/share/doc/mdadm/changelog.gz
+ * Updated debconf translations:
+ - Portuguese by Rui Branco (closes: #411745).
+
+ -- martin f. krafft <madduck@debian.org> Thu, 22 Feb 2007 16:35:16 +0100
+
+mdadm (2.5.6-9) UNRELEASED; urgency=low
+
+ * More logcheck filters to prevent redundant information logged by mdadm
+ --syslog.
+ * Improved mdadm-raid init script to correctly output status information for
+ drives that are initialising or adding spares.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 11 Jan 2007 16:05:12 +0100
+
+mdadm (2.5.6-8) unstable; urgency=low
+
+ * Hard-code path to /sbin/mdadm binary rather than searching the $PATH. This
+ closes: #403307 and should be a little more robust in the presence of
+ installations of mdadm in /usr/local.
+ * Made the bugscript a little more failure-resilient.
+ * Added more documentation.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 8 Jan 2007 02:04:25 +0100
+
+mdadm (2.5.6-7) unstable; urgency=low
+
+ * Only parse ARRAY lines from configuration file when collecting the array
+ pairs. Thanks to Daniel Dehennin for the bug report and suggested fix
+ (closes: #402106).
+ * Prevent modules from being loaded during initramfs time if no arrays are
+ to be assembled at this stage.
+ * Export DAEMON_OPTIONS to /etc/default/mdadm, which gets passed to the
+ mdadm daemon on startup from the init.d script. The value is set to
+ -y/--syslog by default, and will get incorporated into debconf in a future
+ version; thanks for the idea by Alex Owen (closes: #401696).
+ * Incorporate patch by upstream to fix handling of --syslog long option
+ (closes: #402457).
+ * Added logcheck filters for new syslog entries by mdadm monitoring daemon.
+ * Added Spanish debconf translation by Javier Fernández-Sanguino
+ (closes: #402681).
+
+ -- martin f. krafft <madduck@debian.org> Tue, 12 Dec 2006 11:49:52 +0100
+
+mdadm (2.5.6-6) unstable; urgency=medium
+
+ * Fixed a typo in the debconf control script which would cause failures with
+ a dash shell; thanks to Santiago Garcia Mantinan for reporting this, and
+ Andreas Metzeler for providing a solution (closes: #399315).
+
+ -- martin f. krafft <madduck@debian.org> Mon, 20 Nov 2006 15:02:34 +0800
+
+mdadm (2.5.6-5) unstable; urgency=low
+
+ * Prevent initramfs hook from exiting prematurely when VERBOSE=false.
+ * Moved debconf question about arrays to start by initramfs to high
+ priority.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 13 Nov 2006 11:24:21 +0100
+
+mdadm (2.5.6-4) unstable; urgency=low
+
+ * Actually remove mdadm.conf on purge; previously, the generation of
+ a temporary file for initramfs would screw up the purging; thanks to
+ Fabrice Lorrain for the report (closes: #398088).
+
+ -- martin f. krafft <madduck@debian.org> Sat, 11 Nov 2006 20:07:55 +0100
+
+mdadm (2.5.6-3) unstable; urgency=low
+
+ * Fix a syntax error in mdadm-raid script.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 9 Nov 2006 15:47:51 +0100
+
+mdadm (2.5.6-2) unstable; urgency=low
+
+ * Small fixes to mkconf, now returns 255 instead of -1.
+ * Added /usr/share/mdadm/startall, a helper script to facilitate starting
+ all arrays when booting from rescue/live media. It overrides AUTOSTART in
+ /etc/default/mdadm and starts arrays even if the variable is set to
+ a false value.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 9 Nov 2006 14:44:35 +0100
+
+mdadm (2.5.6-1) unstable; urgency=low
+
+ * New upstream release:
+ - added note to mdadm(8)/--metadata about overriding the default in
+ mdadm.conf (closes: #396914).
+ - fixed problems that could cause infinite loop with auto assemble. Thanks
+ to Dan Pascu for pointing this out (closes: #396582).
+ - fixed problems with bitmap file names lost after reading from
+ configuration file.
+ * Merged patch by Dan Pascu to nicely handle situations where a degraded
+ array only has one drive left nicely by the mdadm-raid script.
+ * Updated Japanese debconf translation; thanks to Hideki Yamane
+ (closes: #396400).
+
+ -- martin f. krafft <madduck@debian.org> Thu, 9 Nov 2006 00:47:45 +0100
+
+mdadm (2.5.5-1) unstable; urgency=low
+
+ * New upstream release:
+ - fixes the build problems on several architectures (closes: #393314) by
+ including the contents of linux/blkpg.h literally, not via #include.
+ - optimises bitmap file use on 64bit systems.
+ - does not error out anymore when trying to assemble an already assembled
+ array without a corresponding /dev device node.
+ - does not report an error if --assemble --scan only finds already running
+ arrays.
+ - fixes several bugs related to RAID10 and the new offset layout.
+ - improves error message when a wrong '--update' option is given.
+ * Added FAQ entries about partitionable arrays.
+ * chroot detection now also works for 2.6.18 and beyond (c.f. kernel commit
+ 778c1144771f0064b6f51bee865cceb0d996f2f9).
+ * Now recommends module-init-tools.
+ * Hides ugly errors during configuration in the absense of module-init-tools
+ or initramfs-tools.
+ * Send udev events for arrays assembled by the mdadm-raid init.d script.
+ This does not close #394193 but it's a good addition anyway. I am not
+ sending these events from the initramfs as well because it would be
+ non-trivial to ensure that an event doesn't get sent twice for a given
+ array.
+ Anyway, this is all a hack until the kernel sends online/offline events to
+ udev. See #394193.
+ * Added more RAID10 information to the FAQ.
+ * Added filters to logcheck for regular events, even by the md driver; also
+ promoted messages about non-fresh components to security events.
+ * Hide informational messages unless VERBOSE is set to a true value in
+ /etc/default/mdadm.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 26 Oct 2006 22:35:24 +0200
+
+mdadm (2.5.4-1) unstable; urgency=low
+
+ * New upstream release:
+ - --examine now reports chunk size also for RAID6 and RAID10
+ - fix endianness issues with v1 superblocks (closes: #385726) and bitmap
+ metadata.
+ - improved message when mdadm detects similar superblocks
+ (closes: #385951).
+ - documents that the automatic update of the super-minor field in the
+ superblock when using a 2.6 kernel only applies to RAID levels 1 and
+ higher. RAID0 array superblocks must be manually updated
+ (closes: #386315, #388172).
+ - removes partition table from any whole device added to an array.
+ - allow --auto=yes to specify a number; if mdadm determines from the
+ device name that you want a partitionable array, this number determines
+ the number of sub-device nodes to create.
+ * Removed patch previously used to fix #385951 because it's not adequate.
+ See the bug log for reasons.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 13 Oct 2006 08:32:20 +0200
+
+mdadm (2.5.3.git200608202239-8) unstable; urgency=low
+
+ * This revision is dedicated to Peter Samuelson for his RAID10 expertise^W
+ educated guess^W^W pure luck. (:
+ * Now writes minimal mdadm.conf file even if the MD subsystem has not been
+ loaded and the scan for arrays thus failed.
+ * Now tries to ensure that the configuration file used for the initramfs
+ actually defines arrays.
+ * Now preserves MAILADDR from an existing mdadm.conf when generating a new
+ one.
+ * Documentation updates.
+ * Updated debconf translations:
+ - German by Mario Joußen.
+ - Vietnamese by Clytie Siddall (closes: #390311).
+ - Dutch by Frans Pop (closes: #390955).
+ - French by Jean-Luc Coulon (closes: #391215).
+
+ -- martin f. krafft <madduck@debian.org> Fri, 6 Oct 2006 15:03:46 +0200
+
+mdadm (2.5.3.git200608202239-7) unstable; urgency=medium
+
+ * Fixed a serious bug in the debconf script which would cause the
+ configuration to exit prematurely in cases when the root could not be
+ determined. Since this is RC, the urgency is set to medium.
+ * Updated the documentation a bit.
+ * Updated debconf translations:
+ - Swedish by Daniel Nylander (closes: #389040).
+ - Czech by Miroslav Kure (closes: #389083).
+ - Russian by Yuri Kozlov (closes: #389086).
+ - Brazilian Portuguese by Felipe Augusto.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 29 Sep 2006 16:31:44 +0200
+
+mdadm (2.5.3.git200608202239-6) unstable; urgency=high
+
+ * Bumping urgency to high because previous version has been in unstable for
+ three days and this one really only fixes a stupid segfault:
+ * Reworked the parsing of /proc/partitions and spotted a mean segfault
+ (closes: #388355).
+
+ -- martin f. krafft <madduck@debian.org> Thu, 21 Sep 2006 15:25:21 +0200
+
+mdadm (2.5.3.git200608202239-5) unstable; urgency=medium
+
+ * Keeping medium urgency due to RC bug.
+ * Modified the patch responsible for pruning parent devices so that
+ superblocks at the end of a disk do not get interpreted twice. It now
+ makes less assumptions about the exact output of /proc/partitions and
+ should thus be more robust (now closes: #385951).
+ * Added code that defers mdadm preconfiguration when the debconf backend is
+ too old (and does not provide debconf-escape). Now configuration is
+ postponed until the postinst is run in this case.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 14 Sep 2006 11:16:39 +0200
+
+mdadm (2.5.3.git200608202239-4) unstable; urgency=medium
+
+ * Correct error related to an unbound variable in postinst.
+ * Keeping medium urgency.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 13 Sep 2006 20:49:33 +0200
+
+mdadm (2.5.3.git200608202239-3) unstable; urgency=medium
+
+ * Urgency medium because of RC bugs.
+ * Add versioned dependency to debconf (closes: #385994); temporary fix until
+ we find a proper fix for #386439.
+ * Add patch by Steinar H. Gunderson to ensure mdadm does not interpret
+ a superblock as belonging to a device when it's actually part of
+ a partition on that device (closes: #385951).
+ * Do not override the superblock default version in mdadm.conf to prevent
+ creation of superblocks that the kernel can't handle (closes: #384614).
+ * Added a note to alert people that the warning about arrays not listed in
+ the configuration file is only relevant if the arrays are needed to be
+ brought up by mdadm from initramfs during boot (closes: #385017).
+ * Added bootloader/cmdline info to bugscript so that future bug reports via
+ bug/reportbug include information on how the system is booted with respect
+ to RAID (the root partition).
+ * If mdadm is being configured in a chroot, it now defaults to starting all
+ arrays from the initial ramdisk, rather than trying to figure out the root
+ MD array (we're using /proc information, so it would be the one of the
+ host, not the one of the chroot) (closes: #386468).
+ * Added LSB headers to init scripts.
+ * Reworked the documentation with respect to the use of "MD" and "RAID", and
+ added a FAQ entry on the meaning of "MD". Thanks to Frans Pop for his
+ help!
+ * Updated debconf translations:
+ - Czech by Miroslav Kure (closes: #384754).
+ - French by Florentin Duneau (closes: #385690).
+ - Russian by Yuri Kozlov (closes: #387017).
+
+ -- martin f. krafft <madduck@debian.org> Thu, 7 Sep 2006 14:32:04 +0200
+
+mdadm (2.5.3.git200608202239-2) unstable; urgency=low
+
+ * Allow ARRAY lines in configuration file to break across lines
+ (closes: #384222).
+ * Improved initramfs hook; now does not rely on initramfs to provide RAID
+ assembly:
+ - if a checked mdadm.conf file is present, use that.
+ - if an unchecked mdadm.conf is present, create a temporary one
+ - if that fails, use the unchecked one iff it contains at least one
+ ARRAY statement. Otherwise rely on auto-generation from the initramfs
+ during the book (and hope for the best).
+ - if no mdadm.conf is found, create one on the fly
+ - if that fails, hope that the auto-generation will work during boot
+ * Improved the messages printed by the initramfs script.
+ * Do not store the debconf answer for whether arrays not listed in the
+ configuration file should be used.
+ * Now asks again for the devices to start (preseeded with 'all') if the user
+ does not want to proceed with devices not listed in the configuration
+ file.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 30 Aug 2006 16:29:07 +0200
+
+mdadm (2.5.3.git200608202239-1) unstable; urgency=low
+
+ * Tracking upstream git releases.
+ - now the --run switch behaves as stated in the manpage. This properly
+ fixes #287415
+ - new version-1 partitionable arrays are now named X instead of _dX (e.g.
+ 0 instead of _d0) for device names like md_dX. I actually think this is
+ a bug and hope upstream will use dX (e.g. d0) instead in a future
+ version.
+ - we specify --symlink=no and thus disable the new feature to create
+ /dev/mdX symlinks to /dev/md/X devices until the entire device node mess
+ is cleared up. No need to introduce yet another complicating factor at
+ this stage.
+ * Instead of trying to do a whole lot of magic with respect to detecting
+ RAID devices to start, mdadm from now on requires a valid mdadm.conf file
+ to be installed. It still tries to do what it can, but there are no
+ heuristics anymore. See /usr/share/doc/mdadm/README.upgrading-2.5.3 .
+ * Removed the zero-superblock warning because we require the user to sign
+ off the configuration file anyway.
+ * This also enables us to use mdadm.conf from the initial ramdisk and thus
+ closes: #381303.
+ * In case the user chooses to assemble all arrays from the initial ramdisk,
+ use the new homehost feature of mdadm (closes: #381057). This will start
+ only those arrays belonging to the local system, unless it is the first
+ run on a system, in which case it will start all arrays and mark them as
+ belonging to the local system.
+ * Improved the debconf control script: integrated error messages into the
+ frontends, and made it a bit smarter. Error messages can now be
+ translated, and the script checks whether the user's choice is listed in
+ the configuration file and only proceeds if it is, or the user chooses to
+ ignore that it is not.
+ * mkconf can now take a generate/force-generate parameter to write directly
+ to /etc/mdadm/mdadm.conf. A second parameter specifies an alternate
+ filename.
+ * mkconf now outputs comments for the settings it suggests.
+ * Removed all udev-related stuff. We must coexist with udev because there
+ are setups that assemble arrays without mdadm, so the device nodes must be
+ created by udev, if that is used.
+ (closes: #382263, #382450, #383688, #383891, #383806, #382480)
+ Staying at low urgency since these (RC) bugs only exist in unstable.
+ * Now installs MD modules and mdadm/mdrun into initial ramdisk regardless of
+ whether the hook script thinks there are devices to start. This was done
+ to enable recovery from the initramfs shell.
+ * Now uses 'MD' instead of 'RAID' consistently in all messages.
+ * Now rebuilds initramfs for all installed kernels.
+ * Now breaks the endless config loop only when the user does not see the
+ question (see #381284, #381007).
+ * Don't fail mdadm-raid when /dev is on a read-only filesystem
+ (closes: #382876).
+ * Updated debconf translations:
+ - French by Florentin Duneau (closes: #382389).
+
+ -- martin f. krafft <madduck@debian.org> Mon, 21 Aug 2006 00:25:22 +0100
+
+mdadm (2.5.2-10) unstable; urgency=low
+
+ * Applied patch by upstream to fix the logic of the --run switch (see
+ #287415). Thus also reverted the mdadm-raid hack used to fix the bug in
+ the 2.5.2-9 upload.
+ * Recognise devfs-style device nodes by fixing a regression bug in the root
+ RAID autodetection code (closes: #381007), which was introduced as part of
+ the fix for #380596 in the 2.5.2-9 upload. The bug is RC, but it only
+ applies to unstable right now, so I am not pumping up the urgency.
+ The autodetection code now doesn't care about the actual name of the array
+ device, but instead only insists that it exists, is a block device, and
+ recognised as an array by mdadm (mdadm --detail).
+ * Added safety net to prevent endless loops in RAID autodetection. Now just
+ falls back to starting all arrays from the initramfs if it fails to
+ determine an acceptable array for the / filesystem in three tries
+ (closes: #381284, also see #381007).
+ * Added udev rules file to prevent udev from ever creating md device nodes,
+ which can get in the way of mdadm (also see next item).
+ * Added a workaround to the initramfs hook to deal with the problem with
+ /dev/md/X device nodes when /dev/mdX is also present and version-0
+ superblocks are in use (closes: #381181).
+ * checkarray: correctly recognise when the kernel is too old for parity
+ checks, or when there are no redundant arrays present (closes: #380746).
+ * checkarray: now supports -s|--status switch to query parity check status
+ for given devices.
+ * checkarray: now supports -x|--cancel switch to cancel running checks.
+ * mkconf: now also outputs 'MAILADDR root' and 'HOMEHOST <system>'.
+ * Added README.checkarray with some information about the check process.
+ * Added /usr/share/doc/mdadm/FAQ to answer some FAQs.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 3 Aug 2006 22:54:04 +0100
+
+mdadm (2.5.2-9) unstable; urgency=low
+
+ * Added logcheck rules for kernel messages generated by checkarray, using
+ logcheck server level.
+ * Added handling of partitionable arrays to root RAID autodetection script
+ (closes: #380596).
+ * Forcing RAID assembly to run the arrays, working around an upstream bug
+ until that's fixed (closes: #287415).
+ * Updated documentation in README.initramfs-transition to include
+ information related to #380089.
+ * Updated debconf translations:
+ - Vietnamese by Clytie Syddall, thanks!
+
+ -- martin f. krafft <madduck@debian.org> Mon, 31 Jul 2006 14:35:38 +0100
+
+mdadm (2.5.2-8) unstable; urgency=low
+
+ * Re-added rootraiddoc.97.html which was mysteriously lost (closes: #378678).
+ * Catching modprobe error in case of absence of the kernel modules, or
+ a non-modular kernel. Thanks to Holger Levsen.
+ * Copy raid456 kernel module into initramfs, if present (closes: #380152).
+ * checkarray: check for presence of active RAID arrays and give an
+ appropriate error if there are none present (closes: #379019).
+ * checkarray: skip sync for non-redundant devices (closes: #379352, #380424).
+ * Fixing cron registration for checkarray. crontab(5) is really stupid and
+ makes me think that they simply documented a bug instead of fixing it, so
+ now I have to hack around it. See the cron.d file (closes: #380425).
+ * Removed the code writing auto-detected devices to /var, which was silly
+ since /var isn't necessarily mounted yet by the time mdadm-raid is called.
+ Thanks to Maurizio Avogadro for pointing this out.
+ * Add reference to BAARF to README.Debian and included the RAID5 vs RAID10
+ article from the BAARF website.
+ * Updated debconf translations:
+ - Japanese by Hideki Yamane, thanks!
+ - French by Florentin Duneau, thanks! (closes: #379511)
+
+ -- martin f. krafft <madduck@debian.org> Thu, 27 Jul 2006 22:49:32 +0100
+
+mdadm (2.5.2-7) unstable; urgency=low
+
+ * Release to unstable.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 20 Jul 2006 17:23:23 +0100
+
+mdadm (2.5.2-6) experimental; urgency=low
+
+ * Adding mdrun to generated udeb. I will only remove mdrun after etch.
+ * Updated debconf translations:
+ - Dutch, thanks to Frans "Franzerl" Pop! (closes: #377412)
+ - French, thanks to Florentin Duneau! (closes: #377968)
+
+ -- martin f. krafft <madduck@debian.org> Thu, 13 Jul 2006 23:11:24 +0200
+
+mdadm (2.5.2-5) UNRELEASED; urgency=low
+
+ * Remove the check for the lvm prereq in the initramfs hook, as #369617 is
+ now fixed. Thus conflicts against initramfs-tools (<< 0.65).
+ * Updated debconf translations:
+ - German, thanks to Mario Joußen!
+ * Added short note about maintenance in SVN to README.Debian.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 13 Jul 2006 23:10:36 +0200
+
+mdadm (2.5.2-4) UNRELEASED; urgency=low
+
+ * The "it takes two to swing" release.
+ * Now does not stop arrays on upgrade or remove. Thanks (and sorry) to
+ Christian Pernegger (and hopefully no others).
+ * Fixed small problem in debconf configuration script related to unbound
+ MAIL_TO variable. Thanks to Christian Pernegger.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 7 Jul 2006 16:59:01 +0200
+
+mdadm (2.5.2-3) UNRELEASED; urgency=low
+
+ * The initramfs now gets all RAID modules installed. It's a lot safer to
+ have them all around, the size difference is negligible, and we still only
+ load the needed ones at boot time.
+ * Added /usr/share/mdadm/checkarray, which can be used to check arrays for
+ parity. Also added a debconf question to let the user choose whether
+ cron should run these checks (closes: #377071).
+ * Only shut down arrays automatically when they've been automatically
+ started (closes: #376009).
+ * Make sure the user has a chance to choose the autostart feature by
+ elevating the debconf priority to high (see #376009). The warning about
+ reuse of RAID components has also been elevated to debconf priority high.
+ * The MAIL_TO setting from /etc/default/mdadm has been removed. Instead, use
+ MAILADDR in /etc/mdadm/mdadm.conf. See mdadm.conf(5). Your setting should
+ be automatically migrated.
+ * Now rewrites /etc/default/mdadm (but preserves settings) instead of trying
+ to patch it with changes.
+ * Added note to README.Debian to ensure users know that only the devices
+ listed in mdadm.conf will be autostarted (see #376009).
+ * Now includes latest md.txt from kernel documentation in
+ /usr/share/doc/mdadm/md.txt.gz.
+ * Added some more recipes to /usr/share/doc/mdadm/README.recipes.gz.
+ * Updated debconf translations:
+ - Swedish, thanks to Daniel Nylander!
+ - Brazilian Portuguese, thanks to Felipe Augusto van de Wiel!
+ - Czech, thanks to Miroslav Kure!
+ - Russian, thanks to Yuri Kozlov (closes: #376181).
+ * Further updates to the debconf templates; I hope the translators aren't
+ going to kill me.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 7 Jul 2006 15:09:40 +0200
+
+mdadm (2.5.2-2) experimental; urgency=low
+
+ * The "if it weren't for Munich's wheat beer, there'd be no" release.
+ * Removed -fno-strict-aliasing from compiler options, after upstream fixed
+ the bug that led to its use (see #369779, #356153). Thanks to Elimar
+ Riesebieter for pointing this out (closes: #375876).
+ * Moved detection of RAID devices from initramfs hook to debconf control
+ file, and added a (low-priority) debconf question as to which devices
+ should be started early in the boot sequence. For the cases where we
+ failed to auto-detect previously (e.g. root on LVM on RAID), it's paranoid
+ and suggests to start them all (closes: #375879). Thanks to Alec Berryman
+ for spotting this.
+ * Fixed a typo in README.experimental, which could lead to an unbootable
+ system with initramfs-tools 0.64 or before. Again, thanks to Alec for
+ spotting this.
+ * Extended bug script to include --examine output for all components (at
+ least if called by root, which hopefully should never happen. Err,
+ wait...)
+ * Disabled deprecation warning in mdrun until the transition is complete.
+ * Reworded the debconf templates due to a new question, and also for
+ readability.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 29 Jun 2006 22:54:47 +0200
+
+mdadm (2.5.2-1) experimental; urgency=low
+
+ * New upstream release.
+ * Implemented checks in the initramfs hooks and scripts for compatibility
+ with initramfs-tools. Now we do not need a conflict anymore because
+ mdadm's hooks and scripts will simply do nothing while the ones provided
+ by initramfs-tools are still present.
+ * Not using /bin/bash for mdrun, which I thought we'd need for read timeout
+ support (for the deprecation warning). Since the -n and -t flags to the
+ read shell builtin are non-POSIX, I dropped them, they were merely
+ cosmetic anyway.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 27 Jun 2006 15:06:55 +0200
+
+mdadm (2.5.1-2) experimental; urgency=low
+
+ * Updating dependency on initramfs-tools, which has not yet adopted to mdadm
+ taking over the hooks.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 26 Jun 2006 22:35:08 +0200
+
+mdadm (2.5.1-1) experimental; urgency=low
+
+ * New upstream release:
+ - Really fixes return status of examine (closes: #367901).
+ - Fixes a memory leak in monitor mode (closes: #372618).
+ - Fixes compiler warnings and errors (closes: #373802, #356153, #369779).
+ - Fix byte swapping issues (closes: #369765).
+ - Now lists devices it stops (closes: #369850). This also leads to
+ beautification of the init.d script's stop action.
+ * Fixed RAID init script to not complain about missing logger command.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 26 Jun 2006 00:58:36 +0200
+
+mdadm (2.5-4) experimental; urgency=low
+
+ * The "would you like fries with your parasite?" release.
+ * Now does not require RAID support from the kernel just for package
+ installation; that was silly of me, sorry (closes: Bug#370115).
+ * Added version to Replaces: initramfs-tools dependency.
+ * Further init.d script improvements.
+ * Recommends mail-transport-agent, or the monitor daemon won't be able to
+ send anything.
+ * Ignores failures from modprobe in postinst when RAID modules are not
+ available (closes: #370582).
+
+ -- martin f. krafft <madduck@debian.org> Tue, 6 Jun 2006 12:45:53 +0200
+
+mdadm (2.5-3) experimental; urgency=low
+
+ * Added /usr/share/doc/mdadm/README.recipes with some common usage examples.
+ * Vastly improved the mdadm-raid init.d script output, and removed bashisms.
+
+ -- martin f. krafft <madduck@debian.org> Fri, 2 Jun 2006 00:45:06 +0200
+
+mdadm (2.5-2) experimental; urgency=low
+
+ * The "on her majesty's secret service" release.
+ * Enabled -DDEBIAN during build, which will take care of default permissions
+ on devices created by mdadm. Together with the CREATE configuration
+ directive in 2.5, this now certainly closes: Bug#310241.
+ * Added a patch (incorporating lib/mm/xlate.h from lvm2) to prevent direct
+ access to kernel headers from userspace (closes: Bug#369765).
+ * Disabled strict aliasing compiler checks until we find a better
+ implementation for linked lists in C (closes: Bug#369779, Bug#356153).
+ * Actually decreased the size of the udeb mdadm binary with -Os
+ -fomit-frame-pointer (as suggested by Joey Hess) (closes: Bug#314370)
+ * Added Replaces: initramfs-tools to communicate that we're not conflicting
+ but replacing instead (see Bug#367567)
+ * Updated conflict with initramfs-tools to (<< 0.63) per suggestion by the
+ maintainers.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 1 Jun 2006 20:15:17 +0200
+
+mdadm (2.5-1) experimental; urgency=low
+
+ * The "show me the way to the next whiskey bar" release.
+ * See /usr/share/doc/mdadm/README.experimental or
+ http://madduck.net/~madduck/scratch/README.experimental
+ * New upstream release:
+ - mails include /proc/mdstat output (closes: Bug#355882)
+ - allows specification of device permissions in config (closes: Bug#310241)
+ * /sbin/mdrun has been deprecated and replaced by calls to /sbin/mdadm;
+ a proper deprecation warning is in place (see NEWS).
+ * Moved initramfs hook and script into the package, and switched it to mdadm
+ (from mdadm. Thanks to Stephen Frost for his help (closes: Bug#354144).
+ This should make sure that the right minor numbers are chosen during boot
+ (mainly because mdadm takes care of it all) (closes: Bug#361408).
+ * Removing mdrun from the udeb (d-i patch submitted to debian-boot mailing
+ list)
+ * Upstream links against openssl for SHA1 support (homehost feature), which
+ is a problem. An internal SHA1 implementation is provided, however, so
+ I just link against that.
+ * Switched init.d scripts to use LSB-compliant output.
+ * Enhanced init.d script output.
+
+ -- martin f. krafft <madduck@debian.org> Thu, 1 Jun 2006 02:20:22 +0200
+
+mdadm (2.4.1-2) unstable; urgency=low
+
+ * The "this took way longer than I thought" release.
+ * Migrating to unstable.
+ * If the init.d script creates the mdadm.conf file, it should remove it on
+ purge. To accomplish this, I create a semaphore in /var/lib/mdadm if it
+ was generated, and only remove the conffile on purge if the semaphore
+ exists.
+ * Added a little helper /usr/share/mdadm/mkconf to aid generation of
+ configuration file.
+ * Added a bug script to collect some important information when the user
+ uses Debian bug reporting tools (such as reportbug).
+ * Added a debian/watch file.
+
+ -- martin f. krafft <madduck@debian.org> Wed, 31 May 2006 23:07:48 +0200
+
+mdadm (2.4.1-1) experimental; urgency=low
+
+ * The "I'll kill that maintainer... uh, wait, it's me" release. Sorry for
+ the delay, here's the long awaited new upstream release (closes:
+ Bug#337903, Bug#363592), which gets rid of a bunch of functionality bugs:
+ - reiserfs size does not overflow anymore (closes: Bug#318230)
+ - fixed typos in manpages (closes: Bug#352798)
+ Oh, and we're moving away from that arch nightmare too. Sorry for the
+ confusion.
+ * Experimental release, because I really don't want to be responsible for
+ data loss. Though I am quite sure that the upgrade is painless, I also
+ don't have access to 18 drive RAID 10 with multipath on s390 or similar
+ arrangements.
+ * We now make the /dev/md* devices in postinst unless /dev/md15 exists (no
+ longer checking for /dev/md0), or unless devfs is in use. If udev is used,
+ /dev/md15 will only exist in complex setups, so the devices will be made
+ in /dev/.static by MAKEDEV, which is not really a concern. I opted against
+ unconditionally calling MAKEDEV until #367407 is fixed so as to preserve
+ custom permissions or owner settings. This also acknowledges the NMU
+ (#299623).
+ closes: Bug#310247, Bug#299623
+ * Patched some of the code to make mdadm honour /etc/mdadm/mdadm.conf over
+ /etc/mdadm.conf (see NEWS).
+ * Fixed a couple of typos in the mdadm(8) manpage; thanks to Reuben Thomas.
+ closes: Bug#345669, Bug#345667
+ * Pushed Standards-Version to 3.7.2; no changes required.
+ * Updated Debconf translations:
+ - Vietnamese by Clytie Siddall (closes: Bug#323950)
+ - Czech by Miroslav Kure (closes: Bug#360290)
+ - Russian by Yuri Kozlov (closes: Bug#361116)
+ - French by Eric Madesclair (closes: Bug#323988)
+ * Added new Debconf translations:
+ - Swedish by Daniel Nylander (closes: Bug#333486)
+ - Dutch by Frans Pop (closes: Bug#344714)
+
+ -- martin f. krafft <madduck@debian.org> Tue, 16 May 2006 18:21:36 -0500
+
+mdadm (1.12.0-1) unstable; urgency=low
+
+ * New upstream release.
+ (obsoletes branches: symlinks)
+ (reduces branches: gcc4signedness, debian, autoscan)
+ * Fixed typo in mdadm.conf(5) manpage (closes: Bug#321152).
+
+ -- martin f. krafft <madduck@debian.org> Sun, 24 Jul 2005 19:20:01 +0200
+
+mdadm (1.9.0-5) unstable; urgency=low
+
+ * martin f. krafft: (the, "look ma', we're maintained in arch now!" release)
+ (no functional differences except for added/updated translations)
+ - Acknowledge NMU by Steve Langasek; thanks! (closes: Bug#299623)
+ - split diff.gz into different arch branches (see debian/arch-branches).
+ - debian/control:
+ - Changed maintainer to pkg-mdadm-devel.
+ - Reworded some of the descriptions (closes: Bug#304170).
+ - Pushed Standards-Version to 3.6.2.1; no changes needed.
+ - fixed po-debconf integration
+ - debian/rules:
+ - fixed po-debconf integration
+ - l10n changes:
+ - Removed amiguity from debconf template (closes: Bug#312754).
+ - Added Vietnamese debconf translation; thanks to Clytie Siddall!
+ (closes: Bug#312753)
+ - Added Czech debconf translation; thanks to Miroslav Kure! (closes: Bug#319626)
+ - Updated German debconf translation; thanks to Jens Seidel! (closes: Bug#313981)
+ - backported upstream's gcc4 signedness fixes from 1.12.0 (gcc4signedness
+ branch) (closes: Bug#319743).
+
+ -- martin f. krafft <madduck@debian.org> Sun, 24 Jul 2005 17:58:46 +0200
+
+mdadm (1.9.0-4.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * High-urgency upload for sarge-targetted RC bugfix
+ * Make sure error output from MAKEDEV is sent to stderr, to avoid
+ interfering with debconf; this avoids installation problems on
+ udev-using systems. Thanks to Jonas Smedegaard for the patch.
+ Closes: #299623.
+
+ -- Steve Langasek <vorlon@debian.org> Wed, 1 Jun 2005 03:36:42 -0700
+
+mdadm (1.9.0-4) unstable; urgency=high
+
+ * High-urgency upload for sarge targeted RC bugfix.
+ * mdrun: replaced invocation of /usr/bin/seq with hard-coded sequence
+ (closes: Bug#310671).
+
+ -- martin f. krafft <madduck@debian.org> Wed, 25 May 2005 09:51:41 +0200
+
+mdadm (1.9.0-3) unstable; urgency=high
+
+ * High-urgency upload for sarge targeted RC bugfix.
+ * Applied patch by Peter Samuelson <peter@p12n.org>, which causes mdadm to
+ follow symlinks of device nodes (closes: #274859, #310412, #310492).
+ * Added myself as co-maintainer as per agreement with Mario Joussen.
+
+ -- martin f. krafft <madduck@debian.org> Tue, 24 May 2005 00:03:49 +0200
+
+mdadm (1.9.0-2.3) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * Do not prevent postinst node creation when udev is being used; MAKEDEV
+ puts files into /dev/.static/dev with udev, which is needed so that device
+ nodes will be there even if udev is removed. Sorry for letting this slip
+ my mind and thanks to Steve Langasek for spotting this error.
+ * Leaving urgency at high to make sarge.
+
+ -- martin f. krafft <madduck@debian.org> Sun, 22 May 2005 19:35:04 +0200
+
+mdadm (1.9.0-2.2) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * High-urgency upload for sarge targeted RC bugfix.
+ * Move mdadm-raid back to S25 as it needs to run after modules have been
+ loaded at S20 (see followups to #294404, #301560).
+ * Verified that Steve Langasek's patch to config.c (see item 4 of the
+ 1.9.0-2.1 changelog) is necessary for `mdadm -A -s` to work.
+ (closes: #301560)
+ * Integrated patch by Erik van Konijnenburg to fix mdadm's --auto
+ option in the presence of --scan.
+ (closes: #294404, #273182, #284028, #310126).
+ * Modified mdrun to call mdadm with --auto in assembly mode. Removed code
+ which would auto-create 24 device nodes during system startup when udev
+ was used.
+ * Fixed next_free_md function in mdrun to iterate all 24 nodes instead of
+ using some fragile shell globbing, which did not work anyway.
+ * Prevent postinst node creation when udev is being used.
+ * Added a README.udev file to /usr/share/doc/mdadm.
+
+ -- martin f. krafft <madduck@debian.org> Sun, 22 May 2005 12:57:56 +0200
+
+mdadm (1.9.0-2.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * High-urgency upload for sarge targetted RC bugfix.
+ * Start mdadm-raid before udev on boot-up, so that mdadm device node
+ creation is honored, and support changing the init script ordering
+ on upgrades (closes: #294404).
+ * Fix mdadm --scan to prefer the values contained in /proc/partitions,
+ instead of picking up device node names at random from /dev.
+ * Teach mdrun to look at /dev/.static/dev instead of /.dev for udev
+ mounts requiring autostart (closes: #301560).
+
+ -- Steve Langasek <vorlon@debian.org> Sun, 27 Mar 2005 21:59:12 -0800
+
+mdadm (1.9.0-2) unstable; urgency=low
+
+ * Patched is_standard() to accept /dev/md/* names as standard.
+ Thanks to Colin Watson <cjwatson@debian.org>.
+ (closes: Bug#296794)
+ * Added another typecast to make it compilable on amd64 with gcc-4.0.
+ Thanks to Andreas Jochens <aj@andaco.de>.
+ (closes: Bug#294217)
+ * Removed unnecessary second assignment to $BASE in mdrun.
+ Thanks to Colin Watson <cjwatson@debian.org>.
+ (closes: Bug#295433)
+
+ -- Mario Joussen <joussen@debian.org> Sun, 6 Mar 2005 14:22:24 +0100
+
+mdadm (1.9.0-1) unstable; urgency=high
+
+ * New upstream release.
+ Solves problems with same UUID for each array.
+ Again a stable upstream version.
+ (closes: Bug#292282, Bug#293406, Bug#292784, Bug#290363, Bug#292715)
+ * Added some typecasts to make it compilable on amd64 with gcc-4.0.
+ Thanks to Andreas Jochens <aj@andaco.de>.
+ (closes: Bug#287638)
+
+ -- Mario Joussen <joussen@debian.org> Sun, 6 Feb 2005 12:25:03 +0100
+
+mdadm (1.8.1-1) unstable; urgency=low
+
+ * New upstream release.
+ Fixed segfault if no config file present and --scan is used.
+ (closes: Bug#283425, Bug#282604, Bug#284024)
+ * Fixed typo in detailed help of grow mode.
+ (closes: Bug#286980)
+ * Added japanese debconf translation. Thanks to Hideki Yamane
+ <henrich@samba.gr.jp>.
+ (closes: Bug#281073)
+ * Fixed missing variable initialization causing segfaults.
+
+ -- Mario Joussen <joussen@debian.org> Sun, 26 Dec 2004 14:44:31 +0100
+
+mdadm (1.7.0-2) unstable; urgency=high
+
+ * Changed debconf script to save the settings from the config file.
+ Thanks to Fabio Massimo Di Nitto <fabbione@fabbione.net> and
+ Frank Lichtenheld <djpig@debian.org> for the patch.
+ (closes: Bug#274208)
+ * Moved try to load md module inside the AUTOSTART if branch in
+ /etc/init.d/mdadm.
+ * Removed try to load md module from /etc/init.d/mdadm-raid.
+
+ -- Mario Joussen <joussen@debian.org> Sun, 24 Oct 2004 19:48:06 +0200
+
+mdadm (1.7.0-1) unstable; urgency=low
+
+ * New upstream release.
+ (closes: Bug#267814)
+
+ -- Mario Joussen <joussen@debian.org> Sun, 12 Sep 2004 20:48:33 +0200
+
+mdadm (1.6.0-3) unstable; urgency=high
+
+ * Added 'Conflicts: raidtools2 (<< 1.00.3-12.1)' because these packages
+ contain a mdrun.8 man page also.
+ (closes: Bug#268634, Bug#266527)
+ * Updated the french translation.
+ Thanks to Eric <eric-m@wanadoo.fr>
+ (closes: Bug#266251)
+
+ -- Mario Joussen <joussen@debian.org> Sat, 28 Aug 2004 18:23:17 +0200
+
+mdadm (1.6.0-2) unstable; urgency=low
+
+ * Included version 0.97 of "Debian Software Root Raid Documentation".
+ * Now mdrun is only used if no mdadm.conf is present.
+ Thanks to Thomas Prokosch <7nrmi1s02@sneakemail.com>.
+ (closes: Bug#264059)
+ * Added man page for mdrun.
+ Thanks to Robert Collins <robertc@robertcollins.net>.
+ (closes: Bug#265480)
+ * Moved /etc/mdadm/debian.conf to /etc/default/mdadm.
+ (closes: Bug#254922)
+ * Added a little workaround to mdrun to interact better with udev.
+ Thanks to Fabio Massimo Di Nitto <fabbione@fabbione.net>.
+ (closes: Bug#259491)
+ * Updated Brazilian Portuguese translation.
+ Thanks to Andre Luis Lopes <andrelop@debian.org>.
+ (closes: Bug#264220)
+
+ -- Mario Joussen <joussen@debian.org> Mon, 16 Aug 2004 22:10:59 +0200
+
+mdadm (1.6.0-1) unstable; urgency=low
+
+ * New upstream release.
+ Detect degraded arrays in --monitor mode now.
+ (closes: Bug#257357)
+ * Changed default to autostart RAID array.
+ (closes: Bug#250792)
+ * Fixed mdrun problem with kernel 2.6.
+ Thanks to Andre Tomt <andre@tomt.net> and Fabio Massimo Di Nitto
+ <fabbione@fabbione.net>
+ (closes: Bug#231823)
+ * Changed reuse warning to be less misleading.
+ (closes: Bug#253339)
+
+ -- Mario Joussen <joussen@debian.org> Tue, 20 Jul 2004 21:40:33 +0200
+
+mdadm (1.5.0-2) unstable; urgency=low
+
+ * Added french debconf template.
+ Thanks to Eric Madesclair <eric-m@wanadoo.fr>.
+ (closes: Bug#231968)
+
+ -- Mario Joussen <joussen@debian.org> Tue, 4 May 2004 21:29:19 +0200
+
+mdadm (1.5.0-1) unstable; urgency=low
+
+ * New upstream release.
+ * Rewrote debconf templates to avoid referring to debconf interface
+ widgets.
+ (closes: Bug#231221)
+ * Removed manual scan for RAID devices from init script.
+ (closes: Bug#233122, Bug#236762)
+ * Added creation of an udeb package.
+ (closes: Bug#243609)
+ * Added "Debian Software Root Raid Documentation".
+ Thanks to Lucas Albers <albersl@cs.montana.edu>.
+
+ -- Mario Joussen <joussen@debian.org> Sun, 25 Apr 2004 16:16:06 +0200
+
+mdadm (1.4.0-3) unstable; urgency=low
+
+ * Updated to standards version 3.6.1.0 and debhelper 4.
+ * Corrected definition of BLKGETSIZE64 macro to compile with the
+ 2.6 kernel headers.
+ (closes: Bug#223191)
+ * Swichted to po-debconf to provide localized debconf templates.
+ (closes: Bug#225288)
+
+ -- Mario Joussen <joussen@debian.org> Sun, 1 Feb 2004 19:30:53 +0100
+
+mdadm (1.4.0-2) unstable; urgency=low
+
+ * Corrected human readable size calculation.
+ (closes: Bug#225041)
+ * Added a warning about reusing hard disks and using the autostart
+ feature.
+ (closes: Bug#223790)
+
+ -- Mario Joussen <joussen@debian.org> Thu, 25 Dec 2003 19:52:57 +0100
+
+mdadm (1.4.0-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Mario Joussen <joussen@debian.org> Sun, 7 Dec 2003 19:39:27 +0100
+
+mdadm (1.3.0-2) unstable; urgency=low
+
+ * Added upstream changelog to package.
+
+ -- Mario Joussen <joussen@debian.org> Tue, 12 Aug 2003 21:51:59 +0200
+
+mdadm (1.3.0-1) unstable; urgency=low
+
+ * New upstream release.
+ (closes: Bug#191561, Bug#200921)
+
+ -- Mario Joussen <joussen@debian.org> Thu, 31 Jul 2003 20:59:20 +0200
+
+mdadm (1.2.0-1) unstable; urgency=low
+
+ * New upstream release. (closes: Bug#183191)
+ * New version of mdrun that works properly with devfs and temporary
+ device directory.
+ (closes: Bug#182035)
+ * Added 'Conflicts: raidtools' because of a name clash with mdrun.
+ (closes: Bug#182960)
+
+ -- Mario Joussen <joussen@debian.org> Sun, 16 Mar 2003 13:32:45 +0100
+
+mdadm (1.0.1-4) unstable; urgency=low
+
+ * Changed mdrun so that it can deal with partition statistics in
+ /proc/partitions.
+ (closes: Bug#174000, Bug#175130)
+ * Added russian (ru) debconf template translation. Thanks to Sergey
+ Spiridonov <sena@hurd.homeunix.org>.
+
+ -- Mario Joussen <joussen@debian.org> Sun, 5 Jan 2003 13:14:45 +0100
+
+mdadm (1.0.1-3) unstable; urgency=low
+
+ * Fixed a bug in mdrun. (closes: Bug#167607)
+
+ -- Mario Joussen <joussen@debian.org> Mon, 11 Nov 2002 07:53:23 +0100
+
+mdadm (1.0.1-2) unstable; urgency=low
+
+ * Fixed typo in help option. (closes: Bug#151533)
+ * Added a script that discovers and assembles all arrays automatically.
+ Thanks to Eduard Bloch <blade@debian.org>.
+ (closes: Bug#161699)
+
+ -- Mario Joussen <joussen@debian.org> Fri, 1 Nov 2002 13:46:47 +0100
+
+mdadm (1.0.1-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Mario Joussen <joussen@debian.org> Thu, 30 May 2002 14:01:22 +0200
+
+mdadm (0.8.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Splitted up mdadm.templates in one file for each language.
+ * Added brazilian portuguese (pt_BR) debconf template translation.
+ Thanks to Andre Luis Lopes <andrelop@ig.com.br>.
+ (closes: Bug#141540)
+
+ -- Mario Joussen <joussen@debian.org> Thu, 18 Apr 2002 19:31:00 +0200
+
+mdadm (0.7.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * 'mdctl' was renamed to 'mdadm' upstream.
+ * Removed question about updating mdctl init script links.
+
+ -- Mario Joussen <joussen@debian.org> Sat, 23 Mar 2002 02:50:51 +0100
+
+mdctl (0.5-4) unstable; urgency=low
+
+ * Added debconf template to ask the user if the init script links
+ should be updated.
+
+ -- Mario Joussen <joussen@debian.org> Mon, 4 Mar 2002 22:53:37 +0100
+
+mdctl (0.5-3) unstable; urgency=low
+
+ * Splitted up init script in two parts. One starts the md array and the
+ other starts the raid monitor daemon.
+ (closes: Bug#136184)
+
+ -- Mario Joussen <joussen@debian.org> Thu, 28 Feb 2002 22:45:57 +0100
+
+mdctl (0.5-2) unstable; urgency=low
+
+ * Included optimization in Makefile
+ (closes: Bug#127687)
+ * Removed Conflicts/Replaces/Provides: mdutils
+ (closes: Bug#127684, Bug#127719)
+ * Added an init script, which can start md arrays and the raid monitor
+ daemon
+ * MD devices are now created under /dev if necessary
+ * Added a sample configuration file
+
+ -- Mario Joussen <mario@joussen.org> Sun, 13 Jan 2002 23:43:40 +0100
+
+mdctl (0.5-1) unstable; urgency=low
+
+ * Initial Release.
+ (closes: Bug#126610)
+
+ -- Mario Joussen <mario@joussen.org> Wed, 26 Dec 2001 17:07:09 +0100
diff --git a/debian/checkarray b/debian/checkarray
new file mode 100644
index 00000000..2194a54e
--- /dev/null
+++ b/debian/checkarray
@@ -0,0 +1,179 @@
+#!/bin/sh
+#
+# checkarray -- initiates a check run of an MD array's redundancy information.
+#
+# Copyright © martin f. krafft <madduck@debian.org>
+# distributed under the terms of the Artistic Licence 2.0
+#
+set -eu
+
+PROGNAME=${0##*/}
+
+about()
+{
+ echo "$PROGNAME -- MD array (RAID) redundancy checker tool"
+ echo '$Id$'
+ echo "Copyright © martin f. krafft <madduck@debian.org>"
+ echo "Released under the terms of the Artistic Licence 2.0"
+}
+
+usage()
+{
+ about
+ echo
+ echo "Usage: $PROGNAME [options] [arrays]"
+ echo
+ echo "Valid options are:"
+ cat <<-_eof | column -s\& -t
+ -a|--all & check all assembled arrays (check /proc/mdstat).
+ -c|--cron & honour AUTOCHECK setting in /etc/default/mdadm.
+ -s|--status & print redundancy check status of devices.
+ -x|--cancel & queue a request to cancel a running redundancy check.
+ -q|--quiet & suppress informational messages.
+ -Q|--real-quiet & suppress all output messages, including warnings and errors.
+ -h|--help & show this output.
+ -V|--version & show version information.
+ _eof
+ echo
+ echo "Examples:"
+ echo " $PROGNAME --all"
+ echo " $PROGNAME --quiet /dev/md[123]"
+ echo " $PROGNAME -sa"
+ echo " $PROGNAME -x --all"
+ echo
+ echo "Devices can be specified in almost any format. The following are"
+ echo "all equivalent:"
+ echo " /dev/md0, md0, /dev/md/0, /sys/block/md0"
+ echo
+ echo "The --all option overrides all arrays passed to the script."
+ echo
+ echo "You can also control the status of a check with /proc/mdstat ."
+}
+
+SHORTOPTS=achVqQsx
+LONGOPTS=all,cron,help,version,quiet,real-quiet,status,cancel
+
+eval set -- $(getopt -o $SHORTOPTS -l $LONGOPTS -n $PROGNAME -- "$@")
+
+arrays=''
+cron=0
+all=0
+quiet=0
+status=0
+action=check
+
+for opt in $@; do
+ case "$opt" in
+ -a|--all) all=1;;
+ -c|--cron) cron=1;;
+ -s|--status) action=status;;
+ -x|--cancel) action=idle;;
+ -h|--help) usage; exit 0;;
+ -q|--quiet) quiet=1;;
+ -Q|--real-quiet) quiet=2;;
+ -V|--version) about; exit 0;;
+ /dev/md/*|md/*) arrays="${arrays:+$arrays }md${opt#*md/}";;
+ /dev/md*|md*) arrays="${arrays:+$arrays }${opt#/dev/}";;
+ /sys/block/md*) arrays="${arrays:+$arrays }${opt#/sys/block/}";;
+ --) :;;
+ *) echo "$PROGNAME: E: invalid option: $opt" >&2; usage >&2; exit 0;;
+ esac
+done
+
+is_true()
+{
+ case "${1:-}" in
+ [Yy]es|[Yy]|1|[Tt]rue|[Tt]) return 0;;
+ *) return 1;
+ esac
+}
+
+DEBIANCONFIG=/etc/default/mdadm
+[ -r $DEBIANCONFIG ] && . $DEBIANCONFIG
+if [ $cron = 1 ] && ! is_true ${AUTOCHECK:-false}; then
+ [ $quiet -lt 1 ] && echo "$PROGNAME: I: disabled in $DEBIANCONFIG ." >&2
+ exit 0
+fi
+
+if [ ! -f /proc/mdstat ]; then
+ [ $quiet -lt 2 ] && echo "$PROGNAME: E: MD subsystem not loaded, or /proc unavailable." >&2
+ exit 2
+fi
+
+if [ ! -d /sys/block ]; then
+ [ $quiet -lt 2 ] && echo "$PROGNAME: E: /sys filesystem not available." >&2
+ exit 7
+fi
+
+if [ -z "$(ls /sys/block/md* 2>/dev/null)" ]; then
+ if [ $quiet -lt 2 ] && [ $cron != 1 ]; then
+ echo "$PROGNAME: W: no active MD arrays found." >&2
+ echo "$PROGNAME: W: (maybe uninstall the mdadm package?)" >&2
+ fi
+ exit 5
+fi
+
+if [ -z "$(ls /sys/block/md*/md/level 2>/dev/null)" ]; then
+ [ $quiet -lt 2 ] && echo "$PROGNAME: E: kernel too old, no support for redundancy checks." >&2
+ exit 6
+fi
+
+if ! egrep -q '^raid([1456]|10)$' /sys/block/md*/md/level 2>/dev/null; then
+ [ $quiet -lt 1 ] && echo "$PROGNAME: I: no redundant arrays present; skipping checks..." >&2
+ exit 0
+fi
+
+if [ -z "$(ls /sys/block/md*/md/sync_action 2>/dev/null)" ]; then
+ [ $quiet -lt 2 ] && echo "$PROGNAME: E: no kernel support for redundancy checks." >&2
+ exit 3
+fi
+
+[ $all = 1 ] && arrays="$(ls -d1 /sys/block/md* | cut -d/ -f4)"
+
+for array in $arrays; do
+ SYNC_ACTION_CTL=/sys/block/$array/md/sync_action
+
+ if [ ! -e $SYNC_ACTION_CTL ]; then
+ [ $quiet -lt 1 ] && echo "$PROGNAME: I: skipping non-redundant array $array." >&2
+ continue
+ fi
+
+ cur_status="$(cat $SYNC_ACTION_CTL)"
+
+ if [ $action = status ]; then
+ echo "$array: $cur_status"
+ continue
+ fi
+
+ if [ ! -w $SYNC_ACTION_CTL ]; then
+ [ $quiet -lt 2 ] && echo "$PROGNAME: E: $SYNC_ACTION_CTL not writeable." >&2
+ exit 4
+ fi
+
+ if [ "$(cat /sys/block/$array/md/array_state)" = 'read-auto' ]; then
+ echo "$PROGNAME: W: array $array in auto-read-only state, skipping..." >&2
+ continue
+ fi
+
+ case "$action" in
+ idle)
+ echo $action > $SYNC_ACTION_CTL
+ [ $quiet -lt 1 ] && echo "$PROGNAME: I: cancel request queued for array $array." >&2
+ ;;
+
+ check)
+ if [ "$cur_status" != idle ]; then
+ [ $quiet -lt 2 ] && echo "$PROGNAME: W: array $array not idle, skipping..." >&2
+ continue
+ fi
+
+ # queue request for the array. The kernel will make sure that these requests
+ # are properly queued so as to not kill one of the array.
+ echo $action > $SYNC_ACTION_CTL
+ [ $quiet -lt 1 ] && echo "$PROGNAME: I: check queued for array $array." >&2
+ ;;
+ esac
+
+done
+
+exit 0
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 00000000..1e8b3149
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+6
diff --git a/debian/control b/debian/control
new file mode 100644
index 00000000..bbce25c8
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,34 @@
+Source: mdadm
+Section: admin
+Priority: optional
+Maintainer: Debian mdadm maintainers <pkg-mdadm-devel@lists.alioth.debian.org>
+Uploaders: martin f. krafft <madduck@debian.org>
+Build-Depends: debhelper (>= 6.0.7~), po-debconf, groff-base, docbook-to-man, quilt
+Standards-Version: 3.8.1
+Vcs-Git: git://git.debian.org/git/pkg-mdadm/mdadm
+Vcs-Browser: http://git.debian.org/?p=pkg-mdadm/mdadm.git
+Homepage: http://neil.brown.name/blog/mdadm
+
+Package: mdadm
+Architecture: any
+Depends: ${shlibs:Depends}, udev | makedev, ${misc:Depends}, lsb-base (>= 3.1-6), debconf (>= 1.4.72)
+Recommends: default-mta | mail-transport-agent, module-init-tools
+Replaces: mdctl
+Conflicts: mdctl (<< 0.7.2), raidtools2 (<< 1.00.3-12.1), initramfs-tools (<< 0.65)
+Description: tool to administer Linux MD arrays (software RAID)
+ The mdadm utility can be used to create, manage, and monitor MD
+ (multi-disk) arrays for software RAID or multipath I/O.
+ .
+ This package automatically configures mdadm to assemble arrays during the
+ system startup process. If not needed, this functionality can be disabled.
+
+Package: mdadm-udeb
+Section: debian-installer
+XC-Package-Type: udeb
+Architecture: any
+Depends: ${shlibs:Depends}
+Description: tool to administer Linux MD arrays (software RAID)
+ The mdadm utility can be used to create, manage, and monitor MD
+ (multi-disk) arrays for software RAID or multipath I/O.
+ .
+ This is a minimal package used by the debian-installer.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 00000000..371947a4
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,21 @@
+This package was debianized by Mario Jou/3en <joussen@debian.org> on
+Wed, 26 Dec 2001 17:07:09 +0100.
+Martin F. Krafft <madduck@debian.org> took over on
+Tue, 16 May 2006 13:21:06 -0500
+
+The mdadm source was downloaded from
+ http://www.kernel.org/pub/linux/utils/raid/mdadm/
+
+Upstream Author: Neil Brown <neilb@cse.unsw.edu.au>
+
+Copyright © 2001-2006 Neil Brown <neilb@cse.unsw.edu.au>
+Packaging copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
+Packaging copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+On Debian GNU/Linux systems, the complete text of the GNU General
+Public License can be found in '/usr/share/common-licenses/GPL'.
diff --git a/debian/initramfs/hook b/debian/initramfs/hook
new file mode 100644
index 00000000..6e6066dc
--- /dev/null
+++ b/debian/initramfs/hook
@@ -0,0 +1,298 @@
+#!/bin/sh
+#
+# Copyright © 2006-2008 Martin F. Krafft <madduck@debian.org>
+# based on the scripts in the initramfs-tools package.
+# released under the terms of the Artistic Licence.
+#
+set -eu
+
+PREREQ=
+prereqs()
+{
+ echo "$PREREQ"
+}
+
+case "${1:-}" in
+ prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+is_true()
+{
+ case "${1:-}" in
+ [Yy]es|[Yy]|1|[Tt]rue|[Tt]) return 0;;
+ *) return 1;;
+ esac
+}
+
+write()
+{
+ local PREFIX; PREFIX=$1; shift
+ echo "${PREFIX}: mdadm: $@" >&2
+}
+
+info()
+{
+ is_true ${VERBOSE:-false} && write I "$@" || :
+}
+
+warn()
+{
+ write W "$@"
+}
+
+err()
+{
+ write E "$@"
+}
+
+if [ -e /usr/share/initramfs-tools/hooks/md ]; then
+ warn "initramfs md hook still present, stepping out of its way."
+ warn "Please see /usr/share/doc/mdadm/README.initramfs-transition ."
+ exit 0
+fi
+
+if [ -e /etc/initramfs-tools/hooks/md ]; then
+ warn "I found /etc/initramfs-tools/hooks/md, which may conflict"
+ warn "with this version of mdadm. Please use"
+ warn "/usr/share/initramfs-tools/hooks/mdadm as reference and update"
+ warn "(or remove) the file."
+ exit 0
+fi
+
+MDADM=/sbin/mdadm
+[ -x "$MDADM" ] || exit 0
+
+[ -r /usr/share/initramfs-tools/hook-functions ] || exit 0
+. /usr/share/initramfs-tools/hook-functions
+
+# copy the binary as early as possible
+copy_exec $MDADM /sbin
+
+# copy all modules into the initramfs, just for safety.
+# we copy raid456 / raid5+raid6 because the hook script just won't do
+# anything when the module cannot be found.
+modules="linear multipath raid0 raid1 raid456 raid5 raid6 raid10"
+for mod in $modules; do manual_add_modules $mod; done
+
+# read in the configuration
+CONFIG=/etc/mdadm/mdadm.conf
+ALTCONFIG=/etc/mdadm.conf
+[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG || :
+
+DEBIANCONFIG=/etc/default/mdadm
+INITRDSTART=all
+[ -s $DEBIANCONFIG ] && . $DEBIANCONFIG
+[ -z "$INITRDSTART" ] && INITRDSTART=none
+
+DESTMDADMCONF=$DESTDIR/etc/mdadm/mdadm.conf
+DESTCONFIG=$DESTDIR/conf/conf.d/md
+
+# save the homehost for now, even if we don't use it yet
+if [ -f $CONFIG ]; then
+ homehost="$(sed -ne 's,^[[:space:]]*HOMEHOST[[:space:]]*,,p' $CONFIG)"
+fi
+if [ -z "${homehost:-}" ] || [ "${homehost:-}" = '<system>' ]; then
+ homehost="$(hostname)"
+fi
+echo "MD_HOMEHOST='$homehost'" > $DESTCONFIG
+
+install_config()
+{
+ # install the configuration file
+ mkdir -p ${2%/*}
+ # only copy ARRAY and DEVICE lines, and merge continuation lines into one
+ sed -e :a -re '$!N;s/\n[[:space:]]+/ /;ta' -ne '/^(ARRAY|DEVICE)/P;D' $1 > $2
+}
+
+if [ ! -f $CONFIG ]; then
+ # there is no configuration file, so let's create one
+
+ if /usr/share/mdadm/mkconf generate $CONFIG; then
+ # all is well
+ install_config $CONFIG $DESTMDADMCONF
+ info "auto-generated the mdadm.conf configuration file."
+ else
+ # we failed to auto-generate, so let the emergency procedure take over
+ warn "failed to auto-generate the mdadm.conf file."
+ warn "please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz ."
+ fi
+
+else
+
+ use_temp=0
+ if [ -e /var/lib/mdadm/CONF-UNCHECKED ]; then
+ # the file comes from an old installation and hence is not guaranteed to
+ # work. We thus better create one and start all arrays to be sure.
+
+ warn "unchecked configuration file: $CONFIG"
+ warn "please read /usr/share/doc/mdadm/README.upgrading-2.5.3.gz ."
+
+ use_temp=1
+ elif ! grep -q '^ARRAY' $CONFIG; then
+ # the file defines no ARRAYs. We better create a temporary file to be
+ # sure.
+
+ warn "$CONFIG defines no arrays."
+ use_temp=1
+
+ else
+ # this is the ideal case
+ install_config $CONFIG $DESTMDADMCONF
+ info "using configuration file: $CONFIG"
+ fi
+
+ if [ $use_temp -eq 1 ]; then
+ mkdir --parents ${DESTMDADMCONF%/*}
+ tmpfile="${DESTMDADMCONF}.tmp"
+ if /usr/share/mdadm/mkconf > $tmpfile; then
+ # all is well, we now have a temporary configuration file
+ info "auto-generated temporary mdadm.conf configuration file."
+ install_config $tmpfile $DESTMDADMCONF
+ else
+ # stuff's really broke, as we failed to generate a temporary file.
+ # let's hope the unchecked file works, provided it contains at least one
+ # ARRAY statement...
+ warn "failed to auto-generate temporary mdadm.conf file."
+ if grep -q '^ARRAY' $CONFIG; then
+ warn "using the unchecked file and hoping for the best..."
+ install_config $CONFIG $DESTMDADMCONF
+ fi
+ fi
+ rm -f $tmpfile
+ fi
+
+fi
+
+# if at this point, $DESTMDADMCONF does not exist or it does not contain any
+# ARRAY statements, we must let the initramfs handle stuff.
+if [ ! -f $DESTMDADMCONF ]; then
+ warn "no configuration file available."
+ info "letting initramfs assemble auto-detected arrays."
+ exit 0
+elif ! grep -q '^ARRAY' $DESTMDADMCONF; then
+ warn "no arrays defined in configuration file."
+ info "letting initramfs assemble auto-detected arrays."
+ exit 0
+else
+ # obtain dev:level pairs from config file, honouring multiline entries
+ devpairs="$(
+ while read line; do
+ case "$line" in
+ (ARRAY*) :;;
+ (*) continue;;
+ esac
+ for atom in $line; do
+ case "$atom" in
+ (/dev*) dev=$atom;;
+ (level=raid*|level=linear|level=multipath) level=${atom#level=};;
+ (level=*)
+ err "invalid level specified in ARRAY statement in $CONFIG:"
+ err " $line"
+ err "levels should be either raid*, linear, or multipath."
+ warn "falling back to emergency procedure in initramfs."
+ exit 1
+ ;;
+ (*) :;;
+ esac
+ done
+ [ -n "${dev:-}" ] || continue
+ echo -n "${dev}:"
+ if [ -n "${level:-}" ]; then
+ echo -n "$level"
+ else
+ echo -n "$($MDADM --detail $dev | sed -rne 's,[[:space:]]+Raid Level : ,,p')"
+ fi
+ echo -n ' '
+ done < $DESTMDADMCONF)" || exit $?
+fi
+
+uniquify()
+{
+ for i in $@; do echo "$i"; done | sort -u
+}
+
+if [ "$INITRDSTART" != none ] && [ -n "$devpairs" ]; then
+ echo "MD_DEVPAIRS='${devpairs% }'" >> $DESTCONFIG
+
+ devs= levels=
+ for i in $devpairs; do
+ dev=${i%:*}
+ level=${i##*:}
+ case "$INITRDSTART" in
+ all|*${dev}*)
+ devs="${devs:+$devs }$dev"
+ levels="${levels:+$levels }$level"
+ ;;
+ *) :;;
+ esac
+ done
+
+ # see if /etc/mdadm/mdadm.conf looks like it's missing devices
+ $MDADM --detail --scan | while read array device rubbish; do
+ if ! echo $devpairs | grep -qw $device; then
+ warn "You appear to be missing $device from /etc/mdadm/mdadm.conf !"
+ warn "If this array is required to boot, you must add the following line:"
+ rubbish=`echo $rubbish | sed 's/metadata=[^ ]* //'`
+ warn "$array $device $rubbish"
+ fi
+ done
+
+ for i in $INITRDSTART; do
+ case "$INITRDSTART" in all|none|'') break;; *) :;; esac
+ case "$devs" in
+ *${i}*) continue;;
+ *) :;;
+ esac
+
+ warn "I am supposed to start $i from the initial ramdisk,"
+ warn "yet I cannot find the array in the configuration file."
+ warn "I am thus reverting to starting all arrays."
+ INITRDSTART=all
+ break
+ done
+
+ echo "MD_LEVELS='$levels'" >> $DESTCONFIG
+ if [ "$INITRDSTART" = all ]; then
+ echo "MD_DEVS=all" >> $DESTCONFIG
+ else
+ echo "MD_DEVS='$devs'" >> $DESTCONFIG
+ fi
+
+ # handle module synonyms
+ modules="$(echo $levels \
+ | sed -re 's,\<[[:digit:]]+\>,raid&,g; # prefix digits with raid
+ s,stripe,raid0,g; # striping is raid0
+ s,mirror,raid1,g; # mirroring is raid1
+ s,raid4,raid5,g; # use raid5 to handle raid4
+ s,mp,multipath,g # mp is multipath
+ ')"
+
+ # if raid456 module is present, use it for raid[456]
+ modprobe --set-version="$version" --show-depends raid456 >/dev/null 2>&1 \
+ && modules="$(echo $modules | sed -e 's,raid[456],raid456,g')"
+
+ modules="$(uniquify $modules | tr '\n' ' ')"
+ echo "MD_MODULES='${modules% }'" >> $DESTCONFIG
+
+ if [ "$INITRDSTART" = all ]; then
+ info "will start all available MD arrays from the initial ramdisk."
+ else
+ for i in $devs; do
+ info "will start MD array $i from the initial ramdisk."
+ done
+ fi
+
+else
+ echo "MD_DEVS=none" >> $DESTCONFIG
+ echo "MD_MODULES=''" >> $DESTCONFIG
+ info "no MD arrays will be started from the initial ramdisk."
+fi
+
+# only output this on Debian systems
+[ -s /etc/default/mdadm ] && \
+ info 'use `dpkg-reconfigure --priority=low mdadm` to change this.'
+
+exit 0
diff --git a/debian/initramfs/script.local-top b/debian/initramfs/script.local-top
new file mode 100644
index 00000000..226bb761
--- /dev/null
+++ b/debian/initramfs/script.local-top
@@ -0,0 +1,110 @@
+#!/bin/sh
+#
+# Copyright © 2006-2008 Martin F. Krafft <madduck@debian.org>
+# based on the scripts in the initramfs-tools package.
+# released under the terms of the Artistic Licence.
+#
+set -eu
+
+case ${1:-} in
+ prereqs) echo "multipath"; exit 0;;
+esac
+
+. /scripts/functions
+
+maybe_break pre-mdadm
+
+if [ -e /scripts/local-top/md ]; then
+ log_warning_msg "old md initialisation script found, getting out of its way..."
+ exit 1
+fi
+
+MDADM=/sbin/mdadm
+[ -x "$MDADM" ] || exit 0
+
+verbose()
+{
+ case "$quiet" in y*|Y*|1|t*|T*)
+ return 1;;
+ *)
+ return 0;;
+ esac
+}
+
+MD_DEVS=all
+MD_MODULES='linear multipath raid0 raid1 raid456 raid5 raid6 raid10'
+[ -s /conf/conf.d/md ] && . /conf/conf.d/md
+
+verbose && log_begin_msg Loading MD modules
+for module in ${MD_MODULES:-}; do
+ if modprobe -q "$module"; then
+ verbose && log_success_msg "loaded module ${module}."
+ else
+ log_failure_msg "failed to load module ${module}."
+ fi
+done
+log_end_msg
+
+if [ ! -f /proc/mdstat ]; then
+ verbose && panic "cannot initialise MD subsystem (/proc/mdstat missing)"
+ exit 1
+fi
+
+# handle /dev/md/X nodes
+mkdir -p /dev/md
+
+CONFIG=/etc/mdadm/mdadm.conf
+# in case the hook failed to install a configuration file, this is our last
+# attempt... the "emergency procedure"... <drumroll>
+if [ ! -e $CONFIG ]; then
+ log_warning_msg "missing mdadm.conf file, trying to create one..."
+ mkdir -p ${CONFIG%/*}
+ echo DEVICE partitions > $CONFIG
+ $MDADM --examine --scan >> $CONFIG
+ if [ -s $CONFIG ]; then
+ verbose && log_success_msg "mdadm.conf created."
+ else
+ verbose && log_failure_msg "could not create mdadm.conf, the boot will likely fail."
+ fi
+ MD_DEVS=all
+fi
+
+# prevent writes/syncs so that resuming works (#415441).
+echo 1 > /sys/module/md_mod/parameters/start_ro
+
+if [ "$MD_DEVS" = all ]; then
+
+ verbose && log_begin_msg "Assembling all MD arrays"
+ extra_args=''
+ [ -n "$MD_HOMEHOST" ] && \
+ extra_args="--homehost='$MD_HOMEHOST' --auto-update-homehost"
+ if $MDADM --assemble --scan --run --auto=yes $extra_args; then
+ verbose && log_success_msg "assembled all arrays."
+ else
+ log_failure_msg "failed to assemble all arrays."
+ fi
+ verbose && log_end_msg
+
+elif [ "$MD_DEVS" != none ]; then
+ for dev in $MD_DEVS; do
+
+ verbose && log_begin_msg "Assembling MD array $dev"
+ if $MDADM --assemble --scan --run --auto=yes $dev; then
+ verbose && log_success_msg "started $dev"
+ else
+ log_failure_msg "failed to start $dev"
+ fi
+ verbose && log_end_msg
+
+ done
+fi
+
+if [ -x "$(command -v udevsettle)" ]; then
+ verbose && log_begin_msg "Waiting for udev to process events"
+ udevsettle 10
+ verbose && log_end_msg
+fi
+
+maybe_break post-mdadm
+
+exit 0
diff --git a/debian/mdadm-raid b/debian/mdadm-raid
new file mode 100644
index 00000000..4f242e9f
--- /dev/null
+++ b/debian/mdadm-raid
@@ -0,0 +1,261 @@
+#!/bin/sh
+#
+# Start all arrays specified in the configuration file.
+#
+# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
+# Copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+#
+### BEGIN INIT INFO
+# Provides: mdadm-raid
+# Required-Start: mountkernfs
+# Should-Start: udev devfsd
+# Required-Stop: mountkernfs
+# Should-Stop: udev devfsd
+# Default-Start: S
+# Default-Stop: 0 6
+# Short-Description: MD array assembly
+# Description: This script assembles a system's MD arrays, according to
+# the settings in /etc/mdadm/mdadm.conf and the preferences
+# in /etc/default/mdadm.
+### END INIT INFO
+#
+set -eu
+
+MDADM=/sbin/mdadm
+CONFIG=/etc/mdadm/mdadm.conf
+ALTCONFIG=/etc/mdadm.conf
+DEBIANCONFIG=/etc/default/mdadm
+
+test -x "$MDADM" || exit 0
+
+AUTOSTART=true
+test -f $DEBIANCONFIG && . $DEBIANCONFIG
+
+. /lib/lsb/init-functions
+
+short_dev()
+{
+ local dev; dev=${1##*/}
+ case "$dev" in
+ md*|md_*|mdp*|mdp_*) echo "$dev";;
+ d*) echo "md_${dev}";;
+ *) echo "md${dev}";;
+ esac
+}
+
+log()
+{
+ case "$1" in
+ [[:digit:]]*) success=$1; shift;;
+ *) :;;
+ esac
+ log_action_begin_msg "$1"; shift
+ log_action_end_msg ${success:-0} "$*"
+}
+
+log_dev()
+{
+ success=${1:-}; shift
+ dev=${1:-}; shift
+ log $success "${PREFIX:-} $(short_dev ${dev:-})" "$*"
+}
+
+log_notice()
+{
+ log 0 "${PREFIX:-}s" "$*"
+}
+
+log_problem()
+{
+ log 1 "${PREFIX:-}s" "$*"
+}
+
+is_true()
+{
+ case "${1:-}" in
+ [Yy]es|[Yy]|1|[Tt]rue|[Tt]) return 0;;
+ *) return 1;
+ esac
+}
+
+for dir in /lib/init/rw /dev/shm /dev; do
+ statedir=$dir/.mdadm
+ test -d $statedir && STATEDIR=$statedir && break
+ test -w $dir || continue
+ mkdir $statedir || continue
+ STATEDIR=$statedir
+ break
+done
+
+case "${1:-}" in
+ start)
+ PREFIX="Assembling MD array"
+
+ if is_true $AUTOSTART || is_true ${MDADM_FORCE_AUTOSTART__:-0}; then
+ if [ ! -f /proc/mdstat ] && [ -x "$(command -v modprobe)" ] ; then
+ modprobe -q md 2>/dev/null || :
+ fi
+ if [ ! -f /proc/mdstat ]; then
+ log_problem "failed to load MD subsystem"
+ exit 0
+ fi
+
+ if [ -f $CONFIG ] || [ -f $ALTCONFIG ]; then
+ # handle devfs-style names and version-1 devices
+ # fail gracefully in case we're on a read-only filesystem, in which
+ # case it's safe to assume that the admin knows what s/he's doing.
+ # See (#382876).
+ mkdir --parent /dev/md || :
+
+ # ugly hack because shell sucks
+ IFSOLD=${IFS:-}
+ IFS='
+'
+ for line in $($MDADM --assemble --scan --auto=yes --symlink=no 2>&1); do
+ IFS=$IFSOLD
+ set -- $line
+ shift
+
+ case "$@" in
+
+ 'No arrays found in config file'*)
+ # no point in carrying on.
+ shift
+ log_notice "no $*"
+ exit 0
+ ;;
+
+ 'Unknown keyword'*)
+ # warn only
+ if [ -x $(command -v logger >/dev/null) ]; then
+ logger -t mdadm -p syslog.warning -- "$*"
+ elif [ -w /dev/console ]; then
+ echo "mdadm: $*" > /dev/console
+ else
+ echo "mdadm: $*" >&2
+ fi
+ ;;
+
+ *' is already active.')
+ log_dev 0 $1 "already running"
+ ;;
+
+ *'has been started with '[[:digit:]]*' drive'*' (out of '[[:digit:]]*') and '[[:digit:]]*' spare'*'.')
+ log_dev 0 $1 "initialising [$6/${10%).}]"
+ ;;
+
+ *'has been started with '[[:digit:]]*' drive'*' (out of '[[:digit:]]*').')
+ log_dev 0 $1 "degraded [$6/${10%).}]"
+ ;;
+
+ *'has been started with '[[:digit:]]*' drive'*'.')
+ log_dev 0 $1 "started [$6/$6]"
+ ;;
+
+ *'assembled from '[[:digit:]]*' drive'*' - not enough to start the array.')
+ log_dev 1 $1 "not enough devices"
+ ;;
+
+ 'no devices found for '*)
+ log_dev 1 $5 "no devices found"
+ ;;
+
+ 'failed to RUN_ARRAY '*': Input/output error')
+ log_dev 1 ${4%:} "RUN_ARRAY input/output error"
+ ;;
+
+ *) :;;
+ esac
+ done
+ ret=$?
+
+ log_action_begin_msg "Generating udev events for MD arrays"
+ for uevent in /sys/block/md*/uevent; do
+ sentinel=${uevent#/sys/block/}; sentinel=${sentinel%/uevent}-uevent
+ test -e ${STATEDIR:-/doesnotexist}/$sentinel && continue
+ test -w $uevent || continue
+ echo add > $uevent
+ test -d "${STATEDIR:-}" && : > $STATEDIR/$sentinel
+ done
+ log_action_end_msg 0
+
+ [ $ret -ne 0 ] && exit $ret
+
+ else
+ log_problem "no $CONFIG file"
+ fi
+ else
+ log_notice "disabled in $DEBIANCONFIG"
+ fi
+ ;;
+
+ stop)
+ PREFIX="Stopping MD array"
+
+ if is_true $AUTOSTART; then
+ if [ ! -f /proc/mdstat ]; then
+ log_problem "no MD subsystem loaded"
+ exit 0
+ fi
+
+ # ugly hack because shell sucks
+ IFSOLD=${IFS:-}
+ IFS='
+'
+ set +e
+ for line in $($MDADM --stop --scan 2>&1); do
+ set -e
+ IFS=$IFSOLD
+ set -- $line
+ shift
+
+ case "$@" in
+
+ 'Unknown keyword'*)
+ # warn only
+ if [ -x $(command -v logger >/dev/null) ]; then
+ logger -t mdadm -p syslog.warning -- "$*"
+ elif [ -w /dev/console ]; then
+ echo "mdadm: $*" > /dev/console
+ else
+ echo "mdadm: $*" >&2
+ fi
+ ;;
+
+ 'stopped '*)
+ log_dev 0 $2 stopped
+ ;;
+
+ 'fail to stop array '*': Device or resource busy')
+ log_dev 1 ${5%:} busy
+ ;;
+
+ *) :;;
+ esac
+ done || exit $?
+
+ rm -rf ${STATEDIR:-}
+
+ else
+ log_notice "disabled in $DEBIANCONFIG"
+ fi
+ ;;
+
+ restart|force-reload)
+ ${0:-} stop
+ ${0:-} start
+ ;;
+
+ reload)
+ PREFIX="Reloading MD array"
+ log_notice "never anything to do"
+ ;;
+
+ *)
+ echo "Usage: ${0:-} {start|stop|restart}" >&2
+ exit 1;;
+
+esac
+
+exit 0
diff --git a/debian/mdadm-startall b/debian/mdadm-startall
new file mode 100644
index 00000000..aa947b01
--- /dev/null
+++ b/debian/mdadm-startall
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# startall -- starts all existing arrays after creating mdadm.conf
+# overrides the AUTOSTART variable in /etc/default/mdadm
+#
+# Copyright © martin f. krafft <madduck@madduck.net>
+# distributed under the terms of the Artistic Licence 2.0
+#
+set -eu
+
+CONFIG=/etc/mdadm/mdadm.conf
+ALTCONFIG=/etc/mdadm.conf
+
+modprobe -q md 2>/dev/null || :
+
+[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG
+
+if ! grep -q '^ARRAY' $CONFIG 2>/dev/null; then
+ /usr/share/mdadm/mkconf force-generate || ret=$?
+ case ${ret:-0} in
+ 0) :;;
+ *)
+ echo E: mdadm: mdadm.conf creation failed, aborting. >&2
+ exit $ret
+ ;;
+ esac
+else
+ echo W: mdadm: using ARRAYs defined in existing mdadm.conf. >&2
+fi
+
+MDADM_FORCE_AUTOSTART__=1 exec /etc/init.d/mdadm-raid start
diff --git a/debian/mdadm-startall.sgml b/debian/mdadm-startall.sgml
new file mode 100644
index 00000000..c47b1f89
--- /dev/null
+++ b/debian/mdadm-startall.sgml
@@ -0,0 +1,115 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+ page: `docbook-to-man manpage.sgml > manpage.1'. You may view
+ the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+ less'. A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+ docbook-to-man $< > $@
+
+
+ The docbook-to-man binary is found in the docbook-to-man package.
+ Please remember that if you create the nroff version in one of the
+ debian/rules file targets (such as build), you will need to include
+ docbook-to-man in your Build-Depends control field.
+
+ -->
+
+ <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+ <!ENTITY dhfirstname "<firstname>Eduard</firstname>">
+ <!ENTITY dhsurname "<surname>Bloch</surname>">
+ <!-- Please adjust the date whenever revising the manpage. -->
+ <!ENTITY dhdate "<date>April 3, 2007</date>">
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+ allowed: see man(7), man(1). -->
+ <!ENTITY dhsection "<manvolnum>8</manvolnum>">
+ <!ENTITY dhemail "<email>blade@debian.org</email>">
+ <!ENTITY dhusername "Eduard Bloch">
+ <!ENTITY dhucpackage "<refentrytitle>mdadm-startall</refentrytitle>">
+ <!ENTITY dhpackage "mdadm">
+
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2007</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhucpackage;</refname>
+
+ <refpurpose>helper script to start all known arrays</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhucpackage;</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>The <command>&dhucpackage;</command> script scans the system for
+ arrays and writes a configuration file matching the current state. It then
+ starts all arrays it found. If a configuration file already exists and
+ defines arrays, it is used instead.
+
+ </refsect1>
+ <refsect1>
+ <title>SEE ALSO</title>
+
+ <para>mdadm (8), mdadm.conf(5)</para>
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+
+ <para>This manual page was written by &dhusername; &dhemail; for
+ the &debian; system (but may be used by others). Permission is
+ granted to copy, distribute and/or modify this document under
+ the terms of the &gnu; General Public License, Version 2 any
+ later version published by the Free Software Foundation.
+ </para>
+ <para>
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in /usr/share/common-licenses/GPL.
+ </para>
+
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
diff --git a/debian/mdadm-udeb.dirs b/debian/mdadm-udeb.dirs
new file mode 100644
index 00000000..e1ae85e0
--- /dev/null
+++ b/debian/mdadm-udeb.dirs
@@ -0,0 +1 @@
+sbin
diff --git a/debian/mdadm.config b/debian/mdadm.config
new file mode 100644
index 00000000..a7e9b1fb
--- /dev/null
+++ b/debian/mdadm.config
@@ -0,0 +1,199 @@
+#!/bin/sh
+# Copyright © 2001-2004 Mario Jou/3en <joussen@debian.org>
+# Copyright © martin f. krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+#
+
+# we need debconf-escape. Without it, defer the configuration.
+if [ ! -x "$(command -v debconf-escape 2>/dev/null)" ]; then
+ echo 'I: mdadm: debconf backend too old, defering configuration...' >&2
+ exit 0
+fi
+
+. /usr/share/debconf/confmodule
+# see #369953 for ordering
+set -eu
+
+CONFIG=/etc/mdadm/mdadm.conf
+ALTCONFIG=/etc/mdadm.conf
+[ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG
+
+DEBIANCONFIG=/etc/default/mdadm
+DEBIANCONFIG_OLD=/etc/mdadm/debian.conf
+
+if [ ! -e "$DEBIANCONFIG" ]; then
+ if [ -e "$DEBIANCONFIG_OLD" ]; then
+ DEBIANCONFIG="$DEBIANCONFIG_OLD"
+ fi
+fi
+
+db_get mdadm/initrdstart || :
+INITRDSTART="$RET"
+
+if [ -s $DEBIANCONFIG ] ; then
+ AUTOSTART=true
+ AUTOCHECK=true
+ START_DAEMON=true
+ MAILADDR=root
+
+ [ -f $DEBIANCONFIG ] && . $DEBIANCONFIG
+ if [ -f $CONFIG ]; then
+ MAILADDR=$(sed -rne 's/^MAILADDR[[:space:]]*([^[:space:]]+).*/\1/p' $CONFIG)
+ fi
+
+ # if $MAIL_TO from $DEBIANCONFIG is set, give it priority. This is because
+ # it was used in the command line invocation of the mdadm monitor, and thus
+ # overruled any existing setting in /etc/mdadm/mdadm.conf.
+ # There's a slight chance of loss of a configuration setting (MAILADDR in
+ # /etc/mdadm/mdadm.conf), but it's only an email address, and it is likely
+ # unused anyway, thus we run the risk.
+ [ -n "${MAIL_TO:-}" ] && MAILADDR="$MAIL_TO"
+
+ [ -n "$AUTOSTART" ] && db_set mdadm/autostart "$AUTOSTART"
+ [ -n "$AUTOCHECK" ] && db_set mdadm/autocheck "$AUTOCHECK"
+ [ -n "$START_DAEMON" ] && db_set mdadm/start_daemon "$START_DAEMON"
+ [ -n "$MAILADDR" ] && db_set mdadm/mail_to "$MAILADDR"
+fi
+
+chrooted() {
+ test "$(stat -c "%d/%i" /)" != "$(stat -Lc "%d/%i" /proc/1/root 2>/dev/null)"
+}
+
+get_root_raiddev() {
+ local rootraiddev;
+ rootraiddev="$(df --portability / | sed -rne 's,^(/dev/[^[:space:]]+).*,\1,p')"
+ if ! mdadm --detail $rootraiddev >/dev/null 2>&1; then
+ return 1
+ fi
+ echo ${rootraiddev%p[0-9]*}
+ return 0
+}
+
+get_initrdstart() {
+ db_fget mdadm/initrdstart seen
+ if chrooted || [ "$RET $INITRDSTART" = "false all" ]; then
+ echo all
+ return 1
+ fi
+
+ get_root_raiddev || echo all
+}
+
+[ -z "$INITRDSTART" ] && INITRDSTART="$(get_initrdstart)" || :
+[ -n "$INITRDSTART" ] && db_set mdadm/initrdstart "$INITRDSTART"
+
+INITRDSTART_PRIORITY=high
+if chrooted; then
+ INITRDSTART_PRIORITY=medium
+fi
+
+db_capb escape
+
+msg=intro; suffix=''; error=0
+while true; do
+ db_metaget mdadm/initrdstart_msg_${msg} extended_description || :
+ db_subst mdadm/initrdstart msg "$(echo -n "${RET}${suffix}" | debconf-escape -e)"
+ ret=0; db_input $INITRDSTART_PRIORITY mdadm/initrdstart || ret=$?
+ db_go
+
+ if [ $error -ne 0 ] && [ $ret -eq 30 ]; then
+ # there was an error in a previous run of this loop, but the above question
+ # was not asked, so we better exit the endless loop...
+ echo "W: mdadm: unable to determine MD arrays needed for boot." >&2
+ echo "W: mdadm: falling back to starting all of them..." >&2
+ INITRDSTART=all
+ break
+ fi
+
+ db_get mdadm/initrdstart
+ INITRDSTART="$(echo $RET | tr , ' ')"
+
+ case "$INITRDSTART" in
+ ''|none) INITRDSTART=none; break;;
+ all) break;;
+
+ *)
+ arrays=''
+ for i in $INITRDSTART; do
+
+ # standardise by prefixing /dev/
+ i="/dev/${i#/dev/}"
+
+ # remove partition from partitionable array
+ i="${i%p[0-9]*}"
+
+ if [ ! -e "$i" ]; then
+ error=1; msg=errexist; suffix=": $i"; break
+ fi
+
+ if [ ! -b "$i" ]; then
+ t="$(readlink -nf "$i")"
+ if [ ! -b "$t" ]; then
+ suffix=": $t"
+ else
+ suffix=": $i"
+ fi
+ error=1; msg=errblock; break
+ fi
+
+ if ! mdadm --detail "$i" >/dev/null 2>&1; then
+ error=1; msg=errmd; suffix=": $i"; break
+ fi
+
+ if [ -f $CONFIG ]; then
+ if ! egrep -q "^(ARRAY)?[[:space:]]+$i([[:space:]]+|$)" $CONFIG; then
+ t="$(readlink -nf "$i")"
+ if [ -L "$i" ] \
+ && egrep -q "^(ARRAY)?[[:space:]]+$t([[:space:]]|$)+" $CONFIG; then
+ i="$t"
+ else
+ db_set mdadm/initrdstart_notinconf false
+ db_fset mdadm/initrdstart_notinconf seen false
+ db_subst mdadm/initrdstart_notinconf array "$i"
+ db_subst mdadm/initrdstart_notinconf config "$CONFIG"
+ db_input high mdadm/initrdstart_notinconf || :
+ db_go
+ db_get mdadm/initrdstart_notinconf
+ if [ "$RET" = true ]; then
+ md5sum $CONFIG > /var/lib/mdadm/CONF-UNCHECKED
+ error=0
+ else
+ db_fset mdadm/initrdstart seen false
+ db_set mdadm/initrdstart all
+ error=1; msg=errconf; suffix=": $i"; break
+ fi
+ fi
+ fi
+ fi
+
+ # uniquely add device name
+ echo $arrays | egrep -q "\b${i}\b" || arrays="${arrays:+$arrays }$i"
+ done
+
+ if [ $error -eq 0 ]; then
+ INITRDSTART="$arrays"
+ # exit the while true loop
+ break
+ fi
+ ;;
+ esac
+done
+
+db_set mdadm/initrdstart "$INITRDSTART"
+
+if [ "$INITRDSTART" != all ]; then
+ db_input high mdadm/autostart || :
+ db_go
+fi
+
+db_input medium mdadm/autocheck || :
+db_go
+
+db_input medium mdadm/start_daemon || :
+db_go
+
+db_get mdadm/start_daemon || :
+if [ "$RET" = true ]; then
+ db_input medium mdadm/mail_to || :
+ db_go
+fi
diff --git a/debian/mdadm.cron.d b/debian/mdadm.cron.d
new file mode 100644
index 00000000..fd6a09c4
--- /dev/null
+++ b/debian/mdadm.cron.d
@@ -0,0 +1,12 @@
+#
+# cron.d/mdadm -- schedules periodic redundancy checks of MD devices
+#
+# Copyright © martin f. krafft <madduck@madduck.net>
+# distributed under the terms of the Artistic Licence 2.0
+#
+
+# By default, run at 00:57 on every Sunday, but do nothing unless the day of
+# the month is less than or equal to 7. Thus, only run on the first Sunday of
+# each month. crontab(5) sucks, unfortunately, in this regard; therefore this
+# hack (see #380425).
+57 0 * * 0 root [ -x /usr/share/mdadm/checkarray ] && [ $(date +\%d) -le 7 ] && /usr/share/mdadm/checkarray --cron --all --quiet
diff --git a/debian/mdadm.cron.daily b/debian/mdadm.cron.daily
new file mode 100644
index 00000000..d5ac1ae0
--- /dev/null
+++ b/debian/mdadm.cron.daily
@@ -0,0 +1,18 @@
+#!/bin/sh
+#
+# cron.daily/mdadm -- daily check that MD devices are functional
+#
+# Copyright © 2008 Paul Slootman <paul@debian.org>
+# distributed under the terms of the Artistic Licence 2.0
+
+# As recommended by the manpage, run
+# mdadm --monitor --scan --oneshot
+# every day to ensure that any degraded MD devices don't go unnoticed.
+# Email will go to the address specified in /etc/mdadm/mdadm.conf .
+#
+set -eu
+
+MDADM=/sbin/mdadm
+[ -x $MDADM ] || exit 0 # package may be removed but not purged
+
+exec $MDADM --monitor --scan --oneshot
diff --git a/debian/mdadm.dirs b/debian/mdadm.dirs
new file mode 100644
index 00000000..f6c019f8
--- /dev/null
+++ b/debian/mdadm.dirs
@@ -0,0 +1,8 @@
+sbin
+etc/mdadm
+usr/share/mdadm
+usr/share/initramfs-tools/hooks
+usr/share/initramfs-tools/scripts/local-top
+usr/share/bug/mdadm
+usr/share/lintian/overrides
+var/lib/mdadm
diff --git a/debian/mdadm.doc-base.faq b/debian/mdadm.doc-base.faq
new file mode 100644
index 00000000..3fff4504
--- /dev/null
+++ b/debian/mdadm.doc-base.faq
@@ -0,0 +1,9 @@
+Document: mdadm-faq
+Title: mdadm Debian FAQ
+Author: martin f. krafft
+Abstract: The document answers frequently asked questions about Debian's mdadm
+Section: System/Administration
+
+Format: text
+Index: /usr/share/doc/mdadm/FAQ.gz
+Files: /usr/share/doc/mdadm/FAQ.gz
diff --git a/debian/mdadm.doc-base.jd-rebuild-raid b/debian/mdadm.doc-base.jd-rebuild-raid
new file mode 100644
index 00000000..9138a2f1
--- /dev/null
+++ b/debian/mdadm.doc-base.jd-rebuild-raid
@@ -0,0 +1,9 @@
+Document: mdadm-jd-rebuild-raid
+Title: Rebuilding a RAID array
+Author: David Pashley
+Abstract: The document describes how to replace a failed component in a RAID(1) array
+Section: System/Administration
+
+Format: HTML
+Index: /usr/share/doc/mdadm/davidpashley.com_blog_2008_07_12_rebuilding-raid.html
+Files: /usr/share/doc/mdadm/davidpashley.com_blog_2008_07_12_rebuilding-raid.html
diff --git a/debian/mdadm.doc-base.md-txt b/debian/mdadm.doc-base.md-txt
new file mode 100644
index 00000000..3887026b
--- /dev/null
+++ b/debian/mdadm.doc-base.md-txt
@@ -0,0 +1,11 @@
+Document: mdadm-md-txt
+Title: Linux kernel documentation on the md driver (2.6.26)
+Author: Neil Brown
+Abstract: The document comes from the Linux kernel sources' Documentation/
+ directory and contains notes and other information about the md kernel
+ driver (which mdadm uses). It is current for version 2.6.26 of the kernel.
+Section: System/Administration
+
+Format: text
+Index: /usr/share/doc/mdadm/md.txt.gz
+Files: /usr/share/doc/mdadm/md.txt.gz
diff --git a/debian/mdadm.doc-base.raid5-vs-10 b/debian/mdadm.doc-base.raid5-vs-10
new file mode 100644
index 00000000..47416e53
--- /dev/null
+++ b/debian/mdadm.doc-base.raid5-vs-10
@@ -0,0 +1,11 @@
+Document: mdadm-raid5-vs-10
+Title: Comparison of RAID5 and RAID10
+Author: Art S. Kagel
+Abstract: This document compares RAID5 and RAID10 and strongly argues against
+ RAID5. The Debian package maintainer does not agree in full but includes the
+ document to allow people to make up their own mind.
+Section: System/Administration
+
+Format: text
+Index: /usr/share/doc/mdadm/RAID5_versus_RAID10.txt.gz
+Files: /usr/share/doc/mdadm/RAID5_versus_RAID10.txt.gz
diff --git a/debian/mdadm.doc-base.recipes b/debian/mdadm.doc-base.recipes
new file mode 100644
index 00000000..d1069682
--- /dev/null
+++ b/debian/mdadm.doc-base.recipes
@@ -0,0 +1,9 @@
+Document: mdadm-readme-recipes
+Title: mdadm Debian recipes
+Author: David Pashley
+Abstract: The document contains some common recipes for mdadm usage on Debian
+Section: System/Administration
+
+Format: text
+Index: /usr/share/doc/mdadm/README.recipes.gz
+Files: /usr/share/doc/mdadm/README.recipes.gz
diff --git a/debian/mdadm.doc-base.root-on-raid b/debian/mdadm.doc-base.root-on-raid
new file mode 100644
index 00000000..68c4ff3c
--- /dev/null
+++ b/debian/mdadm.doc-base.root-on-raid
@@ -0,0 +1,9 @@
+Document: mdadm-root-on-raid
+Title: Convert Root System to Bootable Software RAID1 (Debian)
+Author: Lucas Albers
+Abstract: How to convert a Debian system to bootable Software RAID 1 with a second hard drive, 'mdadm' and a few standard UNIX tools
+Section: System/Administration
+
+Format: HTML
+Index: /usr/share/doc/mdadm/rootraiddoc.97.html
+Files: /usr/share/doc/mdadm/rootraiddoc.97.html
diff --git a/debian/mdadm.doc-base.superblock-formats b/debian/mdadm.doc-base.superblock-formats
new file mode 100644
index 00000000..81dc5105
--- /dev/null
+++ b/debian/mdadm.doc-base.superblock-formats
@@ -0,0 +1,10 @@
+Document: mdadm-superblock-formats
+Title: Description of md superblock formats
+Author: GrangerX
+Abstract: This document details the different md superblock formats and their
+ disk layouts
+Section: System/Administration
+
+Format: text
+Index: /usr/share/doc/mdadm/md_superblock_formats.txt.gz
+Files: /usr/share/doc/mdadm/md_superblock_formats.txt.gz
diff --git a/debian/mdadm.docs b/debian/mdadm.docs
new file mode 100644
index 00000000..1adc5b77
--- /dev/null
+++ b/debian/mdadm.docs
@@ -0,0 +1,11 @@
+TODO
+debian/README.recipes
+debian/README.initramfs-transition
+debian/README.upgrading-2.5.3
+debian/README.checkarray
+debian/FAQ
+md.txt
+rootraiddoc.97.html
+RAID5_versus_RAID10.txt
+davidpashley.com_blog_2008_07_12_rebuilding-raid.html
+md_superblock_formats.txt
diff --git a/debian/mdadm.examples b/debian/mdadm.examples
new file mode 100644
index 00000000..a71fd894
--- /dev/null
+++ b/debian/mdadm.examples
@@ -0,0 +1,2 @@
+mdadm.conf-example
+misc/syslog-events
diff --git a/debian/mdadm.init b/debian/mdadm.init
new file mode 100644
index 00000000..2635b36d
--- /dev/null
+++ b/debian/mdadm.init
@@ -0,0 +1,79 @@
+#!/bin/sh
+#
+# Start the MD monitor daemon for all active MD arrays if desired.
+#
+# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
+# Copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+#
+### BEGIN INIT INFO
+# Provides: mdadm
+# Required-Start: checkroot
+# Required-Stop: umountroot
+# Should-Start: module-init-tools
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: MD monitoring daemon
+# Description: mdadm provides a monitor mode, in which it will scan for
+# problems with the MD devices. If a problem is found, the
+# administrator is alerted via email, or a custom script is
+# run.
+### END INIT INFO
+#
+set -eu
+
+MDADM=/sbin/mdadm
+RUNDIR=/var/run/mdadm
+PIDFILE=$RUNDIR/monitor.pid
+DEBIANCONFIG=/etc/default/mdadm
+
+test -x "$MDADM" || exit 0
+
+test -f /proc/mdstat || exit 0
+
+START_DAEMON=true
+test -f $DEBIANCONFIG && . $DEBIANCONFIG
+
+. /lib/lsb/init-functions
+
+is_true()
+{
+ case "${1:-}" in
+ [Yy]es|[Yy]|1|[Tt]|[Tt]rue) return 0;;
+ *) return 1;
+ esac
+}
+
+case "${1:-}" in
+ start)
+ if is_true $START_DAEMON; then
+ log_daemon_msg "Starting MD monitoring service" "mdadm --monitor"
+ mkdir -p $RUNDIR
+ set +e
+ start-stop-daemon -S -p $PIDFILE -x $MDADM -- \
+ --monitor --pid-file $PIDFILE --daemonise --scan ${DAEMON_OPTIONS:-}
+ log_end_msg $?
+ set -e
+ fi
+ ;;
+ stop)
+ if [ -f $PIDFILE ] ; then
+ log_daemon_msg "Stopping MD monitoring service" "mdadm --monitor"
+ set +e
+ start-stop-daemon -K -p $PIDFILE -x $MDADM
+ rm -f $PIDFILE
+ log_end_msg $?
+ set -e
+ fi
+ ;;
+ restart|reload|force-reload)
+ ${0:-} stop
+ ${0:-} start
+ ;;
+ *)
+ echo "Usage: ${0:-} {start|stop|restart|reload|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/debian/mdadm.links b/debian/mdadm.links
new file mode 100644
index 00000000..48ae6562
--- /dev/null
+++ b/debian/mdadm.links
@@ -0,0 +1 @@
+sbin/mdadm-startall usr/share/mdadm/startall
diff --git a/debian/mdadm.lintian-overrides b/debian/mdadm.lintian-overrides
new file mode 100644
index 00000000..3114a0dd
--- /dev/null
+++ b/debian/mdadm.lintian-overrides
@@ -0,0 +1 @@
+mdadm: virtual-package-depends-without-real-package-depends recommends: mail-transport-agent
diff --git a/debian/mdadm.logcheck.ignore.server b/debian/mdadm.logcheck.ignore.server
new file mode 100644
index 00000000..84a1f9b8
--- /dev/null
+++ b/debian/mdadm.logcheck.ignore.server
@@ -0,0 +1,23 @@
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: md driver [.[:digit:]]+ MAX_MD_DEVS=[[:digit:]]+, MD_SB_DISKS=[[:digit:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: bitmap version [.[:digit:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: md[[:digit:]]+ stopped\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: md[[:digit:]]+ still in use\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: cannot remove active disk [[:alnum:]]+ from md[[:digit:]]+ \.\.\. ?$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: raid([01456]|456|10) personality registered for level ([01456]|10)$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: (data-check|requested-resync|resync|reshape|recovery) of RAID array md[[:digit:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: resuming (data-check|requested-resync|resync|reshape|recovery) of md[[:digit:]]+ from checkpoint\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: md[[:digit:]]+: (data-check|requested-resync|resync|reshape|recovery) done\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: minimum _guaranteed_ ?speed: [[:digit:]]+ KB/sec/disk\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: using maximum available idle IO bandwidth \(but not more than [[:digit:]]+ KB/sec\) for (data-check|requested-resync|resync|reshape|recovery)\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: delaying (data-check|requested-resync|resync|reshape|recovery) of md[[:digit:]]+ until md[[:digit:]]+ has finished \(they share one or more physical units\)$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: using [[:digit:]]+k window, over a total of [[:digit:]]+ blocks\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: (un)?bind<[^>]+>$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: export_rdev\([^)]+\)$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: raid[[:digit:]]+: raid set [[:alnum:]]+ active with [[:digit:]]+ out of [[:digit:]]+ mirrors$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: RAID([01456]|10) conf printout:$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:[[:space:]]+---( [wrf]d:[[:digit:]]+){2,3}$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:[[:space:]]+disk [[:digit:]]+,( wo:[[:digit:]]+,)? o:[[:digit:]]+, dev:[[:alnum:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: Rebuild((Start|Finish)ed|[2468]0) event detected on md device /dev/[-_./[:alnum:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: SpareActive event detected on md device /dev/[-_./[:alnum:]]+, component device /dev/[-_./[:alnum:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: (New|Degraded)Array event detected on md device /dev/[-_./[:alnum:]]+$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ mdadm(\[[[:digit:]]+\])?: DeviceDisappeared event detected on md device /dev/[-_./[:alnum:]]+$
diff --git a/debian/mdadm.logcheck.violations b/debian/mdadm.logcheck.violations
new file mode 100644
index 00000000..294c3843
--- /dev/null
+++ b/debian/mdadm.logcheck.violations
@@ -0,0 +1,3 @@
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: md: kicking non-fresh [[:alnum:]]+ from array!$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel: raid[[:digit:]]+: Disk failure on [[:alnum:]]+, disabling device\.$
+^\w{3} [ :0-9]{11} [._[:alnum:]-]+ kernel:[[:space:]]+Operation continuing on [[:digit:]]+ devices?$
diff --git a/debian/mdadm.manpages b/debian/mdadm.manpages
new file mode 100644
index 00000000..65605c78
--- /dev/null
+++ b/debian/mdadm.manpages
@@ -0,0 +1 @@
+debian/mdadm-startall.8
diff --git a/debian/mdadm.postinst b/debian/mdadm.postinst
new file mode 100644
index 00000000..63a41792
--- /dev/null
+++ b/debian/mdadm.postinst
@@ -0,0 +1,192 @@
+#!/bin/sh
+# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
+# Copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+#
+
+. /usr/share/debconf/confmodule
+# See #369953 for ordering
+set -eu
+
+case "${1:-}" in
+ configure|reconfigure)
+
+ if [ ! -f /proc/mdstat ] && [ -x $(command -v modprobe 2>/dev/null) ]; then
+ modprobe md >/dev/null 2>&1 || :
+ fi
+ if [ ! -f /proc/mdstat ]; then
+ echo 'W: mdadm: failed to load MD subsystem.' >&2
+ fi
+
+ if [ ! -e /dev/md15 ] \
+ && [ ! -e /dev/.static/dev/md15 ] \
+ && [ ! -e /dev/.devfsd ]; then
+
+ echo -n 'Generating array device nodes... ' >&2
+ cd /dev
+ if /dev/MAKEDEV md >&2 >/dev/null; then
+ echo 'done.' >&2
+ else
+ echo 'failed.' >&2
+ fi
+ fi
+
+ DEBIANCONFIG=/etc/default/mdadm
+ CONFIG=/etc/mdadm/mdadm.conf
+ ALTCONFIG=/etc/mdadm.conf
+ MDADM=/sbin/mdadm
+
+ if [ -z "${2:-}" ] && [ -s /etc/mdctl/mdctl.conf ] \
+ && [ ! -f /etc/mdadm/mdadm.conf ]; then
+ cp -a /etc/mdctl/mdctl.conf /etc/mdadm/mdadm.conf
+ fi
+
+ # load current settings, most of which will be overwritten.
+ [ -f $DEBIANCONFIG ] && . $DEBIANCONFIG
+
+ db_get mdadm/mail_to
+ MAILADDR="${RET:-root}"
+
+ [ ! -f $CONFIG ] && [ -f $ALTCONFIG ] && CONFIG=$ALTCONFIG
+ if [ ! -f $CONFIG ]; then
+ echo -n 'Generating mdadm.conf... ' >&2
+ # pass the MAILADDR variable into the script
+ MDADM_MAILADDR__="$MAILADDR"; export MDADM_MAILADDR__
+ if /usr/share/mdadm/mkconf generate $CONFIG 2>/dev/null; then
+ echo done. >&2
+ else
+ echo "done (failed to scan arrays; /proc probably not mounted)." >&2
+ fi
+ elif dpkg --compare-versions "${2:-2.5.3-1}" le 2.5.3-1; then
+ # we're upgrading from before 2.5.3-1 and there's apparently already
+ # a configuration file which we cannot verify. We'll use the sentinel
+ # during initramfs creation.
+ md5sum $CONFIG > /var/lib/mdadm/CONF-UNCHECKED
+ fi
+
+ if [ -w $CONFIG ] && [ -z "${MDADM_MAILADDR__:-}" ]; then
+ # if the configuration is writeable but has not been written just
+ # before, then edit it to reflect the MAILADDR preference
+ if grep -q '^MAILADDR' $CONFIG; then
+ sed -i -e "s/^MAILADDR.*/MAILADDR $MAILADDR/" $CONFIG
+ else
+ echo "MAILADDR $MAILADDR" >> $CONFIG
+ fi
+ fi
+ unset MDADM_MAILADDR__
+
+ db_get mdadm/initrdstart
+ INITRDSTART="${RET:-all}"
+ db_get mdadm/autostart
+ AUTOSTART="${RET:-true}"
+ db_get mdadm/autocheck
+ AUTOCHECK="${RET:-true}"
+ db_get mdadm/start_daemon
+ START_DAEMON="${RET:-true}"
+ #db_get mdadm/daemon_options
+ [ -n "${DAEMON_OPTIONS:-}" ] || DAEMON_OPTIONS='--syslog'
+
+ cat <<_eof > $DEBIANCONFIG
+# mdadm Debian configuration
+#
+# You can run 'dpkg-reconfigure mdadm' to modify the values in this file, if
+# you want. You can also change the values here and changes will be preserved.
+# Do note that only the values are preserved; the rest of the file is
+# rewritten.
+#
+
+# INITRDSTART:
+# list of arrays (or 'all') to start automatically when the initial ramdisk
+# loads. This list *must* include the array holding your root filesystem. Use
+# 'none' to prevent any array from being started from the initial ramdisk.
+INITRDSTART='$INITRDSTART'
+
+# AUTOSTART:
+# should mdadm start arrays listed in /etc/mdadm/mdadm.conf automatically
+# during boot?
+AUTOSTART=$AUTOSTART
+
+# AUTOCHECK:
+# should mdadm run periodic redundancy checks over your arrays? See
+# /etc/cron.d/mdadm.
+AUTOCHECK=$AUTOCHECK
+
+# START_DAEMON:
+# should mdadm start the MD monitoring daemon during boot?
+START_DAEMON=$START_DAEMON
+
+# DAEMON_OPTIONS:
+# additional options to pass to the daemon.
+DAEMON_OPTIONS="$DAEMON_OPTIONS"
+
+# VERBOSE:
+# if this variable is set to true, mdadm will be a little more verbose e.g.
+# when creating the initramfs.
+VERBOSE=${VERBOSE:-false}
+
+# MAIL_TO:
+# this variable is now managed in /etc/mdadm/mdadm.conf (MAILADDR).
+# Please see mdadm.conf(5).
+_eof
+
+ db_stop
+
+ # try to undo udev rules (installed by 2.5.2-10, see 2.5.3.git200608202239-1
+ # changelog). Do this before update-initramfs, which copies udev into
+ # initrd.
+ V=2.5.3.git200608202239-1~
+ if [ "${1:-}" = "configure" ] && [ -n "${2:-}" ] \
+ && dpkg --compare-versions $2 ge 2.5.2-10 \
+ && dpkg --compare-versions $2 lt $V; then
+
+ # first, disable the rules
+ rm -f /etc/udev/rules.d/z60_mdadm.rules
+
+ if echo "0843432c9c01ed95c42481eee0cf6fbf /etc/udev/mdadm.rules" \
+ | md5sum -c >/dev/null; then
+ # no changes by user, so remove
+ rm -f /etc/udev/mdadm.rules
+ else
+ echo "W: mdadm: I tried to remove /etc/udev/mdadm.rules (see changelog)," >&2
+ echo "W: mdadm: but you have modified it, so I won't touch it. Please" >&2
+ echo "W: mdadm: remove the file at your leisure." >&2
+ fi
+ fi
+
+ command -v update-initramfs >/dev/null 2>&1 && update-initramfs -u
+ ;;
+esac
+
+# remove S04 installed as a fix to #294404 as it does not work
+# we only remove the startup links if the previous version was 1.9.0-2.1 (the
+# one with the erroneous fix) and the S04 link exists to make sure that
+# chances are minimised to overwrite admin changes (even though this would
+# not affect woody upgraders)
+if [ "${1:-}" = "configure" ] && [ "${2:-}" = "1.9.0-2.1" ] \
+ && test -L /etc/rcS.d/S04mdadm-raid;
+then
+ update-rc.d -f mdadm-raid remove
+fi
+
+if [ "${1:-}" = "configure" ] && dpkg --compare-versions ${2:-2.6.7-1} lt 2.6.7-1; then
+ # stop RAIDs a bit later, see #486012
+ for i in 0 6; do
+ test -L /etc/rc${i}.d/S50mdadm-raid && test ! -L /etc/rc${i}.d/S60mdadm-raid \
+ && mv /etc/rc${i}.d/S50mdadm-raid /etc/rc${i}.d/S60mdadm-raid
+ done
+fi
+
+# See #369953
+set +u
+#DEBHELPER#
+set -u
+
+# do start mdadm-raid, but don't use dh_installinit to do so, to prevent
+# stopping raids on remove/upgrade.
+if [ -x /etc/init.d/mdadm-raid ]; then
+ if [ -x "$(command -v invoke-rc.d)" ]; then
+ invoke-rc.d mdadm-raid start || exit $?
+ else
+ /etc/init.d/mdadm-raid start || exit $?
+ fi
+fi
diff --git a/debian/mdadm.postrm b/debian/mdadm.postrm
new file mode 100644
index 00000000..04343310
--- /dev/null
+++ b/debian/mdadm.postrm
@@ -0,0 +1,33 @@
+#! /bin/sh
+# Copyright © 2001,2002 Mario Jou/3en <joussen@debian.org>
+# Copyright © 2006-2008 Martin F. Krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+#
+set -eu
+
+case "${1:-}" in
+ remove)
+ if command -v update-initramfs >/dev/null 2>&1; then
+ echo "W: mdadm: I'll update the initramfs, but if you need MD to boot" >&2
+ echo "W: mdadm: with initramfs, you'll be screwed!" >&2
+ update-initramfs -u
+ fi
+ ;;
+
+ purge)
+ GEN_SENTINEL=/var/lib/mdadm/mdadm.conf-generated
+ if [ -r $GEN_SENTINEL ]; then
+ rm -f "$(sed -rne 's,[[:xdigit:]]+ ,,p' $GEN_SENTINEL)"
+ fi
+ rm -f /etc/default/mdadm /etc/mdadm.conf /etc/mdadm/mdadm.conf
+ rm -rf /var/lib/mdadm
+ ;;
+
+ *) :;;
+esac
+
+# just in case somebody actually purges mdadm, we need this to make debconf
+# (added by dh_installdebconf) behave. See #369953
+set +u
+#DEBHELPER#
+set -u
diff --git a/debian/mdadm.preinst b/debian/mdadm.preinst
new file mode 100644
index 00000000..573bba09
--- /dev/null
+++ b/debian/mdadm.preinst
@@ -0,0 +1,55 @@
+#!/bin/sh
+# Copyright © martin f. krafft <madduck@debian.org>
+# Distributed under the terms of the Artistic Licence 2.0
+#
+set -eu
+
+# based on idea from http://www.dpkg.org/dpkg/ConffileHandling
+rm_conffile() {
+ local conffile md5sum package old_md5sum
+
+ conffile="$1"
+ if [ -e "$conffile" ]; then
+ md5sum=$(md5sum "$conffile" | cut -d' ' -f1)
+ package=$(dpkg -S "$conffile" | cut -d: -f1)
+ old_md5sum=$(dpkg -s $package | sed -rne "s,[[:space:]]+${conffile}[[:space:]]+,,p")
+ if [ "$md5sum" != "$old_md5sum" ]; then
+ echo "Obsolete conffile $conffile has been modified by you."
+ echo "Saving as ${conffile}.dpkg-bak ..."
+ mv -f "$conffile" "$conffile".dpkg-bak
+ else
+ echo "Removing obsolete conffile $conffile ..."
+ rm -f "$conffile"
+ fi
+ fi
+}
+
+case "$1" in
+
+ upgrade|install)
+
+ # migrate old configuration from *way back then*
+ DEBIANCONFIG=/etc/default/mdadm
+ OLDCONFIG=/etc/mdadm/debian.conf
+ if [ -s $OLDCONFIG ] && [ ! -f $DEBIANCONFIG ]; then
+ mv $OLDCONFIG $DEBIANCONFIG
+ fi
+
+ # save the v1 output of -Es just in case we need it for upgrades
+ MDADM=/sbin/mdadm
+ if [ -x "$MDADM" ] && [ -n "${2:-}" ] && \
+ dpkg --compare-versions $2 lt 2; then
+ echo DEVICE partitions > /var/backups/mdadm-Es_v1.dump
+ $MDADM -Esc /var/backups/mdadm-Es_v1.dump >> /var/backups/mdadm-Es_v1.dump || :
+ fi
+
+ rm_conffile /etc/udev/rules.d/65_mdadm.vol_id.rules
+ ;;
+
+ *) :;;
+esac
+
+# See #369953
+set +u
+#DEBHELPER#
+set -u
diff --git a/debian/mdadm.templates b/debian/mdadm.templates
new file mode 100644
index 00000000..62b0995c
--- /dev/null
+++ b/debian/mdadm.templates
@@ -0,0 +1,113 @@
+# These templates have been reviewed by the debian-l10n-english
+# team
+#
+# If modifications/additions/rewording are needed, please ask
+# debian-l10n-english@lists.debian.org for advice.
+#
+# Even minor modifications require translation updates and such
+# changes should be coordinated with translators and reviewers.
+
+Template: mdadm/initrdstart
+Type: string
+Default: all
+#flag:translate!:2
+_Description: MD arrays needed for the root file system:
+ ${msg}
+ .
+ Please enter 'all', 'none', or a space-separated list of devices such as
+ 'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted).
+
+Template: mdadm/initrdstart_msg_intro
+Type: text
+_Description: for internal use - only the long description is needed.
+ If the system's root file system is located on an MD array (RAID), it needs to be
+ started early during the boot sequence. If it is located on
+ a logical volume (LVM), which is on MD, all constituent arrays need to be
+ started.
+ .
+ If you know exactly which arrays are needed to bring up the root file system,
+ and you want to postpone starting all other arrays to a later point in the
+ boot sequence, enter the arrays to start here. Alternatively, enter 'all' to
+ simply start all available arrays.
+ .
+ If you do not need or want to start any arrays for the root file system, leave
+ the answer blank (or enter 'none'). This may be the case if you are using
+ kernel autostart or do not need any arrays to boot.
+
+Template: mdadm/initrdstart_msg_errexist
+Type: text
+_Description:
+ An error occurred: device node does not exist
+
+Template: mdadm/initrdstart_msg_errblock
+Type: text
+_Description:
+ An error occurred: not a block device
+
+Template: mdadm/initrdstart_msg_errmd
+Type: text
+_Description:
+ An error occurred: not an MD array
+
+Template: mdadm/initrdstart_msg_errconf
+Type: text
+_Description:
+ An error occurred: array not listed in mdadm.conf file
+
+Template: mdadm/initrdstart_notinconf
+Type: boolean
+Default: false
+_Description: Start arrays not listed in mdadm.conf?
+ The specified array (${array}) is not listed in the configuration
+ file (${config}). Therefore, it cannot be started during boot, unless you
+ correct the configuration file and recreate the initial ramdisk.
+ .
+ Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend
+ to continue.
+ .
+ This warning is only relevant if you need arrays to be started from the
+ initial ramdisk to be able to boot. If you use kernel autostarting, or do not
+ need any arrays to be started as early as the initial ramdisk is loaded, you
+ can simply continue. Alternatively, choose not to continue and enter 'none'
+ when prompted which arrays to start from the initial ramdisk.
+
+Template: mdadm/autostart
+Type: boolean
+Default: true
+_Description: Do you want to start MD arrays automatically?
+ Once the base system has booted, mdadm can start all MD arrays
+ (RAIDs) specified in /etc/mdadm/mdadm.conf which have not yet been
+ started. This is recommended unless multiple device (MD) support is
+ compiled into the kernel and all partitions are marked as belonging
+ to MD arrays, with type 0xfd (as those and only those will be started
+ automatically by the kernel).
+
+Template: mdadm/autocheck
+Type: boolean
+Default: true
+_Description: Should mdadm run monthly redundancy checks of the MD arrays?
+ If the kernel supports it (versions greater than 2.6.14), mdadm can periodically check the
+ redundancy of MD arrays (RAIDs). This may be a resource-intensive process,
+ depending on the local setup, but it could help prevent rare cases of data loss.
+ Note that this is a read-only check unless errors are found; if errors are
+ found, mdadm will try to correct them, which may result in write access to
+ the media.
+ .
+ The default, if turned on, is to check on the first Sunday of every
+ month at 01:06.
+
+Template: mdadm/start_daemon
+Type: boolean
+Default: true
+_Description: Do you want to start the MD monitoring daemon?
+ The MD (RAID) monitor daemon sends email notifications in response to
+ important MD events (such as a disk failure).
+ .
+ Enabling this option is recommended.
+
+Template: mdadm/mail_to
+Type: string
+Default: root
+_Description: Recipient for email notifications:
+ Please enter the email address of the user who should get the email
+ notifications for important MD events.
diff --git a/debian/mkconf b/debian/mkconf
new file mode 100644
index 00000000..85a8f6fa
--- /dev/null
+++ b/debian/mkconf
@@ -0,0 +1,107 @@
+#!/bin/sh
+#
+# mkconf -- outputs valid mdadm.conf contents for the local system
+#
+# Copyright © martin f. krafft <madduck@madduck.net>
+# distributed under the terms of the Artistic Licence 2.0
+#
+set -eu
+
+ME="${0##*/}"
+MDADM=/sbin/mdadm
+DEBIANCONFIG=/etc/default/mdadm
+CONFIG=/etc/mdadm/mdadm.conf
+
+test -r $DEBIANCONFIG && . $DEBIANCONFIG
+
+if [ -n "${MDADM_MAILADDR__:-}" ]; then
+ # honour MAILADDR from the environment (from postinst)
+ MAILADDR="$MDADM_MAILADDR__"
+else
+ # preserve existing MAILADDR
+ MAILADDR="$(sed -ne 's/^MAILADDR //p' $CONFIG 2>/dev/null)" || :
+fi
+
+# save existing values as defaults
+if [ -r "$CONFIG" ]; then
+ DEVICE="$(sed -ne 's/^DEVICE //p' $CONFIG)"
+ CREATE="$(sed -ne 's/^CREATE //p' $CONFIG)"
+ HOMEHOST="$(sed -ne 's/^HOMEHOST //p' $CONFIG)"
+ PROGRAM="$(sed -ne 's/^PROGRAM //p' $CONFIG)"
+fi
+
+generate=0
+[ "${1:-}" = force-generate ] && rm -f $CONFIG
+case "${1:-}" in
+ generate|force-generate)
+ [ -n "${2:-}" ] && CONFIG=$2
+ # only barf if the config file specifies anything else than MAILADDR
+ if egrep -qv '^(MAILADDR.*|#.*|)$' $CONFIG 2>/dev/null; then
+ echo "E: $ME: $CONFIG already exists." >&2
+ exit 255
+ fi
+
+ mkdir --parent ${CONFIG%/*}
+ exec >$CONFIG
+ generate=1
+ ;;
+esac
+
+cat <<_eof
+# mdadm.conf
+#
+# Please refer to mdadm.conf(5) for information about this file.
+#
+
+# by default, scan all partitions (/proc/partitions) for MD superblocks.
+# alternatively, specify devices to scan, using wildcards if desired.
+DEVICE ${DEVICE:-partitions}
+
+# auto-create devices with Debian standard permissions
+CREATE ${CREATE:-owner=root group=disk mode=0660 auto=yes}
+
+# automatically tag new arrays as belonging to the local system
+HOMEHOST ${HOMEHOST:-<system>}
+
+# instruct the monitoring daemon where to send mail alerts
+MAILADDR ${MAILADDR:-root}
+
+_eof
+
+if [ -n "${PROGRAM:-}" ]; then
+ cat <<-_eof
+ # program to run when mdadm monitor detects potentially interesting events
+ PROGRAM ${PROGRAM}
+
+ _eof
+fi
+
+error=0
+if [ ! -r /proc/mdstat ]; then
+ echo W: $ME: MD subsystem is not loaded, thus I cannot scan for arrays. >&2
+ error=1
+elif [ ! -r /proc/partitions ]; then
+ echo W: $ME: /proc/partitions cannot be read, thus I cannot scan for arrays. >&2
+ error=2
+else
+ echo "# definitions of existing MD arrays"
+ if ! $MDADM --examine --scan --config=partitions; then
+ error=$(($? + 128))
+ echo W: $ME: failed to scan for partitions. >&2
+ echo "### WARNING: scan failed."
+ else
+ echo
+ fi
+fi
+
+if [ $generate -eq 1 ]; then
+ cat <<_eof
+# This file was auto-generated on $(date -R)
+# by mkconf \$Id$
+_eof
+
+ mkdir -p /var/lib/mdadm
+ md5sum $CONFIG > /var/lib/mdadm/mdadm.conf-generated
+fi
+
+exit $error
diff --git a/debian/newdisk b/debian/newdisk
new file mode 100755
index 00000000..3dd3e49c
--- /dev/null
+++ b/debian/newdisk
@@ -0,0 +1,243 @@
+#!/bin/sh
+
+MY_VERSION="1.40"
+# ----------------------------------------------------------------------------------------------------------------------
+# Linux MD (Soft)RAID Add Script - Add a (new) harddisk to another multi MD-array harddisk
+# Last update: July 15, 2008
+# (C) Copyright 2005-2008 by Arno van Amersfoort
+# Homepage : http://rocky.eld.leidenuniv.nl/
+# Email : a r n o v a AT r o c k y DOT e l d DOT l e i d e n u n i v DOT n l
+# (note: you must remove all spaces and substitute the @ and the . at the proper locations!)
+# ----------------------------------------------------------------------------------------------------------------------
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# version 2 as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# ----------------------------------------------------------------------------------------------------------------------
+
+show_help()
+{
+ echo "Bad or missing parameter(s)"
+ echo "Usage: $(basename $0) [ source_disk ] [ target_disk ] [ options ]"
+ echo "Options:"
+ echo "--force = Even proceed if target device does not appear empty"
+ echo "--noptupdate = Do NOT update the partition table on the target device (EXPERT!)"
+ echo "--nombrupdate = Do NOT update the MBR boot-loader on the target device (EXPERT!)"
+}
+
+
+echo "MDadd for SoftRAID-MDADM v$MY_VERSION"
+echo "Written by Arno van Amersfoort"
+echo "--------------------------------"
+
+if [ "$UID" != "0" ]; then
+ printf "\033[40m\033[1;31mERROR: Root check FAILED (you MUST be root to use this script)! Quitting...\n\033[0m"
+ exit 1
+fi
+
+if ! which mdadm 2>&1 >/dev/null; then
+ printf "\033[40m\033[1;31mERROR: Unable to find mdadm-binary! Quitting...\n\033[0m"
+ exit 2
+fi
+
+if ! which sfdisk 2>&1 >/dev/null; then
+ printf "\033[40m\033[1;31mERROR: Unable to find sfdisk-binary! Quitting...\n\033[0m"
+ exit 2
+fi
+
+if ! which dd 2>&1 >/dev/null; then
+ printf "\033[40m\033[1;31mERROR: Unable to find dd-binary! Quitting...\n\033[0m"
+ exit 2
+fi
+
+# Set environment variables to default
+FORCE=0
+NOPTUPDATE=0
+NOMBRUPDATE=0
+SOURCE=""
+TARGET=""
+
+# Check arguments
+for arg in $*; do
+ ARGNAME="$(echo "$arg" |cut -d= -f1)"
+ ARGVAL="$(echo "$arg" |cut -d= -f2)"
+
+ if ! echo "$ARGNAME" |grep -q "^-"; then
+ if [ -z "$SOURCE" ]; then
+ SOURCE="$ARGVAL"
+ else
+ if [ -z "$TARGET" ]; then
+ TARGET="$ARGVAL"
+ else
+ show_help;
+ exit 3
+ fi
+ fi
+ else
+ case "$ARGNAME" in
+ --force|-force|-f) FORCE=1;;
+ --noptupdate|-noptupdate|--noptu|-noptu) NOPTUPDATE=1;;
+ --nombrupdate|-nombrupdate|--nombru|nombru) NOMBRUPDATE=1;;
+ --help) show_help;
+ exit 0;;
+ *) echo "ERROR: Bad argument: $ARGNAME";
+ show_help;
+ exit 3;;
+ esac
+ fi
+done
+
+if [ -z "$SOURCE" ] || [ -z "$TARGET" ]; then
+ echo "ERROR: Bad or missing argument(s)"
+ show_help;
+ exit 4
+fi
+
+if ! echo "$SOURCE" |grep -q '^/dev/'; then
+ printf "\033[40m\033[1;31mERROR: Source device $SOURCE does not start with /dev/! Quitting...\n\033[0m"
+ exit 5
+fi
+
+if ! echo "$TARGET" |grep -q '^/dev/'; then
+ printf "\033[40m\033[1;31mERROR: Target device $TARGET does not start with /dev/! Quitting...\n\033[0m"
+ exit 6
+fi
+
+if echo "$SOURCE" |grep -q 'md'; then
+ printf "\033[40m\033[1;31mERROR: The source device specified is an md-device! Quitting...\n\033[0m"
+ echo "A physical drive (part of the md-array('s)) is required as source device (ie. /dev/hda)!"
+ exit 7
+fi
+
+# We also want variables without /dev/ :
+SOURCE_NODEV="$(echo "$SOURCE" |sed s,'^/dev/',,)"
+TARGET_NODEV="$(echo "$TARGET" |sed s,'^/dev/',,)"
+
+if ! grep -q -e " $TARGET_NODEV " -e " $TARGET_NODEV$" /proc/partitions; then
+ printf "\033[40m\033[1;31mERROR: Target device $TARGET is NOT a valid target drive! Quitting...\n\033[0m"
+ exit 8
+fi
+
+if ! grep -q -e " $SOURCE_NODEV " -e " $SOURCE_NODEV$" /proc/partitions; then
+ printf "\033[40m\033[1;31mERROR: Source device $SOURCE is NOT a valid source drive! Quitting...\n\033[0m"
+ exit 9
+fi
+
+if ! grep -q -e " $SOURCE_NODEV[p,1..9]" /proc/partitions; then
+ printf "\033[40m\033[1;31mERROR: Source device $SOURCE does not contain any partitions!? Quitting...\n\033[0m"
+ exit 10
+fi
+
+if grep -q -e " $TARGET_NODEV[p,1..9]" /proc/partitions && [ "$FORCE" != "1" ]; then
+ printf "\033[40m\033[1;31mERROR: Target device $TARGET is NOT empty! Use --force to override. Quitting...\n\033[0m"
+ exit 11
+fi
+
+if grep -q -e " $TARGET_NODEV" /proc/mdstat; then
+ grep " $TARGET_NODEV" /proc/mdstat
+ printf "\033[40m\033[1;31mWARNING: Target device is already in use by an MD RAID array!\nPress any key to continue or CTRL-C to abort...\n\033[0m"
+ read -n 1
+fi
+
+# Create backup of partition table:
+echo "--> Backing up partition table of target device $TARGET to /tmp/partitions.$TARGET_NODEV..."
+sfdisk -d "$TARGET" >"/tmp/partitions.$TARGET_NODEV"
+
+# Disable all swaps on this disk
+echo "--> Disabling any swap partitions on target device $TARGET"
+grep "^$TARGET" /proc/swaps |awk '{ print $1 }' |while read SWAP; do
+ swapoff $SWAP 2>&1 >/dev/null
+done
+
+#echo "--> Copying source device $SOURCE to target device $TARGET:"
+
+
+if [ "$NOMBRUPDATE" != "1" ]; then
+ echo "--> Copying track0(containing MBR)..."
+ dd if="$SOURCE" of="$TARGET" bs=65536 count=1
+fi
+
+if [ "$NOPTUPDATE" != "1" ]; then
+ echo "--> Copying partition table from $SOURCE to $TARGET..."
+ sfdisk -d "$SOURCE" |sfdisk --force "$TARGET"
+else
+ echo "--> Restoring partition table from /tmp/partitions.$TARGET_NODEV to $TARGET..."
+ sfdisk -d "$SOURCE" |sfdisk --force "$TARGET"
+fi
+
+mdadm --detail --scan --verbose >/tmp/mdadm-detail-scan.txt
+retval=$?
+if [ "$retval" != "0" ]; then
+ printf "\033[40m\033[1;31mERROR: MDADM returned an error($retval) while determining detail information!\n\033[0m"
+ exit 12
+fi
+
+# Copy/build all md devices that exist on the source drive:
+BOOT=0
+NO_ADD=1
+while read STRING; do
+ if echo "$STRING" |grep -q "^ARRAY "; then
+ MD_DEV=$(echo "$STRING" |awk '{ print $2 }')
+ fi
+
+ if echo "$STRING" |grep -q "devices=.*$SOURCE"; then
+ NO_ADD=0
+ PARTITION_NR="$(echo "$STRING" |sed -e s:".*devices=.*$SOURCE":"": -e s:",.*":"":)"
+
+ if [ -z "$PARTITION_NR" ]; then
+ printf "\033[40m\033[1;31mERROR: Unable to retrieve detail information for $SOURCE from $MD_DEV!\n\033[0m"
+ exit 13
+ fi
+
+ if grep -q -e "^$MD_DEV.*/boot" -e "^$MD_DEV.*/.*1$" /etc/fstab; then
+ BOOT=1
+ fi
+
+ echo ""
+ echo "--> Adding $TARGET$PARTITION_NR to RAID array $MD_DEV:"
+ printf "\033[40m\033[1;31m"
+ mdadm --add "$MD_DEV" "$TARGET""$PARTITION_NR"
+ printf "\033[0m"
+ fi
+done < /tmp/mdadm-detail-scan.txt
+
+echo ""
+
+# Create swapspace on partitions with ID=82
+echo "--> Creating swapspace on target device (if any swap partitions exist):"
+sfdisk -d "$TARGET" |grep -i "Id=82" |awk '{ print $1 }' |while read SWAP_DEVICE; do
+ mkswap "$SWAP_DEVICE"
+ swapon "$SWAP_DEVICE"
+
+ if ! grep -q "$SWAP_DEVICE.*none.*swap" /etc/fstab; then
+ printf "\033[40m\033[1;31mWARNING: /etc/fstab does NOT contain a (valid) swap entry for $SWAP_DEVICE\n\033[0m"
+ fi
+done
+
+#echo "--> Showing current mdadm detail-scan (you may need to update your mdadm.conf (manually):"
+#mdadm --detail --scan
+
+echo "--> Showing current /proc/mdstat (you may need to update your mdadm.conf (manually):"
+cat /proc/mdstat
+echo ""
+
+if [ "$NO_ADD" = "1" ]; then
+ printf "\033[40m\033[1;31mWARNING: No mdadm --add actions were performed, please investigate!\n\033[0m"
+fi
+
+if [ "$BOOT" = "1" ]; then
+ printf "\033[40m\033[1;31mNOTE: Boot and/or root partition detected.\n You *MAY* need to reinstall your boot loader (ie. GRUB) on this device!\n\033[0m"
+fi
+
+# TODO?:
+# sanity check nopt (check if target device has a partition table)?
+# detect if device has superblock (mdadm --examine /dev/sda1; echo $?)?
+# continue ask (show what will be done):?
diff --git a/debian/patches/Bump-version-output.patch b/debian/patches/Bump-version-output.patch
new file mode 100644
index 00000000..5a72d5c3
--- /dev/null
+++ b/debian/patches/Bump-version-output.patch
@@ -0,0 +1,26 @@
+From b110409796fe55ffbbe0e937b006412f8fc08b2d Mon Sep 17 00:00:00 2001
+From: martin f. krafft <madduck@debian.org>
+Date: Fri, 8 May 2009 11:15:38 +0200
+Subject: [PATCH] bump --version output
+
+Signed-off-by: martin f. krafft <madduck@debian.org>
+---
+ ReadMe.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/ReadMe.c b/ReadMe.c
+index d0d762e..9055d5e 100644
+--- a/ReadMe.c
++++ b/ReadMe.c
+@@ -24,7 +24,7 @@
+
+ #include "mdadm.h"
+
+-char Version[] = Name " - v3.0-devel3 - 10th March 2009\n";
++char Version[] = Name " - v3.0-devel3-43-g2800528 - 8th May 2009\n";
+
+ /*
+ * File: ReadMe.c
+--
+1.6.2.4
+
diff --git a/debian/patches/Use-initialised-superblock-pointer-fixes-compiler-w.patch b/debian/patches/Use-initialised-superblock-pointer-fixes-compiler-w.patch
new file mode 100644
index 00000000..977ac387
--- /dev/null
+++ b/debian/patches/Use-initialised-superblock-pointer-fixes-compiler-w.patch
@@ -0,0 +1,37 @@
+From 95935f9892c39377375496d1ca2ba7547b07759f Mon Sep 17 00:00:00 2001
+From: martin f. krafft <madduck@debian.org>
+Date: Fri, 8 May 2009 10:56:17 +0200
+Subject: [PATCH] Use initialised superblock pointer, fixes compiler warning
+
+This is from Neil and will be included in the next push; for now, it
+enables the compile.
+
+Signed-off-by: martin f. krafft <madduck@debian.org>
+---
+ Incremental.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Incremental.c b/Incremental.c
+index f7e602e..f8fc359 100644
+--- a/Incremental.c
++++ b/Incremental.c
+@@ -369,14 +369,14 @@ int Incremental(char *devname, int verbose, int runstop,
+ /* add disk needs to know about containers */
+ if (st->ss->external)
+ sra->array.level = LEVEL_CONTAINER;
+- err = add_disk(mdfd, st2, sra, &info2);
++ err = add_disk(mdfd, st, sra, &info2);
+ if (err < 0 && errno == EBUSY) {
+ /* could be another device present with the same
+ * disk.number. Find and reject any such
+ */
+ find_reject(mdfd, st, sra, info.disk.number,
+ info.events, verbose, chosen_name);
+- err = add_disk(mdfd, st2, sra, &info2);
++ err = add_disk(mdfd, st, sra, &info2);
+ }
+ if (err < 0) {
+ fprintf(stderr, Name ": failed to add %s to %s: %s.\n",
+--
+1.6.2.4
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 00000000..a4f03a5b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+Bump-version-output.patch -p1
+Use-initialised-superblock-pointer-fixes-compiler-w.patch -p1
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644
index 00000000..04922385
--- /dev/null
+++ b/debian/po/POTFILES.in
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] mdadm.templates
diff --git a/debian/po/cs.po b/debian/po/cs.po
new file mode 100644
index 00000000..0f4b4566
--- /dev/null
+++ b/debian/po/cs.po
@@ -0,0 +1,296 @@
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-17 21:10+0100\n"
+"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "MD pole vyžadovaná pro kořenový souborový systém:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Zadejte prosím mezerami oddělený seznam zařízení, případně „all“ nebo "
+"„none“. Počáteční „/dev/“ můžete vynechat a zadat jen např. „md0 md1“ nebo "
+"„md/1 md/d0“."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "pro vnitřní použití - pouze kvůli zobrazení dlouhého popisu."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Pokud je kořenový souborový systém umístěn na MD (RAID) svazku, musí být "
+"tento spuštěn během zavádění systému co nejdříve. Pokud se kořenový "
+"souborový systém nachází na logickém svazku LVM, který je vytvořen nad MD "
+"polem, musí se spustit všechna související pole."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Jestliže přesně víte, která pole jsou potřeba pro připojení kořenového "
+"souborového systému a zároveň chcete pozdržet spuštění ostatních polí na "
+"pozdější dobu, zadejte zde prosím pole, která se mají spustit. Chcete-li "
+"spustit všechna dostupná pole, můžete zadat „all“."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Nepotřebujete-li nebo nechcete-li spouštět pole pro kořenový souborový "
+"systém, ponechte odpověď prázdnou, případně zadejte „none“. To může nastat "
+"třeba v případě, že používáte automatický start přímo v jádře, nebo pokud k "
+"zavedení systému žádná pole nepotřebujete."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Vyskytla se chyba: uzel zařízení neexistuje"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Vyskytla se chyba: není blokovým zařízením"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Vyskytla se chyba: není MD polem"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Vyskytla se chyba: pole není uvedeno v souboru mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Spustit pole neuvedená v mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"Zadané pole (${array}) není uvedeno v konfiguračním souboru ${config} a tím "
+"pádem nemůže být spuštěno při zavádění systému. Napravit to můžete opravou "
+"konfiguračního souboru a znovuvytvořením počátečního ramdisku."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Hodláte-li pokračovat, přečtěte si prosím /usr/share/doc/mdadm/README."
+"upgrading-2.5.3.gz."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Toto varování je relevantní pouze pokud k zavedení systému potřebujete, aby "
+"se pole spustila z počátečního ramdisku. Používáte-li automatické spouštění "
+"přímo v jádře, nebo pokud nepotřebujete pouštět žádná pole ještě z "
+"počátečního ramdisku, můžete jednoduše pokračovat. Jinou možností je "
+"nepokračovat dále a při dotazu na seznam polí, která se mají spouštět z "
+"počátečního ramdisku, zadat 'none'."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Chcete spouštět MD pole automaticky?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Po zavedení základního systému může mdadm spustit všechna dosud nespuštěná "
+"MD (RAID) pole uvedená v souboru /etc/mdadm/mdadm.conf. Pokud nemáte "
+"zakompilovanou podporu multiple device (MD) přímo v jádře (kdy se všechna MD "
+"pole označená typem oblasti 0xfd spustí zcela automaticky), pravděpodobně "
+"budete chtít tuto možnost povolit."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Má mdadm spouštět měsíční kontroly redundance MD polí?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Pokud to vaše jádro podporuje (verze větší než 2.6.14), může mdadm "
+"pravidelně kontrolovat redundanci MD polí (RAIDů). Podle konfigurace "
+"počítače to může být proces velmi náročný na prostředky, ovšem může předejít "
+"vzácným případům ztráty dat. Pokud nejsou nalezeny chyby, používá tato "
+"kontrola v zásadě jen čtecí operace. Při nalezení chyb se je mdadm pokusí "
+"opravit, což může znamenat zápis na médium."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Pokud kontrolu povolíte, bude se dle výchozího nastavení spouštět každou "
+"první neděli v měsíci v 01:06 ráno."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Chcete spustit daemon pro monitorování MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"Daemon pro monitorování MD (RAIDu) zasílá emailová upozornění na významné MD "
+"události, jako je selhání disku."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Povolení této možnosti je doporučeno."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Příjemce emailových upozornění:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Zadejte prosím emailovou adresu uživatele, který má dostávat emailová "
+"upozornění při výskytu významných MD událostí."
+
+#~ msgid "Initialise the superblock if you reuse hard disks"
+#~ msgstr "Při znovupoužití starších disků inicializujte superblok"
+
+#~ msgid ""
+#~ "WARNING! If you are using hard disks which have RAID superblocks from "
+#~ "earlier installations in different RAID arrays, you MUST zero each "
+#~ "superblock *before* activating the autostart feature."
+#~ msgstr ""
+#~ "VAROVÁNÍ! Používáte-li pevné disky, které obsahují RAID superbloky z "
+#~ "dřívější instalace v jiném RAID poli, MUSÍTE všechny superbloky před "
+#~ "použitím automatického spouštění vynulovat."
+
+#~ msgid ""
+#~ "To do this, do not start the RAID devices automatically. First, zero the "
+#~ "superblock (mdadm --zero-superblock /dev/mdX). Next, use `dpkg-"
+#~ "reconfigure mdadm` to reactivate the autostart feature."
+#~ msgstr ""
+#~ "Chcete-li to provést, nespouštějte RAID zařízení automaticky. Nejprve "
+#~ "vynulujte superblok příkazem 'mdadm --zero-superblock /dev/mdX' a teprve "
+#~ "poté můžete povolit automatické spouštění RAIDu příkazem 'dpkg-"
+#~ "reconfigure mdadm'."
+
+#~ msgid ""
+#~ "You have the option to start all other arrays (those not needed for the "
+#~ "root filesystem) later in the boot sequence. Doing so will give you "
+#~ "greater control over the arrays with the mdadm configuration file. "
+#~ "Starting all arrays at boot-time may be safer though."
+#~ msgstr ""
+#~ "Všechna ostatní pole (ta, která nejsou potřeba pro kořenový souborový "
+#~ "systém) můžete spustit později. Pokud tak učiníte, budete mít v "
+#~ "konfiguračním souboru mdadm nad poli větší kontrolu. Na druhou stranu je "
+#~ "spouštění všech polí hned na začátku zavádění o něco jistější volbou."
+
+#~ msgid ""
+#~ "If RAID devices are started automatically, all RAID devices are "
+#~ "discovered and assembled automatically at system startup. This option "
+#~ "should only be used if the md driver is compiled as a module. If it is "
+#~ "compiled into your kernel, the automatic startup will be performed at "
+#~ "boot time by the kernel and therefore you should not choose this option."
+#~ msgstr ""
+#~ "Jestliže jsou RAID zařízení spouštěna automaticky, jsou všechna RAID "
+#~ "zařízení rozpoznána a poskládána automaticky při zavádění systému. Tuto "
+#~ "volbu byste měli použít pouze v případě, že jste ovladač md zakompilovali "
+#~ "jako modul. Pokud jste jej zakompilovali přímo do jádra, o automatické "
+#~ "spuštění se postará samotné jádro a tedy tuto možnost nepotřebujete."
diff --git a/debian/po/de.po b/debian/po/de.po
new file mode 100644
index 00000000..f88756cf
--- /dev/null
+++ b/debian/po/de.po
@@ -0,0 +1,319 @@
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+# Developers do not need to manually edit POT or PO files.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-22 10:58+0100\n"
+"Last-Translator: Mario Joussen <joussen@debian.org>\n"
+"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Fr das Wurzeldateisystem bentigte MD Verbnde:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Bitte geben Sie \"all\", \"none\" oder eine leerzeichenseparierte "
+"Gerteliste wie zum Beispiel \"md0 md1\" oder \"md/1 md/d0\" ein (das "
+"fhrende \"/dev\" kann weggelassen werden)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr ""
+"fr internen Gebrauch - es wird nur die ausfhrliche Beschreibung bentigt."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Wenn das Wurzeldateisystem Ihres Systems auf einem MD Verbund (RAID) liegt, "
+"mu es frhzeitig whrend des Bootvorgangs gestartet werden. Wenn sich Ihr "
+"Wurzeldateisystem auf einem logischen Laufwerk (LVM) befindet, das sich "
+"wiederum auf einem MD Verbund befindet, mssen alle zugehrigen Verbnde "
+"gestartet werden."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Wenn Sie genau wissen welche Verbnde bentigt werden, um das "
+"Wurzeldateisystem zu starten, und Sie den Start der anderen Verbnde auf "
+"einen spteren Zeitpunkt in der Bootreihenfolge verschieben wollen, geben "
+"Sie die zu startenden Verbnde hier ein. Alternativ geben Sie \"all\" ein, "
+"um alle verfgbaren Verbnde zu starten."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Falls Sie keine RAID Verbnde fr das Wurzeldateisystem bentigen oder "
+"starten wollen, lassen Sie die Antwort leer (oder geben \"none\" ein). Dies "
+"knnte der Fall sein, wenn Sie entweder die Autostartfunktion des Kernels "
+"verwenden oder keine Verbnde zum Booten bentigen."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Ein Fehler ist aufgetreten: Gerteknoten existiert nicht"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Ein Fehler ist aufgetreten: kein Blockgert"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Ein Fehler ist aufgetreten: kein RAID Verbund"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr ""
+"Ein Fehler ist aufgetreten: Verbund nicht in der Datei mdadm.conf aufgefhrt"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Nicht in mdadm.conf aufgefhrte Verbnde starten?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"Der angegebene Verbund (${array}) ist in der Konfigurationsdatei ${config} "
+"nicht aufgefhrt. Deshalb kann er whrend des Bootvorgangs nicht gestartet "
+"werden, es sei denn Sie korrigieren die Konfigurationsdatei und erzeugen die "
+"initiale Ramdisk neu."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Bitte lesen Sie /usr/share/doc/mdadm/README.upgrading-2.5.3.gz falls Sie "
+"beabsichtigen fortzufahren."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Diese Warnung ist nur von Bedeutung wenn Sie RAID Verbnde, die von der "
+"initialen Ramdisk gestartet werden, bentigen, um booten zu knnen. Falls "
+"Sie die Autostartfunktion des Kernels verwenden oder kein RAID Verbund zum "
+"frhen Zeitpunkt des Ladens der initialen Ramdisk gestartet werden mu, "
+"knnen Sie einfach fortfahren. Alternativ whlen Sie nicht fortfahren und "
+"geben 'none' ein, wenn Sie gefragt werden, welche RAID Verbnde von der "
+"initialen Ramdisk gestartet werden sollen."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Mchten Sie die RAID Verbnde automatisch starten?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Sobald das Grundsystem hochgefahren ist, kann mdadm alle in /etc/mdadm/mdadm."
+"conf angegebenen MD Verbnde (RAID) starten, die noch nicht gestartet "
+"wurden. Dies ist empfohlen, es sei denn die MD Untersttzung wurde in den "
+"Kernel einkompiliert und alle Partitionen, die zu MD Verbnden gehren, "
+"wurden mit dem Typ 0xfd markiert (weil diese und nur diese automatisch vom "
+"Kernel gestartet werden)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"Soll mdadm monatlich die Redundanzberprfung auf den RAID Verbnden "
+"ausfhren?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Falls Ihr Kernel es untersttzt (Versionen grer als 2.6.14) kann mdadm "
+"regelmig die Redundanz Ihrer MD Verbnde (RAID) berprfen. Dies kann "
+"abhngig von Ihrer Installation ein resourcenintensiver Vorgang sein, der "
+"aber helfen kann, seltene Flle von Datenverlust zu vermeiden. Bitte "
+"beachten Sie, da diese berprfung nur lesend erfolgt, solange keine Fehler "
+"gefunden werden. Falls Fehler gefunden werden, wird mdadm versuchen diese zu "
+"beheben, was zu schreibendem Zugriff auf das Medium fhren kann."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Die Voreinstellung ist, falls eingeschaltet, die berprfung am ersten "
+"Sonntag jedes Monats um 01:06 Uhr durchzufhren."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Mchten Sie den RAID berwachungsdmon starten?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"Der MD (RAID) berwachungsdmon verschickt Benachrichtigungen als Reaktion "
+"auf wichtige RAID Ereignisse (wie zum Beispiel Festplattenfehler)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Das Aktivieren dieser Option ist empfohlen."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Empfnger der Emailbenachrichtungen:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Geben Sie bitte die Emailadresse des Benutzers an, der die "
+"Emailbenachrichtigung fr wichtige MD Ereignisse erhalten soll."
+
+#~ msgid "${msg}"
+#~ msgstr "${msg}"
+
+#~ msgid "Initialise the superblock if you reuse hard disks"
+#~ msgstr ""
+#~ "Initialisieren Sie den Superblock, wenn Sie Festplatten wieder verwenden."
+
+#~ msgid ""
+#~ "WARNING! If you are using hard disks which have RAID superblocks from "
+#~ "earlier installations in different RAID arrays, you MUST zero each "
+#~ "superblock *before* activating the autostart feature."
+#~ msgstr ""
+#~ "WARNUNG! Wenn Sie Festplatten verwenden, die bereits einen md Superblock "
+#~ "von einer vorherigen Installation in einem anderen RAID Verbund besitzen, "
+#~ "so MÜSSEN Sie diesen löschen, *bevor* Sie die Autostart Funktion "
+#~ "aktivieren."
+
+#~ msgid ""
+#~ "To do this, do not start the RAID devices automatically. First, zero the "
+#~ "superblock (mdadm --zero-superblock /dev/mdX). Next, use `dpkg-"
+#~ "reconfigure mdadm` to reactivate the autostart feature."
+#~ msgstr ""
+#~ "Dazu starten Sie die RAID Laufwerke nicht automatisch und löschen dann "
+#~ "erst den Superblock (mdadm --zero-superblock /dev/mdX). Danach können "
+#~ "Sie mit \"dpkg-reconfigure mdadm\" die Autostart Funktion aktivieren."
+
+#~ msgid ""
+#~ "You have the option to start all other arrays (those not needed for the "
+#~ "root filesystem) later in the boot sequence. Doing so will give you "
+#~ "greater control over the arrays with the mdadm configuration file. "
+#~ "Starting all arrays at boot-time may be safer though."
+#~ msgstr ""
+#~ "Sie haben die Option alle anderen Verbünde (diese die nicht für das "
+#~ "Wurzeldateisystem benötigt werden) später während des Bootvorgangs "
+#~ "zu starten. Damit haben Sie größere Kontrolle über die Verbünde "
+#~ "mit Hilfe der mdadm Konfigurationsdatei. Es ist jedoch sicherer, alle "
+#~ "Verbünde beim Booten zu starten."
+
+#~ msgid ""
+#~ "If RAID devices are started automatically, all RAID devices are "
+#~ "discovered and assembled automatically at system startup. This option "
+#~ "should only be used if the md driver is compiled as a module. If it is "
+#~ "compiled into your kernel, the automatic startup will be performed at "
+#~ "boot time by the kernel and therefore you should not choose this option."
+#~ msgstr ""
+#~ "Wenn die RAID Laufwerke automatisch gestartet werden, werden alle RAID "
+#~ "Laufwerke beim Systemstart automatisch gefunden und gestartet. Diese "
+#~ "Option sollte nur benutzt werden, falls der md Treiber als Modul "
+#~ "kompiliert wurde. Falls er in den Kernel einkompiliert wurde, führt der "
+#~ "Kernel den automatischen Start beim Booten durch und Sie sollten diese "
+#~ "Option deshalb nicht auswählen."
+
+#~ msgid ""
+#~ "When the RAID monitor daemon runs, email notifications are sent when a "
+#~ "disk belonging to a RAID array fails or changes its status for some "
+#~ "reason."
+#~ msgstr ""
+#~ "Wird der RAID-Überwachungsdämon gestartet, so werden Email-"
+#~ "Benachrichtigungen verschickt, falls ein zum RAID gehörendes Laufwerk "
+#~ "ausfällt oder den Status ändert."
diff --git a/debian/po/es.po b/debian/po/es.po
new file mode 100644
index 00000000..06e5536e
--- /dev/null
+++ b/debian/po/es.po
@@ -0,0 +1,263 @@
+# mdadm po-debconf translation to spanish
+# Copyright (C) 2006 Software in the Public Interest, SPI Inc.
+# This file is distributed under the same license as the mdadm package.
+#
+# Changes:
+# - Initial translation
+# Javier Fernndez-Sanguino , 2006
+# - Revision
+# Fernando Cerezal
+#
+#
+# Traductores, si no conoce el formato PO, merece la pena leer la
+# documentacin de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Equipo de traduccin al espaol, por favor lean antes de traducir
+# los siguientes documentos:
+#
+# - El proyecto de traduccin de Debian al espaol
+# http://www.debian.org/intl/spanish/
+# especialmente las notas y normas de traduccin en
+# http://www.debian.org/intl/spanish/notas
+#
+# - La gua de traduccin de po's de debconf:
+# /usr/share/doc/po-debconf/README-trans
+# o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Si tiene dudas o consultas sobre esta traduccin consulte con el ltimo
+# traductor (campo Last-Translator) y ponga en copia a la lista de
+# traduccin de Debian al espaol (<debian-l10n-spanish@lists.debian.org>)
+#
+# Notas:
+# - 'array' no est traducido an. La traduccin como 'arreglo' suena
+# fatal (y es poco conocida) [ cambiar cuando se cambie en d-i ]
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm 2.5.6-6\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-02-06 18:49+0100\n"
+"PO-Revision-Date: 2008-04-25 17:47+0200\n"
+"Last-Translator: Javier Fernndez-Sanguino <jfs@debian.org>\n"
+"Language-Team: Debian Spanish <debian-l10n-spanish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Arrays MD necesarios para el sistema de ficheros raz:"
+
+# No se traduce all y none porque no aparecen en la plantilla para traducir los elementos individuales
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr "Introduzca all (todos), none (ninguno) o una lista de dispositivos separados por espacios como por ejemplo puede slo introducir md0 md1 o md/1 md/d0 (no tiene que preceder los nombres de dispositivos con /dev)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "para uso interno. Slo se utiliza la descripcin larga."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr "Si el sistema de ficheros raz de su sistema est en un array MD (RAID) tiene que inicializarse antes durante de la secuencia de arranque. Si est en un volumen lgico (LVM), que est definido sobre un MD, todos los arrays que lo forman tienen que haberse inicializado."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Introduzca los arrays a iniciar aqu, si sabe con exactitud cules son "
+"necesarios para arrancar el sistema de ficheros raz y quiere posponer el "
+"arranque de todos los dems arrays a un punto posterior de la secuencia de "
+"arranque. Tambin puede introducir all (todos) para, sencillamente, iniciar "
+"todos los arrays disponibles."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Puede dejar la respuesta en blanco (o introducir none) si no necesita o "
+"desea arrancar los arrays para el sistema de ficheros raz. Este puede ser "
+"su caso si est utilizando el autoarranque del ncleo o no necesita ningn "
+"array para el arranque."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Se produjo un error: el nodo de dispositivo no existe"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Se produjo un error: no es un dispositivo de bloques"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Se produjo un error: no es un array MD"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr ""
+"Se produjo un error: el array no est en la lista definida en el archivo "
+"mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Desea arrancar los arrays no listados en mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"El array que ha especificado (${array}) no est listado en el fichero de "
+"configuracin ${config}. Este array no podr iniciarse durante el arranque "
+"del sistema a no ser que corrija el fichero de configuracin y regenere el "
+"disco de ram inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Si desea continuar debera leer /usr/share/doc/mdadm/README.upgrading-2.5.3."
+"gz."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Este aviso slo es relevante si necesita que los arrays se inicien en el "
+"disco de RAM inicial para poder arrancar el sistema. Si utiliza el "
+"autoarranque del ncleo o no necesita que los arrays estn arrancados tan "
+"pronto como se cargue el disco de RAM, puede continuar simplemente. Tambin "
+"puede decidir no continuar e introducir none cuando se le pregunte qu "
+"arrays deberan arrancarse del disco de RAM inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Desea iniciar los arrays MD de forma automtica?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr "Mdadm puede iniciar todos los arrays MD (RAIDs) especificados en /etc/mdadm/mdadm.conf una vez se haya arrancado el sistema base, siempre que stos no se hayan arrancado an. Esto es probablemente lo que desea a no ser que haya compilado el soporte de dispositivos mltiples (MD, multiple devices) en el ncleo y marcado todas las particiones que son parte de los arrays MD con el tipo 0xfd (ya que stas, y slo stas, se arrancarn de forma automtica por el ncleo)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"Debera mdadm ejecutar comprobaciones de redundancia mensuales de los "
+"arrays MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr "Mdadm puede comprobar de forma peridica la redundancia de sus arrays MD (RAIDs) si el ncleo lo soporta (si su versin es superior a la 2.6.14). Esto puede ser un proceso que consuma muchos recursos, dependiendo de su configuracin, pero podra ayudar a prevenir casos raros de prdida de datos. Tenga en cuenta que estas comprobaciones se hacen en modo lectura salvo que se detecten errores, en cuyo caso mdadm necesitar corregirlos, lo que significa que ser necesario tener acceso de escritura a los medios fsicos."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr "El valor por omisio, si se activa, es comprobar el primer Domingo de cada mes a las 01:06 am."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Desea arrancar el demonio de monitorizacin MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr "El demonio de monitorizacin MD (RAID) enva notificaciones por correo electrnico cuando se producen eventos importantes en los dispositivos MD (como pueda ser el caso de un fallo de un disco)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Es opcional habilitar esta opcin."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Destinatario de las notificaciones por correo:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Introduzca la direccin de correo electrnico del usuario que debera "
+"recibir las notificaciones por correo de eventos relevantes en los "
+"dispositivos MD."
+
+#~ msgid "${msg}"
+#~ msgstr "${msg}"
diff --git a/debian/po/eu.po b/debian/po/eu.po
new file mode 100644
index 00000000..498c4105
--- /dev/null
+++ b/debian/po/eu.po
@@ -0,0 +1,238 @@
+# mdadm debconf templates basque translation
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Piarres Beobide <pi@beobide.net>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm-debconf\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-02-06 18:49+0100\n"
+"PO-Revision-Date: Y2008-04-30 11:00+0100\n"
+"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
+"Language-Team: Euskara <debian-l10n-basque@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Erro fitxategi-sistemarentzat beharrezko MD array-ak:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Mesedez idatzi 'denak', 'batez', edo zuriunez bereziriko gailuen zerrenda, "
+"adibidez 'md0 md1' edo 'md/1 md/d0' (hasierako '/dev/' baztertu daiteke)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "barne erabilerako - deskribapen luzea bakarrik behar da."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Sistemaren erro fitxategi-sistema MD array (RAID) batetan kokaturik badago, berau "
+"abio sekuentziaren hasieran abiarazi behar da. MD batetan kokaturiko bolumen "
+"logiko (LVM) batetan badago osatzen duten array guztiak abiarazi behar dira."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Erro fitxategi-sistema erabiltzeko beharrezkoak diren arrayak zehazki jakin "
+"eta beste array-en abiaraztea abioaren beranduagoko puntu batetara atzeratu "
+"nahi baduzu, idatzi abiarazi beharreko array-ak hemen. Bestela idatzi 'denak' "
+"array erabilgarri guztiak abiarazteko."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Ez baduzu erro fitxategi sistemarako array-rik abiarazi behar, hutsik utzi "
+"ezazu (edo 'batez' idatzi). Hau abioan array-rik behar ez duzulako edo kernel "
+"auto-abioa erabiltzen duzulako izan daiteke."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Errore bat gertatu da: gailu nodoa ez dago"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Errore bat gertatu da: ez da bloke gailu bat"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Errore bat gertatu da: ez da MD array bat"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Errore bat gertatu da: array-a ez dago mdadm.conf fitxategian zerrendaturik"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Abiarazi mdadm.conf fitxategian ez dauden array-ak?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"Zehazturiko (${array}) array-a ez dago (${config}) konfigurazio fitxategian "
+"zerrendaturiko. Horregatik ezin da abioan abiarazi zuk konfigurazio fitxategia "
+"konpondu eta abio ramdiskoa bersortu arte."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Mesedez irakurri /usr/share/doc/mdadm/README.upgrading-2.5.3.gz aurrera jarraitu "
+"nahi baduzu."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Abisu hau abiarazi ahal izateko ramdisk.etik array-ak baiaraztea behar baduzu "
+"bakarrik da garrantzitsua. Kernel auto-abioa erabiltzen baduzu edo ez baduzu "
+"ramdisk-etik hasieran array-rik kargatzea behar aurrera jarraitu dezakezu. "
+"Bestela ez jarraitzea hautatu eta 'batez' idatzi hasierako ramdisk-etik "
+"kargatu beharreko array-ez galdetzean."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "MD array-ak automatikoki abiarazi nahi al dituzu?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Behin oinarri sistema abiarazi denean, mdadm-ek /etc/mdadm/mdadm.conf-en "
+"konfiguraturiko eta oraindik abiarazi ez diren MD array (RAID) guztiak "
+"abiarazi ditzake. Hau gomendagarria da ez bada gailu anitzeko (MD) onarpena "
+"kernelan konpilaturik eta partizio guztiak MD array partaide bezala markaturik "
+"badaude, 0xfd mota erabiliaz (horrela hauek eta hauek bakarrik abiaraziko "
+"ditu automatikoki kernelak)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Mdadm-ek hilabetero egin behar al du MD array-en erredundantzia egiaztapena?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Kernelak onartzen badu (2.6.14 baino bertsio berriagoak), mdadm-ek aldiro "
+"MD array-en (RAID-en) erredundantzia aldiro egiazta dezake. Hau errekurtso-behar "
+"handiko prozesu bat izan daiteke, konfigurazio lokalaren arabera, baina datu "
+"galera kasuak saihesten lagundu dezake. Kontutan izan errorerik aurkitzen ez bada "
+"irakurketa-soileko egiaztapen bat dela; errorerik arukituko balitz mdadm "
+"konpontzen saiatuko da, honetarako euskarrian idaztea beharrezko izan daitekeelarik."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Lehenespen bezala gaiturik dago, egiaztapena hilabete bakoitzeko lehenengo "
+"asteleheneko 01:06-etan egingo da."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "MD monitorizazio deabrua abiarazi nahi al duzu?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"MD (RAID) monitore deabruak eposta bidezko berri-emateak bidaltzen ditu "
+"gertaera garrantzitsuetan (disko erroreen antzerakoetan)."
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Aukera hau gaitzea gomendagarria da."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Eposta berri-emateen hartzailea:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Mesedez idatzi MD gertaera garrantzitsuen berri emate mezuak jaso "
+"behar dituen erabiltzailearen eposta helbidea."
diff --git a/debian/po/fi.po b/debian/po/fi.po
new file mode 100644
index 00000000..e10b9f44
--- /dev/null
+++ b/debian/po/fi.po
@@ -0,0 +1,158 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-02-06 18:49+0100\n"
+"PO-Revision-Date: 2008-02-14 11:24+0200\n"
+"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: FINLAND\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Juuritiedostojärjestelmän tarvitsemat MD-pakat:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "Please enter 'all', 'none', or a space-separated list of devices such as 'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr "Syötä ”all” (kaikki), ”none” (ei mitään) tai välilyönnein eroteltu lista laitteista, esimerkiksi ”md0 md1” tai ”md/1 md/d0” (edeltävä /dev/ voidaan jättää pois)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "vain sisäiseen käyttöön - vain pitkä kuvaus on tarpeellinen."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "If the system's root file system is located on an MD array (RAID), it needs to be started early during the boot sequence. If it is located on a logical volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr "Jos järjestelmän juuritiedostojärjestelmä sijaitsee MD-levypakassa (RAID), pakka tulee käynnistää aikaisessa vaiheessa käynnistettäessä järjestelmää. Jos se sijaitsee loogisella taltiolla (LVM), joka on MD-pakassa, kaikki taltioon liittyvät pakat tulee käynnistää."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "If you know exactly which arrays are needed to bring up the root file system, and you want to postpone starting all other arrays to a later point in the boot sequence, enter the arrays to start here. Alternatively, enter 'all' to simply start all available arrays."
+msgstr "Jos tiedät tarkalleen mitä pakkoja tarvitaan juuritiedostojärjestelmän käynnistämiseen ja haluat viivästyttää muiden pakkojen käynnistystä, syötä käynnistettävät pakat tähän. Vaihtoehtoisesti voit käynnistää kaikki pakat syöttämällä ”all”."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "If you do not need or want to start any arrays for the root file system, leave the answer blank (or enter 'none'). This may be the case if you are using kernel autostart or do not need any arrays to boot."
+msgstr "Jos mitään pakkoja ei tarvitse käynnistää juuritiedostojärjestelmän käyttämiseksi, jätä kenttä tyhjäksi (tai syötä ”none”). Tämä voi olla tilanne, jos käytät ytimen autokäynnistystä tai et tarvitse mitään pakkoja käynnistykseen."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Tapahtui virhe: laitetiedostoa ei ole olemassa"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Tapahtui virhe: ei lohkolaite"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Tapahtui virhe: ei MD-pakka"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Tapahtui virhe: pakkaa ei ole listattu tiedostossa mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Käynnistetäänkö pakat, joita ei ole listattu tiedostossa mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "The specified array (${array}) is not listed in the configuration file (${config}). Therefore, it cannot be started during boot, unless you correct the configuration file and recreate the initial ramdisk."
+msgstr "Annettua pakkaa (${array}) ei ole listattu asetustiedostossa (${config}). Niinpä sitä ei voida käynnistää käynnistettäessä järjestelmä, ellei asetustiedostoa korjata ja käynnistysmuistilevyä (initrd) luoda uudelleen."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend to continue."
+msgstr "Lue /usr/share/doc/mdadm/README.upgrading-2.5.3.gz, jos aiot jatkaa."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "This warning is only relevant if you need arrays to be started from the initial ramdisk to be able to boot. If you use kernel autostarting, or do not need any arrays to be started as early as the initial ramdisk is loaded, you can simply continue. Alternatively, choose not to continue and enter 'none' when prompted which arrays to start from the initial ramdisk."
+msgstr "Tämä varoitus on aiheellinen vain, jos järjestelmän käynnistäminen vaatii pakkojen käynnistämistä käynnistysmuistilevyltä. Jos ytimen autokäynnistys on käytössä tai pakkoja ei tarvita siinä vaiheessa, kun käynnistysmuistilevy ladataan, voit jatkaa. Vaihtoehtoisesti voit olla jatkamatta ja syöttää ”none” kysyttäessä käynnistysmuistilevyltä käynnistettäviä pakkoja."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Tulisiko MD-pakat käynnistää automaattisesti?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Once the base system has booted, mdadm can start all MD arrays (RAIDs) specified in /etc/mdadm/mdadm.conf which have not yet been started. This is recommended unless multiple device (MD) support is compiled into the kernel and all partitions are marked as belonging to MD arrays, with type 0xfd (as those and only those will be started automatically by the kernel)."
+msgstr "Kun perusjärjestelmä on käynnistynyt, mdadm voi käynnistää kaikki tiedostossa /etc/mdadm/mdadm.conf luetellut MD-pakat (RAIDit), joita ei ole vielä käynnistetty. Tämä on suositeltavaa, paitsi jos MD-tuki on käännetty ytimeen ja kaikki osiot on merkitty kuulumaan MD-pakkoihin tyypillä 0xfd (koska ydin käynnistää automaattisesti nämä ja vain nämä)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Tulisiko mdadm:n tarkistaa kuukausittain MD-pakkojen eheys?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "If the kernel supports it (versions greater than 2.6.14), mdadm can periodically check the redundancy of MD arrays (RAIDs). This may be a resource-intensive process, depending on the local setup, but it could help prevent rare cases of data loss. Note that this is a read-only check unless errors are found; if errors are found, mdadm will try to correct them, which may result in write access to the media."
+msgstr "Ohjelma mdadm voi säännöllisesti tarkistaa MD-pakkojen (RAIDien) tietojen monistuksen, jos ydin tukee tätä (versiosta 2.6.14 eteenpäin). Tämä prosessi voi paikallisesta kokoonpanosta riippuen kuluttaa paljon resursseja, mutta saattaa ehkäistä tietojen menetyksiä tietyissä harvinaisissa tapauksissa. Tarkistus vaatii vain tietojen lukemista, jos virheitä ei löyty. Jos virheitä löytyy, mdadm yrittää korjata ne, jolloin levylle saatetaan myös kirjoittaa."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "The default, if turned on, is to check on the first Sunday of every month at 01:06."
+msgstr "Oletuksena, jos tarkistus on käytössä, se tehdään kuukauden ensimmäisenä sunnuntaina kello 01.06."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Haluatko käynnistää MD-seurannan?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "The MD (RAID) monitor daemon sends email notifications in response to important MD events (such as a disk failure)."
+msgstr "MD-pakkoja (RAIDeja) seuraava taustaohjelma lähettää tietoja sähköpostiin tärkeiden MD-tapahtumien (kuten levyrikon) sattuessa."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Tämän valitseminen on suositeltavaa."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Sähköpostiviestien vastaanottaja:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Please enter the email address of the user who should get the email notifications for important MD events."
+msgstr "Anna sähköpostiosoite, johon sähköpostitiedotteet tärkeistä MD-tapahtumista lähetetään."
+
diff --git a/debian/po/fr.po b/debian/po/fr.po
new file mode 100644
index 00000000..cf93e23a
--- /dev/null
+++ b/debian/po/fr.po
@@ -0,0 +1,254 @@
+# Translation of mdadm debconf templates to French
+# Copyright (C) 2008 Florentin Duneau <fduneau@gmail.com>
+# This file is distributed under the same license as the lurker package.
+#
+#
+# Éric Madesclair <eric-m@wanadoo.fr>, 2005, 2006.
+# Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, 2006.
+# Florentin Duneau <fduneau@gmail.com>, 2006, 2007, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-02-06 18:49+0100\n"
+"PO-Revision-Date: 2008-02-15 20:42+0100\n"
+"Last-Translator: Florentin Duneau <fduneau@gmail.com>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Ensembles MD requis par le système de fichiers racine :"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Veuillez indiquer « all », « none » ou une liste de périphériques, séparés par "
+"des espaces, par exemple, « md0 md1 » ou « md/1 md/d0 » (vous pouvez omettre « /"
+"dev/ »)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr ""
+"Pour une utilisation interne - seule la description longue est nécessaire"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Si le système de fichiers racine se trouve sur un ensemble MD (RAID), il "
+"doit être lancé au début de la procédure de démarrage. Si le système de "
+"fichiers racine se trouve sur un volume logique (« LVM »), qui se trouve "
+"aussi sur un volume MD, tous les composants de l'ensemble doivent être "
+"démarrés."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Si vous savez exactement quels sont les ensembles RAID nécessaires au "
+"démarrage du système de fichiers racine et si vous souhaitez différer le "
+"démarrage de tous les autres ensembles, veuillez les indiquer ici. Vous "
+"pouvez aussi indiquer « all » pour démarrer tous les ensembles existants."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Si vous n'avez pas besoin ou ne souhaitez pas démarrer d'ensemble RAID pour "
+"le système de fichiers racine, veuillez laissez l'entrée vide (ou entrez "
+"« none »). Ceci peut être le cas si vous utilisez l'option de démarrage "
+"automatique (« autostart ») du noyau ou si vous n'avez besoin d'aucun "
+"ensemble pour démarrer."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Erreur : périphérique inconnu"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Erreur : ce n'est pas un périphérique en mode bloc"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Erreur : ce n'est pas un ensemble RAID"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Erreur : ensemble non mentionné dans le fichier mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Faut-il démarrer les ensembles RAID non mentionnés dans mdadm.conf ?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"L'ensemble (${array}) que vous avez spécifié n'est pas mentionné dans le "
+"fichier de configuration ${config}. Il ne sera donc pas démarré à moins que "
+"vous corrigiez le fichier de configuration et que vous génériez de nouveau "
+"le disque mémoire initial (« ramdisk »)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Veuillez consulter /usr/share/doc/mdadm/README.upgrading-2.5.3.gz si vous "
+"souhaitez continuer."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Cet avertissement n'a de signification que si des ensembles RAID doivent "
+"être lancés à partir du disque mémoire initial afin de pouvoir démarrer le "
+"système. Si vous utilisez le démarrage automatique par le noyau, ou si vous "
+"n'avez pas besoin de lancer d'ensemble RAID depuis le disque mémoire "
+"initial, vous pouvez simplement poursuivre. Vous pouvez aussi choisir de ne "
+"pas poursuivre et entrer « none » lorsqu'il vous sera demandé le nom des "
+"ensembles RAID à démarrer à partir du disque mémoire initial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Faut-il démarrer automatiquement les ensembles RAID ?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Lorsque le système de base a démarré, mdadm peut démarrer tous les ensembles "
+"(RAID) indiqués dans /etc/mdadm/mdadm.conf qui n'ont pas encore été "
+"démarrés. Cela est recommandé, sauf si la gestion MD a été compilée dans le "
+"noyau et que toutes les partitions faisant partie d'un ensemble RAID ont été "
+"marquées avec le type 0xfd (car seul ce type de partition sera démarré "
+"automatiquement par le noyau)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Faut-il vérifier chaque mois la redondance des ensembles RAID ?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Si le noyau le gère (à partir de la version 2.6.14), mdadm peut vérifier "
+"périodiquement la redondance des ensembles RAID. Cette action peut demander "
+"beaucoup de ressources selon la configuration, mais cela aide à prévenir les "
+"rares cas de pertes de données. Notez que ce test est réalisé en lecture "
+"seule à moins que des erreurs ne soient rencontrées. Si des erreurs sont "
+"détectées, mdadm essayera de les corriger, ce qui entraînera des écritures "
+"sur le média."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Par défaut, la vérification s'effectuera tous les premiers dimanche du mois "
+"à 01 h 06."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Faut-il démarrer le démon de surveillance MD ?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"Le démon de surveillance MD envoie des notifications par courriel lors "
+"d'importants événements MD (comme une panne de disque dur)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Il est recommandé d'activer cette option."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Destinataire des notifications par courriel :"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Veuillez indiquer l'adresse électronique de l'utilisateur qui doit recevoir "
+"les notifications lors d'importants événements MD."
diff --git a/debian/po/gl.po b/debian/po/gl.po
new file mode 100644
index 00000000..458f19a5
--- /dev/null
+++ b/debian/po/gl.po
@@ -0,0 +1,244 @@
+# Galician translation of mdadm's debconf templates
+# This file is distributed under the same license as the mdadm package.
+# Jacobo Tarrio <jtarrio@debian.org>, 2007, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-06 23:45+0000\n"
+"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Arrays MD necesarios para o sistema de ficheiros raíz"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Introduza \"all\" (todos), \"none\" (ningún) ou unha lista de dispositivos "
+"separados por espazos, tales coma \"md0 md1\" ou \"md/1 md/0\" (pódese "
+"omitir o \"/dev/\" do principio)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "para uso interno - só se precisa da descrición longa."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Se o sistema de ficheiros raíz do sistema está ubicado nun array MD (RAID), "
+"hai que o iniciar no principio da secuencia de inicio. Se está ubicado nun "
+"volume lóxico (LVM) que está nun MD, hai que iniciar os arrays constituíntes."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Se sabe exactamente que arrays son necesarios para erguer o sistema de "
+"ficheiros raíz, e se quere pospor o inicio dos demáis arrays ata un punto "
+"posterior da secuencia de inicio, introduza aquí os arrays a iniciar. "
+"Alternativamente, introduza \"all\" para iniciar tódolos arrays dispoñibles."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Se non quere ou precisa de iniciar ningún array para o sistema de ficheiros "
+"raíz, deixe a resposta en branco (ou introduza \"none\"). Este pode ser o "
+"caso se está a empregar o autoinicio do núcleo ou non precisa de ningún "
+"array para o inicio."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Houbo un erro: o nodo do dispositivo non existe"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Houbo un erro: non é un dispositivo de bloques"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Houbo un erro: non é un array MD"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Houbo un erro: o array non figura no ficheiro mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "¿Iniciar os arrays que non figuran en mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"O array indicado (${array}) non figura no ficheiro de configuración "
+"(${config}). Polo tanto, non se pode arrincar no inicio do sistema, a menos "
+"que corrixa o ficheiro de configuración e volva crear o disco RAM inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Consulte /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se quere continuar."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Este aviso só é relevante se precisa de iniciar arrays desde o disco RAM "
+"inicial para poder iniciar o sistema. Se emprega autoinicio do núcleo ou non "
+"precisa de iniciar arrays tan pronto como se cargue o disco RAM inicial, "
+"pode continuar. De xeito alternativo, escolla non continuar e introduza "
+"\"none\" cando se lle pregunte que arrays quere iniciar do disco RAM inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "¿Quere iniciar os arrays MD automaticamente?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Despois do inicio do sistema base, mdadm pode iniciar tódolos arrays MD "
+"(RAIDs) especificados en /etc/mdadm/mdadm.conf que non estean aínda "
+"iniciados. Recoméndase isto a menos que o soporte de dispositivos múltiples "
+"(MD) estea compilado no núcleo e tódalas particións estean marcadas coma "
+"parte de arrays MD, con tipo 0xfd (xa que esas, e só esas, as ha iniciar "
+"automaticamente o núcleo)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"¿Debería mdadm facer comprobacións mensuais de redundancia dos arrays MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Se o núcleo ten soporte para iso (en versións superiores á 2.6.14), mdadm "
+"pode facer comprobacións periódicas de redundancia dos arrays MD (RAIDs). "
+"Este pode ser un proceso intensivo en recursos, dependendo da configuración "
+"local, pero pode axudar a evitar algúns casos raros de perdas de datos. Teña "
+"en conta que esta é unha comprobación de só lectura a menos que se atopen "
+"erros; se se atopan erros, mdadm ha tratar de os arranxar, o que pode "
+"producir accesos de escritura aos soportes."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"A opción por defecto, se se activa, é facer as comprobacións o primeiro "
+"domingo de cada mes ás 01:16."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "¿Quere iniciar o servizo de monitorización de MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"O servizo de monitorización de MD (RAID) envía avisos por email en resposta "
+"a eventos importantes de MD (coma fallos nos discos)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Recoméndase activar esta opción."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Destinatario para os avisos por email:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Introduza o enderezo de email do usuario que debe recibir os avisos por "
+"email de eventos importantes de MD."
+
+#~ msgid "${msg}"
+#~ msgstr "${msg}"
diff --git a/debian/po/it.po b/debian/po/it.po
new file mode 100644
index 00000000..9875285f
--- /dev/null
+++ b/debian/po/it.po
@@ -0,0 +1,245 @@
+# Italian (it) translation of debconf templates for mdadm
+# Copyright (C) 2008 Software in the Public Interest
+# This file is distributed under the same license as the mdadm package.
+# Luca Monducci <luca.mo@tiscali.it>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm italian debconf\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-02-06 18:49+0100\n"
+"PO-Revision-Date: 2008-11-19 11:02+0100\n"
+"Last-Translator: Luca Monducci <luca.mo@tiscali.it>\n"
+"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Array MD necessari per il file system di root:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Inserire \"all\", \"none\" oppure un elenco dei device separati da uno "
+"spazio, per esempio \"md0 md1\" o \"md/1 md/d0\" (il \"/dev/\" iniziale "
+"può essere omesso)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "uso interno - è necessaria solo la descrizione lunga."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Se il file system di root è su un array MD (RAID), è necessario attivare "
+"tale array all'inizio della sequenza d'avvio. Se è su un volume logico "
+"(LVM), il quale è su un MD, è necessario attivare tutti gli array che "
+"costituiscono il volume."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Se si conoscono esattamente quali sono gli array da attivare per il file "
+"system di root e si vuole rimandare l'attivazione di tutti gli altri array a "
+"una fase successiva della sequenza d'avvio, inserire adesso gli array da "
+"attivare. In alternativa, inserire \"all\" per attivare tutti gli array "
+"disponibili."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Se non si ha bisogno o non si vuole attivare nessun array per il file "
+"system di root, lasciare la risposta in bianco (oppure inserire \"none\"). "
+"Questo potrebbe essere il caso se si utilizza l'attivazione automatica da "
+"kernel oppure se non si ha bisogno di alcun array per l'avvio."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Errore: il nodo del device non esiste"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Errore: non è un device a blocchi"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Errore: non è un array MD"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Errore: array non elencato nel file mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Avviare gli array non elencati in mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"L'array specificato (${array}) non è presente nel file di configurazione "
+"(${config}): quindi non può essere attivato durante l'avvio senza "
+"correggere il file di configurazione e ricreare il ramdisk iniziale."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Fare riferimento a /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se si "
+"intende proseguire."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Questo avviso è pertinente solo se è necessario attivare gli array dal "
+"ramdisk iniziale per permettere l'avvio. Con l'avvio automatico da kernel "
+"o se non è necessario attivare gli array così presto come al caricamento del "
+"ramdisk iniziale, si può proseguire. In alternativa, scegliere di non "
+"continuare e inserire \"none\" quando viene chiesto quali array attivare dal "
+"ramdisk iniziale."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Avviare gli array MD automaticamente?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Una volta avviato il sistema di base, mdadm può attivare tutti gli array "
+"MD (RAID) specificati in /etc/mdadm/mdadm.conf non ancora attivi. Questa è "
+"la configurazione consigliata tranne quando il supporto per i device "
+"multidisco (MD) è compilato nel kernel e tutte le partizioni appartenenti "
+"agli array MD sono marcate con tipo 0xfd (come quelle che sono attivate "
+"automaticamente dal kernel)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Far eseguire a mdadm i controlli mensili di ridondanza sugli array MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Se il kernel lo supporta (tutte le versioni successive la 2.6.14), mdadm può "
+"effettuare delle verifiche periodiche sulla ridondanza degli array MD "
+"(RAID). Questo è un processo che potrebbe richiedere molte risorse, in base "
+"alle impostazioni locali, ma può prevenire i rari casi di perdita di dati. "
+"Notare che questa verifica è di sola-lettura tranne quando riscontra degli "
+"errori; quando ci sono errori, mdadm prova a correggerli e potrebbe accedere "
+"in scrittura al supporto."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Se attivo, la configurazione predefinita prevede che il controllo sia "
+"eseguito la prima domenica di ogni mese alle 01.06."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Avviare il demone di monitoraggio MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"Il demone di monitoraggio MD (RAID) invia delle notifiche via email quando "
+"si verificano eventi importanti (come la rottura di un disco)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Si raccomanda l'attivazione di questa funzione."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Destinatario delle email di notifica:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Inserire l'indirizzo email dell'utente che deve ricevere le notifiche di "
+"eventi importanti legati al MD."
diff --git a/debian/po/ja.po b/debian/po/ja.po
new file mode 100644
index 00000000..b10b53a1
--- /dev/null
+++ b/debian/po/ja.po
@@ -0,0 +1,299 @@
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm 2.6.3+200709292116+4450e59-4\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-07 05:52+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "ルートファイルシステムに必要な MD アレイ:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"'all' または 'none'、あるいはデバイスのリストを 'md0 md1' や 'md/1 md/d0' の"
+"ようにスペースで区切って入力してください (前に付く '/dev/' は省略可能です)。"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "内部での利用について - でも、長い説明が必要です。"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"あなたのシステムのルートファイルシステムが MD アレイ (RAID) 上に配置されてい"
+"るならば、ブートシーケンスの初期段階で MD アレイを開始する必要があります。"
+"ルートファイルシステムが MD のような論理ボリューム (LVM) 上にある場合は、構成"
+"しているアレイ全ての開始が必要です。"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"どのアレイがルートファイルシステムの立ち上げに必要かを正確に知っており、ブー"
+"トシーケンスの後の時点まで意図しているもの以外全てのアレイ起動を遅らせたい場"
+"合、ここで最初に起動するアレイを入力してください。そうでない場合、'all' と入"
+"力して単に全ての利用可能なアレイを最初に立ち上げてください。"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"ルートファイルシステムのために、どのアレイも必要ない、あるいはどのアレイも起"
+"動したくは無いという場合は、空白のままに (あるいは 'none' と入力) してくださ"
+"い。これは、カーネルで自動的に起動される場合や起動時にはアレイは不要であると"
+"いう場合です。"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "エラーが発生しました: デバイスノードが存在しません"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "エラーが発生しました: ブロックデバイスではありません"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "エラーが発生しました: MD アレイではありません"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "エラーが発生しました: mdadm.conf ファイルに記述されていないアレイです"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "mdadm.conf に記述されていないアレイを起動しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"指定したアレイ (${array}) は設定ファイル (${config}) に記述されていません。そ"
+"のため、設定ファイルを修正して initrd を再生成しなければブート時に起動できま"
+"せん。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"続行したい場合は、/usr/share/doc/mdadm/README.upgrading-2.5.3.gz を参照してく"
+"ださい。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"この警告は、ブートできるようにアレイを initrd から起動する必要がある場合だけ"
+"関係します。カーネルで自動的にアレイを起動するようにしている場合、あるいは "
+"initrd がロードされる程早い段階でどのアレイも起動したくはない場合はそのまま続"
+"行できます。他の選択肢としては、起動の続行を中止し、どのアレイを initrd から"
+"起動するかを尋ねられた際に 'none' と入力します。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "MD アレイを自動的に起動しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"一旦ベースシステムが起動すると、mdadm は /etc/mdadm/mdadm.conf で指定されたま"
+"だ起動していない全ての MD アレイ (RAID) を起動できます。複数のデバイス (MD) "
+"をサポートするようにカーネルをコンパイルしており、MD アレイのすべてのパーティ"
+"ションをパーティションタイプ 0xfd と設定しない限り、これを推奨します (このよ"
+"うな設定にした場合のみ、アレイは自動的にカーネルから起動されます) 。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "mdadm は、毎月 MD アレイの冗長性チェックを行いますか?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"カーネルがサポートしている場合 (バージョン 2.6.14 以降)、mdadm は定期的に MD "
+"アレイ (RAID) の冗長性チェックをすることが可能です。これは、設定に依存します"
+"がリソースを集中的に使用する動作です。しかし、稀なデータ消失をあらかじめ避け"
+"るのに役立つでしょう。これは、エラーが見つからない限りは読み込みチェックのみ"
+"であるのに注意してください。エラーが発見された場合、mdadm は修正しようとし"
+"て、結果的にメディアへ書き込みを行います。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"有効にした場合、デフォルトでは毎月第一日曜 01:06 にチェックが実行されます。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "MD 監視デーモンを起動しますか?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"MD (RAID) 監視デーモンは、重大な MD 関連のイベント (ディスク障害など) に対し"
+"てメールで通知を送ります。"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "この機能を有効にするのをお勧めします。"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "メール通知の宛先:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"MD 関連の重大なイベントが発生した際、メールでの通知を受け取る必要があるユーザ"
+"のメールアドレスを入力してください。"
+
+#~ msgid ""
+#~ "WARNING! If you are using hard disks which have RAID superblocks from "
+#~ "earlier installations in different RAID arrays, you MUST zero each "
+#~ "superblock *before* activating the autostart feature."
+#~ msgstr ""
+#~ "警告! 以前のインストールによって他の RAID アレイに対する RAID superblock "
+#~ "を保持しているハードディスクを使っている場合、自動起動機能を有効にする"
+#~ "「前」に、その superblock をゼロで上書きすることが「必要」です。"
+
+#~ msgid ""
+#~ "To do this, do not start the RAID devices automatically. First, zero the "
+#~ "superblock (mdadm --zero-superblock /dev/mdX). Next, use `dpkg-"
+#~ "reconfigure mdadm` to reactivate the autostart feature."
+#~ msgstr ""
+#~ "これを行うには、RAID デバイスを自動的に起動してはいけません。まず、 "
+#~ "superblock をゼロで上書きします (mdadm --zero-superblock /dev/xxx)。 そし"
+#~ "て、自動起動機能を有効にするため、'dpkg-reconfigure mdadm' コマンドを実行"
+#~ "します。"
+
+#~ msgid ""
+#~ "You have the option to start all other arrays (those not needed for the "
+#~ "root filesystem) later in the boot sequence. Doing so will give you "
+#~ "greater control over the arrays with the mdadm configuration file. "
+#~ "Starting all arrays at boot-time may be safer though."
+#~ msgstr ""
+#~ "ブートシーケンスの後ろの方で (root ファイルシステムには必要ない) 他のアレ"
+#~ "イ全てを起動するという選択肢もあります。これを選べば、mdadm の設定ファイル"
+#~ "を使って、アレイについて様々な設定が出来るようになるでしょう。もっとも、起"
+#~ "動時に全てのアレイを起動するほうが安全ではあります。"
+
+#~ msgid ""
+#~ "If RAID devices are started automatically, all RAID devices are "
+#~ "discovered and assembled automatically at system startup. This option "
+#~ "should only be used if the md driver is compiled as a module. If it is "
+#~ "compiled into your kernel, the automatic startup will be performed at "
+#~ "boot time by the kernel and therefore you should not choose this option."
+#~ msgstr ""
+#~ "RAID デバイスが自動的に起動するようにすると、システム起動時に全ての RAID "
+#~ "デバイスが検出され、自動的に構成されます。このオプションは md ドライバがモ"
+#~ "ジュールとしてコンパイルされている場合のみに利用します。カーネルに組み込ん"
+#~ "でコンパイルしていた場合、システム起動時にカーネルによって自動起動が実行さ"
+#~ "れるので、このオプションでの選択はできません。"
+
+#~ msgid ""
+#~ "When the RAID monitor daemon runs, email notifications are sent when a "
+#~ "disk belonging to a RAID array fails or changes its status for some "
+#~ "reason."
+#~ msgstr ""
+#~ "RAID 監視デーモンが動作している場合、RAID アレイに属しているディスクが故障"
+#~ "するか何らかの理由で変化した際にメールで通知が送られます。"
diff --git a/debian/po/nl.po b/debian/po/nl.po
new file mode 100644
index 00000000..d5c7e028
--- /dev/null
+++ b/debian/po/nl.po
@@ -0,0 +1,255 @@
+# translation of mdadm_2.6.3+200709292116+4450e59-4.po to Dutch
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans#
+# Developers do not need to manually edit POT or PO files.
+#
+# Frans Pop <aragorn@tiscali.nl>, 2005, 2006.
+# Frans Pop <elendil@planet.nl>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm_2.6.3+200709292116+4450e59-4\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-19 14:04+0100\n"
+"Last-Translator: Frans Pop <elendil@planet.nl>\n"
+"Language-Team: Dutch <debian-l10n-dutch@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Voor het basisbestandssysteem benodigde RAID-reeksen:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Geef in 'all' (alle), 'none' (geen) of één of meerdere apparaatbestanden "
+"(gescheiden door spaties), bijvoorbeeld \"md0 md1\" of \"md/1 md/d0\" (de "
+"prefix '/dev/' kan dus worden weggelaten)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "Voor intern gebruik - alleen de lange omschrijving wordt gebruikt."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Als het basisbestandssysteem van uw systeem zich op een RAID-volume bevindt, "
+"dient dit vroeg in de opstartcyclus geactiveerd te worden. Als het zich op "
+"een logisch volume (LVM) op RAID bevindt, dienen alle betrokken reeksen "
+"geactiveerd te worden."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Als u precies weet welke reeksen benodigd zijn voor het basisbestandssysteem "
+"en u het activeren van alle overige reeksen wilt uitstellen tot later in de "
+"opstartprocedure, geef dan hier de te activeren reeksen in. Anders kunt u "
+"'all' ingeven om alle beschikbare reeksen te activeren."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Als u geen reeksen hoeft of wenst te activeren voor het "
+"basisbestandssysteem, laat dan het antwoord leeg (of geef 'none' in). Dit "
+"kan het geval zijn als u \"kernel autostart\" gebruikt of geen reeksen nodig "
+"heeft om uw systeem op te starten."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Er is een fout opgetreden: apparaatbestand bestaat niet"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Er is een fout opgetreden: geen blokapparaat"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Er is een fout opgetreden: geen RAID reeks"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Er is een fout opgetreden: reeks komt niet voor in bestand mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Reeksen activeren die niet in mdadm.conf voorkomen?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"De reeks die u heeft opgegeven (${array}) komt niet voor in het "
+"configuratiebestand (${config}). Tenzij u het configuratiebestand corrigeert "
+"en de initiële ramdisk opnieuw aanmaakt, kan deze reeks tijdens het "
+"opstarten van het systeem niet worden geactiveerd."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Zie /usr/share/doc/mdadm/README.upgrading-2.5.3.gz als u van plan bent "
+"verder te gaan."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Deze waarschuwing is alleen relevant als de reeksen geactiveerd moeten "
+"worden vanuit een initiële ramdisk om het systeem te kunnen opstarten. Als u "
+"\"kernel autostart\" gebruikt of er geen reeksen zijn die vanuit de initiële "
+"ramdisk gestart moeten worden, kunt u gewoon doorgaan. Kies anders nu om "
+"niet door te gaan en geef 'none' in bij de vraag welke reeksen vanuit de "
+"initiële ramdisk gestart moeten worden."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "RAID-apparaten automatisch activeren?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Nadat het basissysteem eenmaal is opgestart, kan mdadm zorgdragen voor het "
+"activeren van alle RAID-reeksen die voorkomen in /etc/mdadm/mdadm.conf, maar "
+"nog niet zijn geactiveerd. Dit wordt aanbevolen tenzij \"multiple device"
+"\" (MD) ondersteuning is meegecompileerd in de kernel en alle partities die "
+"deel uitmaken van RAID-reeksen zijn gedefinieerd als type 0xfd (aangezien ze "
+"alleen dan automatisch door de kernel geactiveerd zullen worden)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Maandelijkse redundantiecontrole van RAID-reeksen uitvoeren?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Als uw kernel dit ondersteunt (versies groter dan 2.6.14), kan mdadm "
+"periodiek de redundantie van uw RAID reeksen controleren. Afhankelijk van uw "
+"configuratie kan dit een intensief proces zijn, maar het kan wel helpen om "
+"uitzonderlijke gevallen van gegevensverlies te voorkomen. Zolang geen fouten "
+"worden gevonden, zal het proces alleen gegevens lezen; als echter wel fouten "
+"worden gevonden zal mdadm deze proberen te corrigeren."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Standaard wordt de controle, indien geactiveerd, uitgevoerd om 01:06 op elke "
+"eerste zondag van de maand."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Wilt u de achtergronddienst voor de RAID-monitor starten?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"De achtergronddienst voor de RAID-monitor stuurt per e-mail berichten bij "
+"belangrijke gebeurtenissen die betrekking hebben op RAID (zoals een falende "
+"harde schijf)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Gebruik van deze optie wordt aanbevolen."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Adres voor e-mailberichten:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Wat is het e-mailadres van de gebruiker die de e-mailberichten voor "
+"belangrijke gebeurtenissen met betrekking tot RAID dient te ontvangen."
diff --git a/debian/po/pt.po b/debian/po/pt.po
new file mode 100644
index 00000000..eee461ed
--- /dev/null
+++ b/debian/po/pt.po
@@ -0,0 +1,249 @@
+# Portuguese translation for mdadm debconf messages.
+# Copyright (C) 2008 Pedro Ribeiro <p.m42.ribeiro@gmail.com>
+# This file is distributed under the same license as the mdadm package.
+# Pedro Ribeiro <p.m42.ribeiro@gmail.com>, 2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm 2.6.3+200709292116+4450e59-4\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-21 00:15+0000\n"
+"Last-Translator: Pedro Ribeiro <p.m42.ribeiro@gmail.com>\n"
+"Language-Team: Portuguese <traduz@debianpt.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Grupos MD necessários para o sistema de ficheiros raiz:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Por favor, introduza 'all', 'none', ou uma lista de dispositivos separados "
+"por espaços, tais como 'md0 md1' ou 'md/1 md/d0' (o '/dev/' inicial pode ser "
+"omitido)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "para uso interno - apenas a descrição longa é necessária"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Se o sistema de ficheiros de raiz do sistema estiver num grupo MD (RAID), "
+"necessita de ser iniciado mais cedo na sequência de arranque. Se o seu "
+"sistema de ficheiros de raiz estiver num volume lógico (LVM) que está no MD, "
+"todos os grupos constituintes necessitam de ser iniciados."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Se souber exactamente que grupos são necessários para iniciar o sistema de "
+"ficheiros raiz, e quiser adiar o inicio de todos os outros grupos para mais "
+"tarde no processo de arranque, introduza os grupos aqui. Alternativamente, "
+"introduza 'all' para iniciar todos os grupos disponíveis."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Se não necessita ou deseja iniciar grupos para o sistema de ficheiros raiz, "
+"deixe a resposta em branco (ou introduza 'none'). Isto vale no caso de usar "
+"o auto-arranque do kernel ou não necessitar de grupos para o arranque do "
+"sistema."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Ocorreu um erro: o nó do dispositivo não existe"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Ocorreu um erro: não é um dispositivo de bloco"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Ocorreu um erro: não é um grupo MD"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Ocorreu um erro: o grupo não está listado no ficheiro mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Iniciar grupos não listados no mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"O grupo especificado (${array}) não está listado no ficheiro de configuração "
+"(${config}). Portanto, não pode ser iniciado durante o processo de arranque, "
+"a não ser que corrija o ficheiro de configuração e recrie o ramdisk inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Por favor leia o ficheiro /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se "
+"quiser continuar."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Este aviso só é relevante se houver necessidade de iniciar grupos a partir "
+"do ramdisk durante o arranque do sistema. Se usar o auto-arranque do kernel, "
+"ou não necessitar de iniciar os grupos tão cedo no processo de arranque do "
+"sistema, pode simplesmente continuar. Em alternativa, escolha não continuar "
+"e introduza 'none' quando perguntado sobre quais grupos iniciar a partir do "
+"ramdisk inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Quer iniciar os grupos MD automaticamente?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Após o arranque do sistema de base, o mdadm pode iniciar todos os grupos MD "
+"(RAIDs) especificados em /etc/mdadm/mdadm.conf, que ainda não tiverem sido "
+"iniciados. Isto é o recomendado a não ser que tenha compilado o suporte para "
+"dispositivos múltiplos (MD) no kernel e marcado todas as partições que são "
+"parte de grupos MD com o tipo 0xfd (apenas estas serão iniciadas "
+"automaticamente pelo kernel)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"O mdadm deve correr verificações de redundância nos grupos MD mensalmente?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Se o kernel suportar (versões mais recentes que 2.6.14) o mdadm pode "
+"verificar periodicamente a redundância dos grupos MD (RAIDs). Isto pode ser "
+"um processo que requer muitos recursos, dependendo da sua configuração, mas "
+"pode prevenir casos raros de perda de dados. Notar que esta verificação é "
+"feita em modo de leitura a não ser que sejam encontrados erros; se forem "
+"encontrados erros, o mdadm tenta corrigi-los, o que pode resultar em "
+"acessosde escrita aos discos."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"O pré-definido, se ligado, é os testes serem executados no primeiro Domingo "
+"de cada mês às 01:06."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Quer iniciar o deamon de monitorização do MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"O daemon monitor MD(RAID) envia notificações por email no caso de eventos "
+"importantes (tais como falha de um disco). Provavelmente quer activar esta "
+"opção."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "É recomendado activar esta opção."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Destinatário de email para notificações:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Por favor, introduza o endereço de email do utilizador que deve receber as "
+"notificações de eventos MD importantes."
+
+#~ msgid "${msg}"
+#~ msgstr "${msg}"
diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po
new file mode 100644
index 00000000..03b56054
--- /dev/null
+++ b/debian/po/pt_BR.po
@@ -0,0 +1,383 @@
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2006-09-24 19:22-0300\n"
+"Last-Translator: Felipe Augusto van de Wiel (faw) <faw@cathedrallabs.org>\n"
+"Language-Team: l10n portuguese <debian-l10n-portuguese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"pt_BR utf-8\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+#, fuzzy
+#| msgid "MD arrays needed for the root filesystem:"
+msgid "MD arrays needed for the root file system:"
+msgstr "Dispositivos MD necessários para o sistema de arquivos raiz:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+#, fuzzy
+#| msgid ""
+#| "Please enter a space-separated list of devices, 'all', or 'none'. You may "
+#| "omit the leading '/dev/' and just enter e.g. \"md0 md1\", or \"md/1 md/d0"
+#| "\"."
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Por favor, informe uma lista separada por espaços dos dispositivos, 'all' ou "
+"'none'. Você pode omitir a parte inicial '/dev/' e apenas informar, por "
+"exemplo, \"md0 md1\", ou \"md/1 md/d0\"."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "para uso interno - apenas a descrição longa é necessária."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+#, fuzzy
+#| msgid ""
+#| "If your system has its root filesystem on an MD array (RAID), it needs to "
+#| "be started early during the boot sequence. If your root filesystem is on "
+#| "a logical volume (LVM), which is on MD, all constituent arrays need to be "
+#| "started."
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Se o seu sistema tem o sistema de arquivos raiz em um dispositivo MD (RAID), "
+"este precisa ser iniciado mais cedo durante a seqüência de inicialização. Se "
+"o sistema de arquivos raiz está em um volume lógico (LVM), que está em um "
+"MD, todos os dispositivos que o constituem precisam ser iniciados."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+#, fuzzy
+#| msgid ""
+#| "If you know exactly which arrays are needed to bring up the root "
+#| "filesystem, and you want to postpone starting all other arrays to a later "
+#| "point in the boot sequence, enter the arrays to start here. "
+#| "Alternatively, enter 'all' to simply start all available arrays."
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Se você sabe exatamente quais dispositivos são necessários para ativar o "
+"sistema de arquivos raiz, e você deseja adiar o início de todos os outros "
+"dispositivos para um ponto posterior na seqüência de inicialização, informe "
+"os dispositivos a serem iniciados aqui. Como alternativa, informe 'all' para "
+"simplesmente iniciar todos os dispositivos disponíveis."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+#, fuzzy
+#| msgid ""
+#| "If you do not need or want to start any arrays for the root filesystem, "
+#| "leave the answer blank (or enter 'none'). This may be the case if you are "
+#| "using kernel autostart or do not need any arrays to boot."
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Se você não precisa ou não quer iniciar quaisquer dispositivos para o "
+"sistema de arquivos raiz, deixe a resposta em branco (ou informe 'none'). "
+"Este pode ser o caso se você está usando \"kernel autostart\" ou não precisa "
+"de quaisquer dispositivos para a inicialização."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Um erro ocorreu: o dispositivo (\"device node\") não existe"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Um erro ocorreu: não é um dispositivo de blocos"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Um erro ocorreu: não é um dispositivo MD"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Um erro ocorreu: dispositivo não listado no arquivo mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+#, fuzzy
+#| msgid "Proceed with starting arrays not listed in mdadm.conf?"
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Continuar com o início de dispositivos não listados no mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+#, fuzzy
+#| msgid ""
+#| "The array you have specified (${array}) is not listed in the "
+#| "configuration file ${config}. Therefore it cannot be started during boot, "
+#| "unless you correct the configuration file and recreate the initial "
+#| "ramdisk."
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"O dispositivo que você especificou (${array}) não está listado no arquivo de "
+"configuração ${config}. Portanto não pode ser iniciado durante a "
+"inicialização, a menos que você corrija o arquivo de configuração e recrie o "
+"\"ramdisk\" inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Por favor, veja /usr/share/doc/mdadm/README.upgrading-2.5.3.gz se você "
+"pretende continuar."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Este aviso só é relevante se você precisa de dispositivos que sejam "
+"iniciados a partir do \"ramdisk\" inicial para que seja possível inicializar "
+"o computador. Se você usa \"kernel autostarting\", ou não precisa de "
+"quaisquer dispositivos sendo iniciados tão logo o \"ramdisk\" inicial seja "
+"carregado, você pode simplesmente continuar. Alternativamente, escolha não "
+"continuar e informe 'none' quando perguntado quais dispositivos iniciar a "
+"partir do \"ramdisk\" inicial."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Você deseja iniciar os dispositivos MD automaticamente?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+#, fuzzy
+#| msgid ""
+#| "Once the base system has come up, mdadm can start all MD arrays (RAIDs) "
+#| "specified in /etc/mdadm/mdadm.conf, which have not yet been started. "
+#| "Unless you have compiled multiple device (MD) support into the kernel and "
+#| "marked all partitions part of MD arrays with type 0xfd (as those and only "
+#| "those will be started automatically by the kernel), this is probably what "
+#| "you want."
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Uma vez que o sistema básico esteja disponível, mdadm pode iniciar todos os "
+"dispositivos MD (RAID) especificados em /etc/mdadm/mdadm.conf, que ainda não "
+"foram iniciados. A menos que você tenha compilado o suporte a múltiplos "
+"dispositivos (MD) embutido no kernel e marcado todas as partições que fazem "
+"parte de dispositivos MD com o tipo 0xfd (como as únicas a serem iniciadas "
+"automaticamente pelo kernel), você provavelmente quer ativar esta opção."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"O mdadm deve, mensalmente, executar checagens de redundância dos "
+"dispositivos MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+#, fuzzy
+#| msgid ""
+#| "If your kernel supports it (>> 2.6.14), mdadm can periodically check the "
+#| "redundancy of your MD arrays (RAIDs). This may be a resource-intensive "
+#| "process, depending on your setup, but it could help prevent rare cases of "
+#| "data loss. Note that this is a read-only check unless errors are found; "
+#| "if errors are found, mdadm will try to correct them, which may result in "
+#| "write access to the media."
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Se o seu kernel suporta isto (>> 2.6.14), mdadm pode periodicamente checar a "
+"redundância dos seus dispositivos MD (RAIDs). Isto pode ser um processo com "
+"uso intensivo dos recursos, dependendo da sua configuração, mas pode ajudar "
+"a previnir casos raros de perdas de dados. Note que esta é uma checagem "
+"somente-leitura a menos que erros sejam encontrados; se erros são "
+"encontrados, mdadm tentará corrigí-los, o que poderá resultar em acesso de "
+"escrita na mídia."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+#, fuzzy
+#| msgid ""
+#| "The default, if turned on, is to run the checks on the first Sunday of "
+#| "every month at 01:06 o'clock."
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"O padrão, se ativado, é executar checagens no primeiro Domingo de cada mês "
+"às 01:06 em ponto."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Você deseja iniciar o \"daemon\" de monitoramento MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+#, fuzzy
+#| msgid ""
+#| "The MD (RAID) monitor daemon sends email notifications in response to "
+#| "important MD events (such as a disk failure). You probably want to enable "
+#| "it."
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"O \"daemon\" de monitoramento MD (RAID) envia e-mails de notificações em "
+"resposta a eventos MD importantes (como uma falha de disco). Você "
+"provavelmente quer habilitar esta opção."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Destinatário para os e-mails de notificações:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+#, fuzzy
+#| msgid ""
+#| "Please enter the email address of the user who should get the email "
+#| "notification for important MD events."
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Por favor, informe o endereço de e-mail do usuário que deverá receber os e-"
+"mails de notificações para estes eventos MD importantes."
+
+#~ msgid "${msg}"
+#~ msgstr "${msg}"
+
+#~ msgid "Initialise the superblock if you reuse hard disks"
+#~ msgstr "Inicialize o superbloco caso você reutilize discos rígidos"
+
+#~ msgid ""
+#~ "WARNING! If you are using hard disks which have RAID superblocks from "
+#~ "earlier installations in different RAID arrays, you MUST zero each "
+#~ "superblock *before* activating the autostart feature."
+#~ msgstr ""
+#~ "AVISO! Se você estiver usando discos rígidos que já contêm superblocos "
+#~ "RAID de instalações anteriores em \"arrays\" RAID diferentes, você DEVE "
+#~ "zerar o superbloco *antes* de ativar o recurso de \"autostart\"."
+
+#~ msgid ""
+#~ "To do this, do not start the RAID devices automatically. First, zero the "
+#~ "superblock (mdadm --zero-superblock /dev/mdX). Next, use `dpkg-"
+#~ "reconfigure mdadm` to reactivate the autostart feature."
+#~ msgstr ""
+#~ "Para fazê-lo, não inicie os dispositivos RAID automaticamente. Primeiro, "
+#~ "zere os superblocos (mdadm --zero-superblock /dev/mdX). Em seguida, use "
+#~ "`dpkg-reconfigure mdadm` para reativar o recurso de \"autostart\"."
+
+#~ msgid ""
+#~ "You have the option to start all other arrays (those not needed for the "
+#~ "root filesystem) later in the boot sequence. Doing so will give you "
+#~ "greater control over the arrays with the mdadm configuration file. "
+#~ "Starting all arrays at boot-time may be safer though."
+#~ msgstr ""
+#~ "Você tem a opção de iniciar todos os \"arrays\" (aqueles que não são "
+#~ "necessários pelo sistema de arquivos raiz) posteriormente na seqüência de "
+#~ "inicialização. Fazendo isto, você terá um controle maior sobre os \"arrays"
+#~ "\" com o arquivo de configuração mdadm. No entanto, iniciar todos os "
+#~ "\"arrays\" durante a inicialização pode ser mais seguro."
+
+#~ msgid ""
+#~ "If RAID devices are started automatically, all RAID devices are "
+#~ "discovered and assembled automatically at system startup. This option "
+#~ "should only be used if the md driver is compiled as a module. If it is "
+#~ "compiled into your kernel, the automatic startup will be performed at "
+#~ "boot time by the kernel and therefore you should not choose this option."
+#~ msgstr ""
+#~ "Caso os dispositivos RAID sejam iniciados automaticamente, todos os "
+#~ "dispositivos RAID serão detectados e montados automaticamente na "
+#~ "inicialização do sistema operacional. Esta opção deverá ser usada somente "
+#~ "caso o driver md esteja compilado como módulo. Caso o mesmo esteja "
+#~ "compilado embutido em seu kernel, a inicialização automática será "
+#~ "executada em tempo de inicialização pelo próprio kernel e, portanto, você "
+#~ "não deverá e nem precisará escolher esta opção."
+
+#~ msgid ""
+#~ "When the RAID monitor daemon runs, email notifications are sent when a "
+#~ "disk belonging to a RAID array fails or changes its status for some "
+#~ "reason."
+#~ msgstr ""
+#~ "Quando o daemon monitorador RAID é executado, notificações via e-mail são "
+#~ "enviadas quando um disco pertencente a uma array RAID falha ou muda seu "
+#~ "status por qualquer razão."
+
+#~ msgid "Which user should get the email notification?"
+#~ msgstr "Qual usuário deve receber o e-mail de notificação ?"
diff --git a/debian/po/ru.po b/debian/po/ru.po
new file mode 100644
index 00000000..10e614e7
--- /dev/null
+++ b/debian/po/ru.po
@@ -0,0 +1,255 @@
+# translation of ru.po to Russian
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans#
+# Developers do not need to manually edit POT or PO files.
+#
+# Yuri Kozlov <kozlov.y@gmail.com>, 2006, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: 2.6.3+200709292116+4450e59-4\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-07 21:02+0300\n"
+"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
+"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "MD-массивы, необходимые для корневой файловой системы:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Введите список устройств через пробел, слово 'all' или 'none'. Вы можете не "
+"указывать начальную часть пути типа '/dev/', а просто вводить имена "
+"устройств, например 'md0 md1' или 'md/1 md/d0'."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr ""
+"для внутреннего пользования - нужно использовать только длинное описание."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Если в системе корневая файловая система расположена на MD-массиве (RAID), "
+"он должен быть запущен в самом начале процесса загрузки. Если корневая "
+"файловая система расположена на логическом томе (LVM), который расположен на "
+"MD, то должны быть запущены все составляющие массивы."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Если вы точно знаете, какие массивы требуются для получения работоспособной "
+"корневой файловой системы и хотите отложить запуск остальных массивов на "
+"более поздний момент в процессе загрузки, то введите их здесь. Иначе, "
+"введите слово 'all', чтобы просто запустить все доступные массивы."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Если вам это не нужно, или вы хотите запускать все массивы для корневой "
+"файловой системы, оставьте это поле пустым (или введите слово 'none'). Этот "
+"вариант подходит, если вы используете автоматический запуск из ядра или если "
+"для загрузки массивы ненужны."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Произошла ошибка: нода устройства не существует"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Произошла ошибка: устройство не является блочным"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Произошла ошибка: это не MD-массив"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Произошла ошибка: массив не описан в файле mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Запустить массивы, неописанные в mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"Указанный вами массив (${array}) не описан в конфигурационном файле "
+"(${config}). Поэтому он не может быть запущен при старте машины, пока вы не "
+"исправите конфигурационный файл и не пересоздадите первоначальный ramdisk."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Если вы намерены продолжить, прочитайте /usr/share/doc/mdadm/README."
+"upgrading-2.5.3.gz."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Данное предупреждение уместно только, если вам требуется запускать массивы "
+"из первоначального ramdisk для загрузки машины. Если вы используете "
+"автоматический запуск из ядра или вам не нужны массивы для загрузки на этапе "
+"загрузки первоначального ramdisk, вы можете просто продолжить. Иначе, "
+"выберите не продолжать и введите 'none', когда вам предложат выбрать массивы "
+"для запуска из первоначального ramdisk."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Запускать MD-массивы автоматически?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"После старта базовой системы, mdadm может запустить все MD-массивы (RAIDы), "
+"указанные в файле /etc/mdadm/mdadm.conf, которые ещё не запущены. Нужно "
+"ответить утвердительно, если вы не включили поддержку MD в ядро (в противном "
+"случае ядро само выполняет автоматический запуск MD-массивов из разделов с "
+"типом 0xfd и только с ним)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"Должен ли mdadm запускать ежемесячную проверку избыточности на MD-массивах?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Если это поддерживается ядром (>> 2.6.14), mdadm может периодически "
+"проверять избыточность MD массивов (RAID-ов). Это может стать ресурсоёмким "
+"процессом в зависимости от настройки, но он может помочь предотвратить "
+"редкие случаи потери данных. Заметим, что пока не обнаружено ошибок, работа "
+"ведётся в режиме только чтение; если обнаруживается ошибка, mdadm попытается "
+"исправить её, что может потребовать прав записи на носитель."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Если ответить утвердительно, то по умолчанию проверка выполняется в первое "
+"воскресенье каждого месяца в 01:06."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Запускать демон-монитор MD?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"Демон-монитор MD (RAID) посылает почтовые уведомления в случае возникновения "
+"важных событий с MD (таких как отказ диска)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Рекомендуется ответить утвердительно."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Получатель уведомительных писем:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Введите адрес электронной почты пользователя, который будет получать "
+"почтовые уведомления о важных изменениях в состоянии MD."
diff --git a/debian/po/sv.po b/debian/po/sv.po
new file mode 100644
index 00000000..5eab2340
--- /dev/null
+++ b/debian/po/sv.po
@@ -0,0 +1,252 @@
+# translation of mdadm_2.6.7-3_sv.po to Swedish
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+# Developers do not need to manually edit POT or PO files.
+#
+# Martin gren <martin.agren@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm_2.6.7-3_sv\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-07-23 18:34+0200\n"
+"Last-Translator: Martin gren <martin.agren@gmail.com>\n"
+"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "MD-kedjor som behvs fr rotfilsystemet:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Ange \"all\", \"none\" eller en blankstegsseparerad lista p enheter, ssom "
+"\"md0 md1\" eller \"md/1 md/0\" (det inledande \"/dev\" kan uteslutas)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "fr intern anvndning - endast den lnga beskrivningen behvs."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Om ditt system har sitt rotfilsystem p en MD-kedja (RAID) behver den "
+"startas upp tidigt under uppstartssekvensen. Om ditt rotfilsystem finns p "
+"en logisk volym (LVM), vilket r p MD, behver alla bestende kedjor "
+"startas."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Om du vet exakt vilka kedjor som behvs fr att ta upp rotfilsystemet, och "
+"du vill skjuta upp uppstarten fr alla andra kedjor till en senare "
+"tidspunkt i uppstartssekvensen, ange vilka kedjor som ska starta hr. "
+"Alternativt, ange \"all\" fr att helt enkelt starta alla tillgngliga "
+"kedjor."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Om du inte behver eller vill starta ngra kedjor fr rotfilsystemet, lmna "
+"svaret blankt (eller ange \"none\"). Detta kan vara fallet om du anvnder krnans "
+"automatstart eller inte behver ngra kedjor fr att starta upp."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Ett fel intrffade: enhetsnoden finns inte"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Ett fel intrffade: inte en blockenhet"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Ett fel intrffade: inte en MD-kedja"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Ett fel intrffade: kedjan r inte listad i filen mdadm.conf"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr "Starta kedjor som inte r listade i mdadm.conf?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"Kedjan du har angivit (${array}) r inte listad i konfigurationsfilen "
+"(${config}). Drfr kan den inte startas under systemets uppstart, svida du "
+"inte rttar till konfigurationsfilen och terskapar den initiala ramdisken."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Referera till /usr/share/doc/mdadm/README.upgrading-2.5.3.gz om du tnker "
+"fortstta."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Den hr varningen r endast relevant om du behver kedjor som ska startas "
+"frn den initiala ramdisken fr att kunna starta upp systemet. Om du "
+"anvnder krnans automatstart, eller inte behver starta ngra kedjor s "
+"tidigt som nr de initiala ramdisken lses in, kan du helt enkelt fortstta. "
+"Alternativt, vlj att inte fortstta och ange \"none\" nr frgan om vilka "
+"kedjor som ska startas frn den initiala ramdisken stlls."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Vill du starta MD-kedjor automatiskt?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Nr grundsystemet har startats upp kan mdadm starta alla MD-kedjor (RAID) som har "
+"angivits i /etc/mdadm/mdadm.conf och som nnu inte har startats. "
+"Detta rekommenderas svida inte std fr multipla enheter (MD) har byggts in "
+"i krnan och alla partitioner markerats "
+"som del av MD-kedjor med typen 0xfd (eftersom de och endast de kommer "
+"att startas upp automatiskt av krnan)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr "Ska mdadm kra mnatliga redundanskontroller av MD-kedjorna?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Om din krna har std fr det (versioner senare n 2.6.14), kan mdadm periodvis kontrollera "
+"redundansen fr dina MD-kedjor (RAID). Det hr kan vara en resurskrvande "
+"process, beroende p din konfiguration, men den kan hjlpa till att "
+"frhindra ovanliga fall av datafrluster. Observera att det r en "
+"skrivskyddad kontroll svida inte fel ptrffas; om fel hittas kommer mdadm "
+"frska att rtta till dem, vilket kan leda till skrivtkomst till mediet."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Standardvrdet, om pslagen, r att kontrollera p den frsta sndagen "
+"i varje mnad klockan 01.06."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Vill du starta MD-vervakningsdemonen?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"MD-vervakningsdemonen (RAID) skickar e-postnotifieringar fr viktiga MD-"
+"hndelser (ssom ett diskfel)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Att aktivera denna funktion rekommenderas."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Mottagare av e-postnotifieringar:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Ange e-postadressen till den anvndare som ska ta emot e-postnotifieringar "
+"fr dessa viktiga MD-hndelser."
+
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
new file mode 100644
index 00000000..46b13e7b
--- /dev/null
+++ b/debian/po/templates.pot
@@ -0,0 +1,200 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr ""
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr ""
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
diff --git a/debian/po/vi.po b/debian/po/vi.po
new file mode 100644
index 00000000..5d0f5bfa
--- /dev/null
+++ b/debian/po/vi.po
@@ -0,0 +1,247 @@
+# Vietnamese Translation for mdadm.
+# Copyright © 2008 Free Software Foundation, Inc.
+# Clytie Siddall <clytie@riverland.net.au>, 2005-2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mdadm 2.6.3+200709292116+4450e59-4\n"
+"Report-Msgid-Bugs-To: mdadm@packages.debian.org\n"
+"POT-Creation-Date: 2008-04-11 15:03+0200\n"
+"PO-Revision-Date: 2008-02-23 17:40+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.7b3\n"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid "MD arrays needed for the root file system:"
+msgstr "Các mảng MD cần thiết cho hệ thống tập tin gốc:"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:2001
+msgid ""
+"Please enter 'all', 'none', or a space-separated list of devices such as "
+"'md0 md1' or 'md/1 md/d0' (the leading '/dev/' can be omitted)."
+msgstr ""
+"Hãy nhập « all » (tất cả), « none » (không có), hoặc một danh sách các thiết "
+"bị định giới bằng dấu cách như « md0 md1 » hoặc « md/1 md/d0 » (có thể bỏ sót "
+"phần « /dev/ » đi trước)."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid "for internal use - only the long description is needed."
+msgstr "để sử dụng nội bộ — chỉ cần thiết mô tả dài."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If the system's root file system is located on an MD array (RAID), it needs "
+"to be started early during the boot sequence. If it is located on a logical "
+"volume (LVM), which is on MD, all constituent arrays need to be started."
+msgstr ""
+"Nếu hệ thống tập tin gốc của hệ thống nằm trên một mảng MD (RAID) thì cần "
+"phải khởi chạy nó sớm trong tiến trình khởi động. Nếu nó nằm trên một khối "
+"tin hợp lý (LVM) mà lần lượt nằm trên một MD thì cần phải khởi chạy tất cả "
+"các mảng thành phần."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you know exactly which arrays are needed to bring up the root file "
+"system, and you want to postpone starting all other arrays to a later point "
+"in the boot sequence, enter the arrays to start here. Alternatively, enter "
+"'all' to simply start all available arrays."
+msgstr ""
+"Nếu bạn biết chính xác những mảng nào cần thiết để kích hoạt hệ thống tập "
+"tin gốc, và bạn muốn hoãn việc khởi chạy các mảng khác tới một điểm sau "
+"trong dãy khởi động, hãy nhập vào đây các mảng cần khởi chạy. Hoặc nhập « all "
+"» (tất cả) để khởi chạy đơn giản tất cả các mảng sẵn sàng. "
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:3001
+msgid ""
+"If you do not need or want to start any arrays for the root file system, "
+"leave the answer blank (or enter 'none'). This may be the case if you are "
+"using kernel autostart or do not need any arrays to boot."
+msgstr ""
+"Nếu bạn không cần hoặc muốn khởi chạy mảng nào cho hệ thống tập tin gốc, hãy "
+"bỏ trống câu trả lời này (hoặc nhập « none » [không có]). Trường hợp này có "
+"thể xảy ra nếu bạn sử dụng khả năng tự động khởi động hạt nhân (kernel "
+"autostart), hoặc không cần mảng nào để khởi động máy tính."
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:4001
+msgid "An error occurred: device node does not exist"
+msgstr "Gặp lỗi: nút thiết bị không tồn tại"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:5001
+msgid "An error occurred: not a block device"
+msgstr "Gặp lỗi: không phải là một thiết bị khối"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:6001
+msgid "An error occurred: not an MD array"
+msgstr "Gặp lỗi: không phải là một mảng MD"
+
+#. Type: text
+#. Description
+#: ../mdadm.templates:7001
+msgid "An error occurred: array not listed in mdadm.conf file"
+msgstr "Gặp lỗi: mảng không được liệt kê trong tập tin cấu hình « mdadm.conf »"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid "Start arrays not listed in mdadm.conf?"
+msgstr ""
+"Khởi chạy các mảng không được liệt kê trong tập tin cấu hình « mdadm.conf » "
+"không?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"The specified array (${array}) is not listed in the configuration file "
+"(${config}). Therefore, it cannot be started during boot, unless you correct "
+"the configuration file and recreate the initial ramdisk."
+msgstr ""
+"Mảng bạn đã xác định (${array}) không được liệt kê trong tập tin cấu hình "
+"${config}. Vì vậy nó không thể được khởi chạy trong khi khởi động, nếu bạn "
+"không sửa tập tin cấu hình và tạo lại đĩa RAM đầu tiên."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"Please refer to /usr/share/doc/mdadm/README.upgrading-2.5.3.gz if you intend "
+"to continue."
+msgstr ""
+"Hãy tham chiếu đến tài liệu Đọc Đi « /usr/share/doc/mdadm/README.upgrading-"
+"2.5.3.gz » nếu bạn định tiếp tục."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:8001
+msgid ""
+"This warning is only relevant if you need arrays to be started from the "
+"initial ramdisk to be able to boot. If you use kernel autostarting, or do "
+"not need any arrays to be started as early as the initial ramdisk is loaded, "
+"you can simply continue. Alternatively, choose not to continue and enter "
+"'none' when prompted which arrays to start from the initial ramdisk."
+msgstr ""
+"Cảnh báo này chỉ là thích hợp nếu bạn cần thiết mảng được khởi chạy từ đĩa "
+"RAM đầu tiên, để có thể khởi động được. Nếu bạn sử dụng khả năng tự động "
+"khởi chạy hạt nhân (kernel autostart), hoặc không cần mảng nào được khởi "
+"chạy một khi nạp đĩa RAM đầu tiên, bạn đơn giản có thể tiếp tục lại. Hoặc "
+"chọn không tiếp tục, và nhập « none » (không có) khi được nhắc nhập những "
+"mảng nào cần khởi chạy từ đĩa RAM đầu tiên."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid "Do you want to start MD arrays automatically?"
+msgstr "Bạn có muốn tự động khởi chạy các mảng MD không?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:9001
+msgid ""
+"Once the base system has booted, mdadm can start all MD arrays (RAIDs) "
+"specified in /etc/mdadm/mdadm.conf which have not yet been started. This is "
+"recommended unless multiple device (MD) support is compiled into the kernel "
+"and all partitions are marked as belonging to MD arrays, with type 0xfd (as "
+"those and only those will be started automatically by the kernel)."
+msgstr ""
+"Một khi hệ thống cơ bản được khởi động thì mdadm có khả năng khởi chạy tất "
+"cả các mảng MD (RAID) được xác định trong tập tin cấu hinh « /etc/mdadm/mdadm."
+"conf » mà chưa được khởi chạy. Thủ tục này khuyến khích nếu hỗ trợ đa thiết "
+"bị (MD) không được biên dịch vào hát nhân và tất cả các phân vùng được đánh "
+"dấu là thuộc về mảng MD, với kiểu 0xfd (vì chúng, và chỉ chúng sẽ được tự "
+"động khởi chạy bởi hạt nhân).r"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid "Should mdadm run monthly redundancy checks of the MD arrays?"
+msgstr ""
+"mdadm có nên chạy việc kiểm tra thừa hàng tháng trên những mảng MD không?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"If the kernel supports it (versions greater than 2.6.14), mdadm can "
+"periodically check the redundancy of MD arrays (RAIDs). This may be a "
+"resource-intensive process, depending on the local setup, but it could help "
+"prevent rare cases of data loss. Note that this is a read-only check unless "
+"errors are found; if errors are found, mdadm will try to correct them, which "
+"may result in write access to the media."
+msgstr ""
+"Nếu hạt nhân có phải hỗ trợ (các phiên bản sau 2.6.14) thì mdadm có thể kiểm "
+"tra theo chu kỳ tình thừa của các mảng MD (RAID). Tiến trình này có thể "
+"chiếm nhiều tài nguyên hệ thống, phụ thuộc vào thiết lập cục bộ, nhưng nó có "
+"thể giúp ngăn cản trường hợp mất dữ liệu (ít có). Ghi chú rằng việc kiểm tra "
+"này là chỉ đọc: gặp lỗi thì mdadm sẽ thử sửa chữa, mà có thể gây ra truy cập "
+"ghi vào vật chứa."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:10001
+msgid ""
+"The default, if turned on, is to check on the first Sunday of every month at "
+"01:06."
+msgstr ""
+"Giá trị mặc định, nếu được bật, là chạy những việc kiểm tra vào ngày hôm Chủ "
+"Nhật thứ nhất của mỗi tháng, vào lúc 01:06 giờ (giờ ti)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Do you want to start the MD monitoring daemon?"
+msgstr "Bạn có muốn khởi chạy trình nền theo dõi MD không?"
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid ""
+"The MD (RAID) monitor daemon sends email notifications in response to "
+"important MD events (such as a disk failure)."
+msgstr ""
+"Trình nền theo dõi MD (RAID) gửi thư thông báo hưởng ứng dữ kiện MD quan "
+"trọng (v.d. đĩa bị hỏng)."
+
+#. Type: boolean
+#. Description
+#: ../mdadm.templates:11001
+msgid "Enabling this option is recommended."
+msgstr "Khuyên bạn hiệu lực tùy chọn này."
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid "Recipient for email notifications:"
+msgstr "Người nhận thư thông báo :"
+
+#. Type: string
+#. Description
+#: ../mdadm.templates:12001
+msgid ""
+"Please enter the email address of the user who should get the email "
+"notifications for important MD events."
+msgstr ""
+"Hãy nhập địa chỉ thư của người dùng nên nhận thư thông báo về dữ kiện MD "
+"quan trọng."
diff --git a/debian/presubj b/debian/presubj
new file mode 100644
index 00000000..987c5201
--- /dev/null
+++ b/debian/presubj
@@ -0,0 +1,32 @@
+Reporting bugs against mdadm
+============================
+Before reporting bugs against mdadm, please read the README documents, as well
+as the FAQ in /usr/share/doc/mdadm . Most issues that are reported against the
+mdadm package are adequately answered therein.
+
+In particular, please do not file bugs about mdadm assembling arrays too
+early, e.g. when the driver is not yet ready and device nodes do not exist.
+Check FAQ item 27 about use of the rootdelay parameter instead.
+
+Also, please check out http://bugs.debian.org/mdadm/ and make sure that the
+issue you are facing has not already been reported.
+
+If you are not sure that the answer you are seeking is in those files, or you
+are not sure that you are facing a genuine bug, please approach
+debian-user@lists.debian.org or linux-raid@vger.kernel.org with your
+question(s).
+
+Gathering information relevant to mdadm as root
+===============================================
+If you are not reporting bugs as root (which you should not), you will be
+prompted to give permission to run a script to collect relevant information
+from your system as the root user. Only the root user has access to some
+information that might be relevant to the bug report you are about to file.
+
+** Please give permission to run the script as root when asked momentarily.
+
+If you would rather obtain the same information manually, you can run
+ /usr/share/bug/mdadm/script 3>&1
+as root and include or attach the output.
+
+ -- martin f. krafft <madduck@debian.org> Mon, 20 Jul 2009 15:02:48 +0200
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 00000000..b77224d6
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,109 @@
+#!/usr/bin/make -f
+# Copyright © 2001-2005 Mario Jou/3en <joussen@debian.org>
+# Copyright © 2005-2008 Martin F. Krafft <madduck@debian.org>
+# Distributable under the terms of the GNU GPL version 2.
+#
+
+#export DH_VERBOSE=1
+
+#TG_BRANCHES="..."
+
+include /usr/share/quilt/quilt.make
+#-include /usr/share/topgit/tg2quilt.mk
+
+CXFLAGS = -ggdb
+CXFLAGS_UDEB := $(CXFLAGS) -fomit-frame-pointer
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CXFLAGS += -O0
+ CXFLAGS_UDEB += -O0
+else
+ CXFLAGS += -O2
+ CXFLAGS_UDEB += -Os
+endif
+
+.PHONY: configure
+configure:
+
+debian/mdadm-startall.8: debian/mdadm-startall.sgml
+ docbook-to-man $< > $@
+
+build: configure patch build-stamp
+build-stamp: debian/mdadm-startall.8
+ dh_testdir
+ $(MAKE) -f debian/rules mdadm.udeb DEBIAN=yes
+ $(MAKE) clean
+ $(MAKE) -f debian/rules mdadm DEBIAN=yes
+ touch $@
+
+mdadm.udeb: FLAGS = CXFLAGS="$(CXFLAGS_UDEB)" CONFFILE=/tmp/mdadm.conf
+mdadm.udeb: configure
+ dh_testdir
+ $(MAKE) $(FLAGS) all
+ mv mdadm mdadm.udeb
+.PHONY: mdadm.udeb
+
+mdadm: FLAGS = CXFLAGS="$(CXFLAGS)" CONFFILE=/etc/mdadm/mdadm.conf CONFFILE2=/etc/mdadm.conf
+mdadm: configure
+ dh_testdir
+ $(MAKE) $(FLAGS) all
+.PHONY: mdadm
+
+clean: unpatch
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp
+ [ ! -f Makefile ] || $(MAKE) clean
+ rm -f mdadm.udeb mdadm
+ dh_clean
+ debconf-updatepo
+
+install: DESTDIR=$(CURDIR)/debian/mdadm
+install: DESTDIR_UDEB=$(DESTDIR)-udeb
+install: build
+ dh_testdir
+ dh_clean -k
+ dh_installdirs
+
+ $(MAKE) install DESTDIR=$(DESTDIR)
+
+ install -m0755 debian/initramfs/hook \
+ $(DESTDIR)/usr/share/initramfs-tools/hooks/mdadm
+ install -m0755 debian/initramfs/script.local-top \
+ $(DESTDIR)/usr/share/initramfs-tools/scripts/local-top/mdadm
+
+ install -m0755 debian/mkconf $(DESTDIR)/usr/share/mdadm
+ install -m0755 debian/checkarray $(DESTDIR)/usr/share/mdadm
+ install -m0755 debian/bugscript $(DESTDIR)/usr/share/bug/mdadm/script
+ install -m0644 debian/presubj $(DESTDIR)/usr/share/bug/mdadm
+
+ install -m0755 debian/mdadm-startall $(DESTDIR)/sbin
+
+ install -m0755 mdadm.udeb $(DESTDIR_UDEB)/sbin/mdadm
+
+binary-indep: build install
+
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_lintian
+ dh_installdebconf
+ dh_installdocs
+ dh_installexamples debian/newdisk
+ dh_installinit --init-script=mdadm-raid --no-start -- start 25 S . start 60 0 6 .
+ dh_installinit -- defaults 25
+ dh_installman
+ dh_installcron
+ dh_installchangelogs ChangeLog
+ dh_installlogcheck
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 00000000..1b1172a0
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=3
+http://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-([.[:digit:]]+).tar.gz