On 04/03/13 15:31, Krzysztof Warzecha wrote:
2013/4/2 Łukasz Michalski <l...@zork.pl>:
I am not sure what hooks/mdadm is supposed to do, for me it looks like
it I have to add md=/dev/md2 to command line when booting?

Do you have mdadm.conf in your initcpio? mdadm hook uses
/etc/mdadm.conf or partitions from command line, not both.

Yes, my /etc/mdadm.conf is copied there. I can call mdassemble from emergency shell and my raid devices are created.


Now during booting I need to wait for "emergency shell" and mount root 
partition manually this way:

# mdassemble
# mount /dev/md2 /new_root
# exit

This hook is defined in /usr/lib/initcpio/hooks/mdadm, it should start
mdassemble if /etc/mdadm.conf exists and have size > 0.


I added run_hook at the end of this script and it works with my /etc/mdadm.conf on already running system:

[root@serenity initcpi]# set -x
[root@serenity initcpi]# source ./mdadm
++ run_hook
++ local i= mdconfig=/etc/mdadm.conf
++ modprobe md_mod
++ '[' -n '' ']'
++ '[' -s /etc/mdadm.conf ']'
++ /sbin/mdassemble
mdadm: failed to set writable for /dev/md2: Device or resource busy
mdadm: failed to set writable for /dev/md3: Device or resource busy
mdadm: failed to set writable for /dev/md1: Device or resource busy
++ printf '\033]0;%s@%s:%s\007' root serenity /home/zork/tmp/initcpi

The question is why it does not call mdassemble in initcpio environment.

I will try to debug it at next maintenance window.

Regards,
Łukasz

Reply via email to