# mdmon not being activated on new kernels

## jrsx13

Anyone know why I can't get mdmon to activate on a kernel after gentoo-sources-3.6.2?

For example if I use genkernel to make a kernel for gentoo-sources-3.6.8 the root file system mounts root only.

And so I have to do the following when it boots as it is read only:

mdmon /dev/md(N+1)

mount -o remount,rw /

After doing that it is read and write. I need this to happen at boot.

I have tried several different kernels, and versions of genkernel.

Kind of at a loss...

Cheers.

It is basically this problem: https://bbs.archlinux.org/viewtopic.php?id=137058 but on Gentoo not Arch.

Thanks

----------

## DaggyStyle

what sb metadata are you using?

----------

## jrsx13

ARRAY /dev/md/imsm0 metadata=imsm

```

# cat /proc/mdstat

Personalities : [raid1]

md126 : active raid1 sda[1] sdb[0]

      625129472 blocks super external:/md127/0 [2/2] [UU]

md127 : inactive sdb[1](S) sda[0](S)

      4520 blocks super external:imsm

unused devices: <none>

# mdadm --detail /dev/md126

/dev/md126:

      Container : /dev/md/imsm0, member 0

     Raid Level : raid1

     Array Size : 625129472 (596.17 GiB 640.13 GB)

  Used Dev Size : 625129604 (596.17 GiB 640.13 GB)

   Raid Devices : 2

  Total Devices : 2

          State : clean

 Active Devices : 2

Working Devices : 2

 Failed Devices : 0

  Spare Devices : 0

           UUID : d60b505d:ae5bf6a0:096ba81d:583a149a

    Number   Major   Minor   RaidDevice State

       1       8        0        0      active sync   /dev/sda

       0       8       16        1      active sync   /dev/sdb

# mdadm -D --scan

ARRAY /dev/md/imsm0 metadata=imsm UUID=bed903e1:10d63c86:5a92bab0:380e8b9a

ARRAY /dev/md/boron_0 container=/dev/md/imsm0 member=0 UUID=d60b505d:ae5bf6a0:096ba81d:583a149a

```

----------

## DaggyStyle

sorry, not idea what that means, hope you'll solve it.

----------

## danomac

It's a imsm (Intel) fakeraid.

What's your /etc/genkernel.conf look like? What's the kernel config that genkernel look like? Maybe post them to pastebin or similar.

I'm on 3.4.9 (or newer, I think I upgraded...) and I have zero issues. I always configure my kernel manually, even when using genkernel.

I can't remember now, but genkernel backs up kernel configs somewhere (maybe in /etc somewhere?) I can't look now, but if you find it post it.

----------

## jrsx13

Yup, it is Intel but I haven't really had much of a problem up until now. Right now I am in the 3.6.2 kernel without an issue.

I configure my kernel manually as well using "make menuconfig"  and just use genkernel to make the image files to boot up. The command I use for genkernel is:

```
genkernel --mdadm --kernel-config=/root/docs/config all
```

It may be worth noting I have never edited genkernel.conf

Kernel Config file:

http://pastebin.com/veGc9rkP

genkernel.conf file:

http://pastebin.com/v1PjEeXV

As an aside, from genkernel.conf I noted that is a recent change that coincided about the time this broke for me, though it could just be a coincidence.

```
# NOTE: Since genkernel 3.4.41 the version of

#   busybox, lvm, mdadm, .. have been moved to

#   /usr/share/genkernel/defaults/software.sh in order to

#   reduce the merging you have to do during etc-update.

#   You can still override these settings in here.
```

Here is when the last good kernel was built:

```
3.6.2-gentoo #1 SMP Mon Oct 15 21:34:49 EDT 2012
```

I learned of a manual fix from that Arch forum https://bbs.archlinux.org/viewtopic.php?id=137058. I can describe briefly what happens.

I boot into my new kernel and the raid is write protected, and "mount -o remount,rw /" does nothing. However if I type "mdmon /dev/md127" which is the raid container I can then use the "mount -o remount,rw /" command without issue.

So I suspect that it has something to do with that command not being entered into the boot image by genkernel.

Thanks!

----------

## danomac

What version of mdadm is genkernel using? Another user had a problem with it not being able to mount.

I pasted my genkernel.conf (which, at the time, used a newer mdadm than genkernel used) and he recompiled using it - the problem he had went away.

It may just be an old version of mdadm that's being used in the initrd.

----------

