You are not logged in.
I am developing a virtual machine builder called varch and I am using aif to do the installs. So far it works will with regular partitions, but I am having trouble with lvm. I am fairly confident my BLOCK_DEVICES variable is accurate but aif fails to run lvcreate.
So let me paint the environment, varch is a python application which takes an aif config file as an argument, varch creates a raw disk image and then makes it available by using kpartx. The disk image becomes available on a loopback device, like /dev/loop0, and partitions become available under /dev/mapper/loop0px.
Varch takes the aif file and edits it to ensure that aif does not modify anything on the actual running system by changing the config file to point to the loopback device.
Then varch runs aif -p automatic <modified config>
like I said, it works great with regular partitions, but fails on lvm, aif makes the pv and the vg but never calls lvcreate.
What I am asking is, can someone help me navigate AIF a bit so I can figure out why it is failing? Here is the aif config I am using with varch:
SOURCE=net
#FILE_URL=file:///src/core/pkg
SYNC_URL=http://mirror.rit.edu/archlinux/\$repo/os/x86_64
HARDWARECLOCK=UTC
TIMEZONE=America/Denver
# Do you want to have additional pacman repositories or packages available at runtime (during installation)?
# RUNTIME_REPOSITORIES = array like this ('name1' 'location of repo 1' ['name2' 'location of repo2',..])
RUNTIME_REPOSITORIES=
# space separated list
RUNTIME_PACKAGES=
# packages to install
TARGET_GROUPS=base # all packages in this group will be installed (defaults to base if no group and no packages are specified)
TARGET_PACKAGES_EXCLUDE='nano reiserfsprogs'
TARGET_PACKAGES=openssh # you can also specify separate packages to install (this is empty by default)
# These variables are mandatory
GRUB_DEVICE=/dev/vda
PARTITIONS='/dev/vda 100:ext4:+ *:ext4'
BLOCKDATA='/dev/vda1 raw no_label ext4;yes;/boot;target;no_opts;no_label;no_params
/dev/vda2 raw no_label lvm-pv;yes;no_mountpoint;target;no_opts;no_label;no_params
/dev/vda2+ lvm-pv no_label lvm-vg;yes;no_mountpoint;target;no_opts;vmvg;/dev/vda2
/dev/mapper/vmvg lvm-vg vmvg lvm-lv:yes;no_mountpoint;target;no_opts;root;5000M
/dev/mapper/vmvg-root lvm-lv root xfs;yes;/;target;no_opts;no_label;no_params'
Thanks in advance, I know this is a deep question!
Last edited by Ryujin (2010-11-07 17:40:54)
Offline
Why do you have a colon instead of a semicolon between lvm-lv and yes? on the line where you define the LV's on the VG.
Probably that's it.
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
Wow! Thanks Dieter!
Offline