Skip to content

Instantly share code, notes, and snippets.

@arif-ali
Last active August 29, 2015 13:56
Show Gist options
  • Save arif-ali/9116792 to your computer and use it in GitHub Desktop.
Save arif-ali/9116792 to your computer and use it in GitHub Desktop.
Partition %pre script
#!/bin/bash
partfile=/tmp/partitionfile
disks="sda sdb sdc sdd sde sdf sdg sdh"
i=0
rm -rf ${partfile}
touch ${partfile}
for disk in `echo ${disks}`
do
efipart=${i}
[[ ${i} -eq 0 ]] && efipart=""
dd if=/dev/zero of=/dev/${disk} bs=512 count=1
parted -s /dev/${disk} mklabel gpt
parted -s /dev/${disk} mkpart primary 1MiB 100MiB
parted -s /dev/${disk} set 1 boot on
parted -s /dev/${disk} mkpart primary 100MiB 600MiB
parted -s /dev/${disk} set 2 raid on
parted -s /dev/${disk} mkpart primary 600MiB 51800MiB
parted -s /dev/${disk} set 3 raid on
parted -s /dev/${disk} mkpart primary 51800MiB 100%
cat >> ${partfile} << EOF
part /boot/efi${efipart} --fstype=vfat --onpart=/dev/${disk}1
part raid.0${i} --onpart=/dev/${disk}2
part raid.1${i} --onpart=/dev/${disk}3
EOF
(( i++ ))
done
cat >> ${partfile} << EOF
raid /boot --fstype=ext4 --device=md0 --level=1 --spares=6 raid.00 raid.01 raid.02 raid.03 raid.04 raid.05 raid.06 raid.07
raid pv.1 --fstype=ext4 --device=md1 --level=5 --spares=1 raid.10 raid.11 raid.12 raid.13 raid.14 raid.15 raid.16 raid.17
volgroup system --pesize=4096 pv.1
logvol / --name=root --vgname=system --size=20480 --fstype=ext4
logvol swap --name=swap --vgname=system --size=8192
logvol /var --name=var --vgname=system --size=40960 --fstype=ext4
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment