[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mandrake-cooker
Subject:    [Cooker] [Bug 12467] [mkinitrd] ASSIGNED: EVMS support in mkinitrd
From:       "[ric]" <bugzilla () qa ! linux-mandrake ! com>
Date:       2005-03-16 12:27:12
Message-ID: bug12467.20050316122712.543075 () qa ! linux-mandrake ! com
[Download RAW message or body]

User ID: 1193, 18 bugs reported (6 fixed, 1 duplicate, 0 invalid), 66 comments.

http://qa.mandrakesoft.com/show_bug.cgi?id=12467





------- Additional Comments From ric@fhj52.info  2005-03-16 13:27 -------
Perhaps it is there:
#> mdadm --detail /dev/evms/md/md0
/dev/evms/md/md0:
        Version : 00.90.01
  Creation Time : Mon Mar 14 06:10:34 2005
     Raid Level : raid1
     Array Size : 1020032 (996.13 MiB 1044.51 MB)
    Device Size : 1020032 (996.13 MiB 1044.51 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Wed Mar 16 06:16:54 2005
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : ab107a8f:2a344ec5:f8dfffa0:7c766a72
         Events : 0.172588

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1
It's 06:16:56 on Wed Mar 16.

The UUID is the same as for  /dev/md0  so they are pointing to the same place
and ithink that means it worked.  I did not change the fstab to reflect the new
mount points.
-will change fstab to mount at /dev/evms/md/md0 instead of /dev/md0 (and the
rest of them, except /proc ...) and maybe the boot error will go away.
If this is wrong, please advise.

-- 
Configure bugmail: http://qa.mandrakesoft.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


------- Reminder: -------
assigned_to: bluca@comedia.it
status: ASSIGNED
distribution: cooker
creation_date: 
description: 
This applies to all mkinitrd versions up to the current (4.1.12-2mdk)
The 4.1.12-2mdk isn't listed in version list, it reports 4.1.9-4mdk being the 
current version.

I noticed there isn't support for EVMS (Enterprise Volume Management System, 
http://evms.sourceforge.net/) root devices in mkinitrd.

I believe I could make a patch to the mkinitrd, but I report this here first if 
someone with more experience in mkinitrd could make a patch.

The EVMS is a Volume Management System consisting of plugins. It does have 
support for RAID, LVM1/2, DOS partitions and even filesystem tool plugins. It 
has good ui's and has many advanced features, as BBR etc.

Now I look into how the EVMS support should be implemented:

In line 546 there is 'if [ "$root_major" = "$dm_major" ]; then'. This resolves 
true with all EVMS volumes also. EVMS also needs the dm-mod module (as needs 
lvm2). But with EVMS you should not use the lvm2 -commands at all (they usually 
don't even exist). You have to choose between lvm2 and evms by testing whether 
the binaries are there and/or the device path begins with /dev/evms.

If you want to know the EVMS disks to look if they require RAID/SCSI-modules, 
use command "evms_query disks" which lists them without the "/dev/" prefix.
As only the root device disks are needed (and not all EVMS disks), you can use 
"evms" query and filter options to find them out (http://evms.sourceforge.net/
terminology.html has terminology and http://anssi.hopto.org/man?program=evms has 
man page).
The "evms" CLI interface to evms exists currently in a separate package evms-
cli, in evms package there is only a simple "evms_query" which simply can list 
all volumes, all disks etc. The "evms" could be moved to evms package if that is 
necessary. I look into that matter (and into the fact that mdk-contrib has a 
rather old EVMS version) when the mkinitrd support is implemented.

The files that need to be copied to initrd are /sbin/evms_activate (+ .so 
dependencys) and whole /lib/evms directory (+ .so dependencys, currently 
libuuid.so) and /etc/evms.conf.

The required commands to run in initrd are "mkdmnod" to create device-mapper 
control node, and then evms_activate. There should _not_ be any LVM or software-
raid enablers (even if some disks use them), since EVMS has support for them.

The evms volumes are always located at /dev/evms/ (for example /dev/evms/hda3 
for /dev/hda3, /dev/evms/lvm2/levyt/root for lvm2-volume /dev/levyt/root).

This was with the newest EVMS (2.4.1).

I'd be happy to assist in any way.

Or if I have to implement this myself, could anyone give directions on where in 
the mkinitrd should I implement it.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic