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 installand 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/haltand 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.