59 lines
		
	
	
		
			780 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			780 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
set -euo pipefail
 | 
						|
 | 
						|
BASEDIR="$(dirname "${0}" | sed "s|^\.|${PWD}|")"
 | 
						|
 | 
						|
source \
 | 
						|
	/etc/os-release
 | 
						|
source \
 | 
						|
	"${BASEDIR}/system.conf"
 | 
						|
 | 
						|
if [[ ! "${DISK}" == **/dev/disk/by-id/** ]]; then
 | 
						|
	if [[ "${DISK}" == **/dev/nvme** ]]; then
 | 
						|
		PART3='p3'
 | 
						|
	else
 | 
						|
		PART3='3'
 | 
						|
	fi
 | 
						|
else
 | 
						|
	PART3='-part3'
 | 
						|
fi
 | 
						|
 | 
						|
swapoff \
 | 
						|
	--all
 | 
						|
 | 
						|
wipefs \
 | 
						|
	-a \
 | 
						|
	${DISK}
 | 
						|
 | 
						|
if [[ ! "${DISK_TYPE}" == 'HDD' ]]; then
 | 
						|
	blkdiscard \
 | 
						|
		-f \
 | 
						|
		${DISK}
 | 
						|
fi
 | 
						|
 | 
						|
sgdisk \
 | 
						|
	--zap-all \
 | 
						|
	${DISK}
 | 
						|
 | 
						|
sgdisk \
 | 
						|
	-n1:0:+512M \
 | 
						|
	-t1:EF00 \
 | 
						|
	-c1:EFI \
 | 
						|
	${DISK}
 | 
						|
 | 
						|
if [[ "${ENABLE_SWAP}" == "yes" ]]; then
 | 
						|
	SWAP_SIZE="$(((($(vmstat -sS M | grep 'total memory' | sed 's/ M total memory//') / 1024) + 1) * 2))"
 | 
						|
 | 
						|
	sgdisk \
 | 
						|
		-n2:0:+${SWAP_SIZE}G \
 | 
						|
		-t2:BF02 \
 | 
						|
		-c2:swap \
 | 
						|
		${DISK}
 | 
						|
fi
 | 
						|
 | 
						|
sgdisk \
 | 
						|
	-n3:0:0 \
 | 
						|
	-t3:BF00 \
 | 
						|
	-c3:${ID} \
 | 
						|
	${DISK}
 |