我从我的 kickstart 文件中开始:
%pre
#***********************************************
#
# Get disk name to generate partition
#
#***********************************************
DIR="/sys/block"
# minimum size of hard drive needed specified in GIGABYTES
MINSIZE=50
ROOTDRIVE=""
# /sys/block/*/size is in 512 byte chunks
for DEV in xvda sda sdb sdc sdd; do
if [ -d $DIR/$DEV ]; then
REMOVABLE=`cat $DIR/$DEV/removable`
if (( $REMOVABLE == 0 )); then
echo $DEV
SIZE=`cat $DIR/$DEV/size`
GB=$(($SIZE/2**21))
if [ $GB -gt $MINSIZE ]; then
echo "$(($SIZE/2**21))"
if [ -z $ROOTDRIVE ]; then
ROOTDRIVE=$DEV
fi
fi
fi
fi
done
echo "ROOTDRIVE=$ROOTDRIVE"
cat > /tmp/ks-partition.txt <<EOF
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=$ROOTDRIVE
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype=ext4 --ondisk=$ROOTDRIVE --size=1000
part pv.00 --fstype="lvmpv" --ondisk=$ROOTDRIVE --size=1024 --grow
volgroup vg00 pv.00
logvol swap --fstype="swap" --size=4096 --name=swap --vgname=vg00
logvol /var/log/audit --fstype="ext4" --percent=10 --name=var_log_audit --vgname=vg00
logvol /var/log --fstype="ext4" --percent=10 --name=var_log --vgname=vg00
logvol /var --fstype="ext4" --percent=10 --name=var --vgname=vg00
logvol /opt --fstype="ext4" --percent=30 --name=opt --vgname=vg00
logvol / --fstype="ext4" --size=1000 --grow --name=root --vgname=vg00
EOF
%end
并在它发挥作用之前将其一路打磨到您在下面看到的内容(其间有许多部分更改)。每次我踢它时,我都会在 anaconda.log 中看到类似“is_valid_stage1_device: False”的内容,它会要求我手动配置分区才能继续。有任何想法吗?
使用 7.2,我正在启动的是一个虚拟机。需要明确的是,下面的工作就像冠军一样,但我需要/想要像上面那样自动化。
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=xvda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype=ext4 --ondisk=xvda --size=1000
part pv.00 --fstype="lvmpv" --ondisk=xvda --size=1024 --grow
volgroup vg00 pv.00
logvol swap --fstype="swap" --size=4096 --name=swap --
vgname=vg00
logvol /var/log/audit --fstype="ext4" --percent=10 --name=var_log_audit --vgname=vg00
logvol /var/log --fstype="ext4" --percent=10 --name=var_log --vgname=vg00
logvol /var --fstype="ext4" --percent=10 --name=var --vgname=vg00
logvol /opt --fstype="ext4" --percent=30 --name=opt --vgname=vg00
logvol / --fstype="ext4" --size=1000 --grow --name=root --vgname=vg00
答案1
知道了!它根本不是 %pre 配置...我错过了分区文件的 %include...愚蠢的。
这是我添加的行(在我的例子中,在 %pre 之外)。
%include /tmp/ks-partition.txt