#!/bin/sh # First we define the function ConfirmOrExit () { while true do echo -n "Please confirm (y or n) :" read CONFIRM case $CONFIRM in y|Y|YES|yes|Yes) break ;; n|N|no|NO|No) echo "Aborting - you entered $CONFIRM" exit ;; *) echo "Please enter only y or n" esac done echo "You entered $CONFIRM. Continuing ..." } DEV_NAME=${1} CHROOT="/mnt" DEV="/dev/${DEV_NAME}" echo "DEV_NAME=${DEV_NAME}" echo "DEV=${DEV}" echo "CHROOT=${CHROOT}" ConfirmOrExit parted --script ${DEV} \ mklabel gpt \ unit mib \ mkpart primary 1 3 \ set 1 bios_grub on \ name 1 grub \ mkpart ESP fat32 3 59 \ set 2 boot on \ name 2 efi \ mkpart primary ext4 103 200 \ name 3 boot \ mkpart primary linux-swap 200 456 \ name 4 swap \ mkpart primary ext4 456 3700 \ name 5 root \ mkpart primary ext4 3700 4000 \ name 6 var \ mkpart primary ext4 4000 100% \ name 7 home kpartx -a -s -l -u ${DEV} mkfs.fat -F 32 /dev/mapper/${DEV_NAME}p2 mkfs.ext4 /dev/mapper/${DEV_NAME}p3 mkswap /dev/mapper/${DEV_NAME}p4 mkfs.ext4 /dev/mapper/${DEV_NAME}p5 mkfs.ext4 /dev/mapper/${DEV_NAME}p6 mkfs.ext4 /dev/mapper/${DEV_NAME}p7 mount /dev/mapper/${DEV_NAME}p5 $CHROOT mkdir -p $CHROOT/proc mkdir -p $CHROOT/sys mkdir -p $CHROOT/dev mkdir -p $CHROOT/media mkdir -p $CHROOT/boot mount /dev/mapper/${DEV_NAME}p3 $CHROOT/boot mkdir -p $CHROOT/boot/efi mount /dev/mapper/${DEV_NAME}p2 $CHROOT/boot/efi mkdir -p $CHROOT/var mount /dev/mapper/${DEV_NAME}p6 $CHROOT/var mkdir -p $CHROOT/home mount /dev/mapper/${DEV_NAME}p7 $CHROOT/home