lvmcreate_initrd
LVMCREATE_INITRD(8) LVMCREATE_INITRD(8)
NAME
lvmcreate_initrd - create an initial ramdisk to boot with root on a
logical volume
SYNOPSIS
lvcmreate_initrd [-i|--iop IOP] [-D|--devfs] [-v|--verbose] [-V|--ver-
sion] [KernelVersion]
DESCRIPTION
lvmcreate_initrd creates a new compressed initial ramdisk /boot/initrd-
lvm-KernelVersion.gz. The initial ramdisk contains all necessary bina-
ries, shared libraries and a linuxrc file to switch to a logical volume
based root filesystem. To build an initial ramdisk for a kernel other
than the one currently running add the KernelVersion parameter (e.g.
lvmcreate_initrd 2.3.25) on the command line.
OPTIONS
-h, --help
Print a usage message on standard output and exit.
-i, --iop IOP
Specify the LVM kernel IOP version if you are using wrapper
scripts in /sbin. This is only necessary if you are building an
initrd for a kernel other than the current one, and you have
tools for multiple IOP versions installed.
-D, --devfs
Force the use of devfs when building the initrd. lvmcreate_ini-
trd by default probes for devfs by checking for /dev/.devfsd,
which is created by devfsd when it is running. This option will
force lvmcreate_initrd to do this, when devfsd is not currently
running.
-v, --verbose
Gives verbose runtime information about the creation of the ram
disk image.
-V, --version
Print version number and exit successfully.
The necessary actions to change your system into a "root on logical
volume" one are:
Create a small (~20MB) partition which is BIOS reachable to hold the
/boot filesystem (if you already have a small partition based root
filesystem this can be used instead). If you want to boot standalone
from this partition in an emergency, copy all the necessary binaries
and libraries to that filesystem as well and create a corresponding
/etc/lilo.conf entry. In order to be able to edit lilo.conf when booted
standalone, you should move /etc/lilo.conf to /boot/lilo.conf and cre-
ate a symbolic link to it in /etc. This is not needed if you have a
boot/root floppy which contains the LVM binaries and the library.
Create all logical volumes you need (for root, usr, opt etc.), create
filesystems in them, mount them and transfer all files from the parti-
tion based filesystems into the logical volume based ones.
Set up your /etc/lilo.conf with a boot configuration like:
image = /boot/vmlinuz
initrd = /boot/initrd-lvm-KernelVersion.gz
root = /dev/YourVG/YourRootLV
label = rootonlv
append = 'ramdisk_size=8192'
Replace YourVG and YourRootLV by your actual volume group and root log-
ical volume names. You also need to change the ramdisk size to be at
least as large as that reported while lvmcreate_initrd is run. If you
have enough memory, it is OK if the ramdisk size in /etc/lilo.conf is
larger than what lvmcreate_initrd reports (the memory is freed after
booting). Also, your /etc/fstab in the root logical volume should con-
tain entries for the root LV, and the boot partition, along with any
other LVs you have configured:
/dev/YourVG/YourRootLV / ext2 defaults 0 1
/dev/YourBootPartition /boot ext2 defaults 0 2
/dev/YourVG/YourUsrLV /usr ext2 defaults 0 3
/dev/YourVG/YourOptLV /opt ext2 defaults 0 4
etc.
You can use other supported filesystem types as well (e.g. reiserfs) if
you have support for those in your kernel. Run lilo, reboot and try...
The partitions containing the former /usr, /opt etc. filesystems can
now be used as physical volumes. Use pvcreate(8) to turn them into PVs
and then use vgextend(8) to add them to e.g. YourVG.
DIAGNOSTICS
lvcmcreate_initrd returns 0 for success. 1 is returned in all other
cases.
SEE ALSO
lilo(8), lilo.conf(5), fstab(5), lvm(8), pvcreate(8), vgextend(8),
lvcreate(8), vgcreate(8)
AUTHOR
Heinz Mauelshagen <Linux-LVM@Sistina.com>
Heinz Mauelshagen LVM TOOLS LVMCREATE_INITRD(8)