HOWTO: LVM2 for the 2.6 kernel

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

 



  a quick summary of what it takes to get LVM2 up and running
under the 2.6 kernel.  NOTE:  i'll keep this simple and assume
that you're not currently running LVM already, so i can skip
dealing with having to create an initrd for backward compatibility
and so on.  and there will be some points that i'm still not
clear on, so feel free to chime in.

  before you start, download two packages from 

ftp://ftp.sistina.com/pub/LVM2:

  device-mapper
  LVM2 tools

and just put these aside for later.

step 1
------

  first, start with the 2.6.0-test1-ac2 kernel source.  AFAICT,
this latest source has the patches for LVM2 already incorporated,
so you don't need to mess with source patching.

  do "make xconfig" and select:

  Multi-device support (RAID and LVM)
    Device manager support
      ioctl interface version 4

build, install, mkinitrd, etc... you know the drill.  reboot. 
(if you don't see these options, you almost certainly don't have
the latest 2.6.0-test1-ac2 source.)

step 2
------

  next, build and install the libdevmapper libs required by
the LVM2 tools.  unload the device-mapper tar ball and, given
that you're already running under 2.6.0-test1-ac2, the following
should just work:

  # ./configure
  # make 
  # make install

this should install /lib/libdevmapper.so, which you'll need for
building the LVM2 tools.

step 3
------

  building the actual lvm utilities, which is the trickiest part
of all of this.  unload the LVM2.2.00.05.tgz tarball and apply
the following short patch:

===========================================================
--- lib/device/dev-io.c 2003-07-18 17:01:02.769138390 -0400
+++ lib/device/dev-io.c.dist    2003-07-18 17:00:46.853139386 -0400
@@ -22,6 +22,9 @@
 #  undef WNOHANG               /* Avoid redefinition */
 #  undef WUNTRACED             /* Avoid redefinition */
 #  include <linux/fs.h>                /* For block ioctl definitions */
+#ifndef BLKGETSIZE64
+#define BLKGETSIZE64 _IOR(0x12,114,sizeof(u64))
+#endif
 #  define BLKSIZE_SHIFT SECTOR_SHIFT
 #else
 #  include <sys/disk.h>
===========================================================

  apparently, this is to get around some differences between
the 2.6.0-test1-ac2 header files and the installed header files
in RH 9.  regardless, just apply the patch.

  based on your situation, you can configure with a small set
of options.  i chose:

  $ ./configure --with-lvm1=none --enable-readline

you can read the INSTALL file to see what's right for you.

  then:

  $ make

installing the utilities
------------------------

  before you finally run "make install", you should first remove
the current lvm RPM, since the names of the newer utilities are the
same as the old ones.  in fact, what will be installed in /sbin will
be a single executable "lvm", and a zillion symlinks to it representing
all the LVM utilities.

  given that the current lvm RPM has at least one dependent package
(mkinitrd in my case), all i did was:

  # rpm -e --nodeps lvm
  # make install

at this point, i would think you're good to go.  i haven't tested
this yet (need to clean up some disk space first), but if anyone
wants to take a crack at it, feel free.

  have i missed anything?

rday


-- 
Shrike-list mailing list
Shrike-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/shrike-list

[Index of Archives]     [Fedora Users]     [Centos Users]     [Kernel Development]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat Phoebe Beta]     [Yosemite Forum]     [Fedora Discussion]     [Gimp]     [Stuff]     [Yosemite News]

  Powered by Linux