#!/bin/sh # don't let udev and this script step on eachother's toes for x in 64-lvm.rules 70-mdadm.rules 99-mount-rules; do > "/etc/udev/rules.d/$x" done rm -f -- /etc/lvm/lvm.conf udevadm control --reload udevadm settle # save a partition at the beginning for future flagging purposes sfdisk /dev/sda << EOF ,4M ,29M ,29M ,29M EOF udevadm settle for i in sda2 sda3 sda4; do lvm pvcreate -ff -y /dev/$i done \ && lvm vgcreate dracut /dev/sda[234] \ && lvm lvcreate -l 17 -T dracut/mythinpool \ && lvm lvcreate -V1G -T dracut/mythinpool -n root \ && lvm vgchange -ay \ && mke2fs /dev/dracut/root \ && mkdir -p /sysroot \ && mount /dev/dracut/root /sysroot \ && cp -a -t /sysroot /source/* \ && umount /sysroot \ && sleep 1 \ && lvm lvchange -a n /dev/dracut/root \ && sleep 1 dmsetup status | grep out_of_data_space \ || echo "dracut-root-block-created" | dd oflag=direct,dsync of=/dev/sda1 sync poweroff -f