From: Ron Gibson on
On Sun, 22 Jul 2007 21:09:37 +0200, Franck Barbenoire wrote:

> I recompiled the kernel, starting from the generic kernel
> configuration, I
> added support for reiserfs. Rebooting this kernel without use of inird.gz
> works fine : raid 1 array is correctly detected and mounted.

> So the problem is demonstrated : initrd + raid 1 = problem !

Yep.

Boy you should see the squirrels come out in other NG's for the
"automagic" type distros. There are so clueless. First off there is
always some knucklehead that insists that Yast or MCC is the only way to
solve these problems and any other approach is heresy.

Oh and don't even mention a kernel compile.

Makes you glad to be a Slacker where we solve out problems the right
way, IMO.

--
Linux Help: http://rsgibson.com/linux.htm
Email - rsgibson(a)verizon.borg
Replace borg with net

From: Damjan on
> I recompiled the kernel, starting from the generic kernel configuration, I
> added support for reiserfs. Rebooting this kernel without use of inird.gz
> works fine : raid 1 array is correctly detected and mounted.
>
> So the problem is demonstrated : initrd + raid 1 = problem !

when your HDD and MD drivers are modules, the auto-configuration of the md
devices doesn't work. In this case the initrd/initramfs needs to have a
command to assemble the md devices.

A "mdadm --assemble --scan" should be enough but I don't know it it's
available in Slackware.

ArchLinux for ex. has a klibc binary mdassemble that's included in the
initramfs that does that.


--
damjan
From: Franck Barbenoire on
Damjan wrote:

>> I recompiled the kernel, starting from the generic kernel configuration,
>> I added support for reiserfs. Rebooting this kernel without use of
>> inird.gz works fine : raid 1 array is correctly detected and mounted.
>>
>> So the problem is demonstrated : initrd + raid 1 = problem !
>
> when your HDD and MD drivers are modules, the auto-configuration of the md
> devices doesn't work. In this case the initrd/initramfs needs to have a
> command to assemble the md devices.
>
> A "mdadm --assemble --scan" should be enough but I don't know it it's
> available in Slackware.
>
> ArchLinux for ex. has a klibc binary mdassemble that's included in the
> initramfs that does that.
>
>

I finally got it :

cd /boot
mkinitrd -c -k 2.6.21.5-smp -m reiserfs

in /boot/initrd-tree/dev, copy the missing nodes from /dev/md :

cd /boot/initrd-tree/dev
cp -a /dev/md .

copy also mdadm executable

cd /boot/initrd-tree
cp -a /sbin/mdadm bin

Add the following lines in /boot/initrd-tree/init (just above LVM section)

mdadm -A /dev/md0 /dev/sda1 /dev/sdb1
mdadm -A /dev/md1 /dev/sda5 /dev/sdb5
mdadm -A /dev/md0 /dev/sda6 /dev/sdb6
mdadm -A /dev/md0 /dev/sda7 /dev/sdb7
....

Rerun mkinitrd without argument for updating initrd.gz

mkinitrd

Update the symbolic link to the kernel :

cd /boot
ln -sf kernel-generic-smp-2.6.21.5-smp vmlinuz

Add initrd to lilo.conf

image = /boot/vmlinuz
initrd = /boot/initrd.gz
root = /dev/md1
label = Linux
read-only

Run lilo

lilo

Reboot, and that's it : you run the generic kernel with software raid 1
array !

Thanks for your help

Franck Barbenoire
From: Henrik Carlqvist on
Franck Barbenoire <franck.barbenoireNOSPAM(a)yahoo.fr> wrote:
> and that's it : you run the generic kernel with software raid 1 array !

Thanks for a very well written tutorial!

regards Henrik
--
The address in the header is only to prevent spam. My real address is:
hc1(at)poolhem.se Examples of addresses which go to spammers:
root(a)localhost postmaster(a)localhost