Re: dmraid works with my TX-2000

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dick wrote:
> I've also switched to udev, which brought some problems, what is the preferred
> way to get the device nodes from initrd its /dev/mapper to the
> root /dev/mapper? Rerunning dmraid -ay doesn't seem to work, any tips on
> this?

Good question, I was wondering myself.

I used my own modified version of Gerte's dmraidinitrd to create the
initrd - basically just added some device nodes for hdi and hdk and
removed all the compilation stuff.

I also modified Gerte's linuxrc and Gentoo's /sbin/rc.  Probably only
useful if you're running Gentoo, don't know if this will apply
anywhere else.

I modified linuxrc to copy the device-mapper nodes from the initrd
filesystem (where dmraid "created" them) to the "static" /dev, eg. a
/dev/mapper folder in the root filesystem (line 163, just before
pivot()'ing):

echo -e "${GOOD}>>${NORMAL}${BOLD} Copying device-mapper nodes...${NORMAL}"
rm -rf /newroot/dev/mapper
mkdir /newroot/dev/mapper
cp -dpr /dev/mapper/* /newroot/dev/mapper/


Also, I modified Gentoo's /sbin/rc script to save the device-mapper
nodes before it mounts udev and restore them afterwards (line 184):

        if [ "${udev}" = "yes" ]
        then
                ebegin "Backing up device-mapper nodes"
                rm -rf /tmp/dm_stuff
                mkdir /tmp/dm_stuff
                cp -dpr /dev/mapper/* /tmp/dm_stuff/
                rm -f /tmp/dm_stuff/control
                eend 0
                # <ramfs stuff here>
                # <populate /dev with device nodes here>
                populate_udev
                ebegin "Removing stale device-mapper nodes"
                for file in /dev/mapper/*; do
                        short=`basename $file`
                        if [ "$short" != "control" ]; then
                                rm -f $file
                        fi
                done
                eend 0
                ebegin "Restoring device-mapper nodes"
                cp -dpr /tmp/dm_stuff/* /dev/mapper/
                rm -rf /tmp/dm_stuff
                eend 0


Works like a charm.

Gentoo also has a /etc/dmtab that could perhaps be used - I avoided it
because I like my system to discover the RAID configuration at each
bootup instead of having hardcoded somewhere.


[Index of Archives]     [Linux RAID]     [Linux Device Mapper]     [Linux IDE]     [Linux SCSI]     [Kernel]     [Linux Books]     [Linux Admin]     [GFS]     [RPM]     [Yosemite Campgrounds]     [AMD 64]

  Powered by Linux