Eu tenho tentado fazer algo semelhante usando o script kickstart %pre
para particionar o disco.
No script %pre
, tenho que criar 3 partições primárias com o restante do disco como uma partição estendida contendo várias partições lógicas:
%pre
# clear the MBR and partition table
dd if=/dev/zero of=${targetDisk} bs=512 count=1
# setup partition table on disk
parted -s ${targetDisk} mklabel msdos
parted -s ${targetDisk} mkpart primary 1049k 106M
parted -s ${targetDisk} mkpart primary 106M 4401M
parted -s ${targetDisk} mkpart primary 4401M 6548M
parted -s ${targetDisk} mkpart extended 6548M 160G
parted -s ${targetDisk} mkpart logical 6550M 38.8G
parted -s ${targetDisk} mkpart logical 38.8G 54.9G
sleep 2
# wait for all devices to be identified by the kernel
while [ -z $(ls ${targetDisk}15) ]
do
echo "waiting for kernel to recognize partitions"
hdparm -z ${targetDisk}
sleep 1
done
Em seguida, na seção de partição do arquivo kickstart
:
# declare the partition configuration created in the %pre script
part /boot --fstype ext2 --onpart=/dev/sda1
part / --fstype ext3 --onpart=/dev/sda2
part /var --fstype ext3 --onpart=/dev/sda3
part swap --fstype ext3 --onpart=/dev/sda5
part /home --fstype ext3 --onpart=/dev/sda6
Eu tenho um total de 15 partições. A espera e o recarregamento das partições no final eram necessárias para resolver um problema em que, às vezes, durante o kickstart install
nem todos os arquivos de dispositivo especiais /dev/sda##
do disco foram criados, causando a falha da instalação.