It came to pass that I wanted to use the LVM for filesystems that are mounted at boot time. I also wanted to the the 2.4.x kernel. This worked out well, as the LVM has been integrated into the 2.4.x kernel run. At the time of this writing the current kernel is 2.4.2 and the LVM code in that kernel is 0.9.1_beta2.
The following assumptions are made in this document:
Grab the LVM source version 0.9.1_beta2 from http://www.sistina.com/lvm/Pages/download.html. (You can grab newer source and patch the kernel's version of LVM up to that level, however, I haven't done that yet, so I'm not sure how well that works.) Untar the source and prepare to run everyon'e favorate command: ./configure We want to make sure to configure the the Makefiles to put the LVM files into logical places and places that are accessable at boot time. Its also wise to staticly link the binaries in case we have an emergancy situation with a screwed up library. I used the following command line statement:
./configure --prefix=/ --enable-static_link --mandir=/usr/man
--infodir=/usr/info --includedir=/usr/include --libdir=/lib --localstatedir=/var
--sysconfdir=/etc --datadir=/usr/share --libexecdir=/usr/libexec --sbindir=/sbin
--bindir=/bin
make
and make install
and this will drop files
into all the logical places. We're not ready to work this into our boot and shutdown process.
I've created two patches to integrate the LVM into the boot and shutdown process.
/etc/rc.d/rc.sysinit
. This patch adds the vgscan and vgchange
commands in an appropriate place to identify and activate the volume groups on the
system./etc/rc.d/init.d/halt
and uses the vgchange command to deactivate
the volume groups at an appropriate time.That's all there really is to it. If you have any questions let me know.