#!/bin/bash echo "losetup needs root permissions" dev=$(sudo losetup -f) img=$(mktemp) imgsize=7000 #imgsize=10 echo "using image ${img} with size ${imgsize}MiB and dev ${dev}" read -p "size of boot? (MiB):" bootsize bootend=$(( 17408+(${bootsize}*1024*2)-1 )) read -p "size of root? (MiB):" rootsize rootstart=$(( ${bootend}+1 )) rootend=$(( ${rootstart} + (${rootsize}*1024*2) )) echo "using boot-part till ${bootend} and ${rootstart}:${rootend}" read -n1 -p "continue? [yn]:" choice if [[ "$choice" == "y" ]]; then dd if=/dev/zero of=${img} bs=1M count=${imgsize} sudo losetup ${dev} ${img} sudo sgdisk -o ${dev} sudo sgdisk -a 1 -n 1:34:8191 -t 1:8300 -c 1:"bl2" ${dev} sudo sgdisk -a 1 -n 2:8192:9215 -t 2:8300 -c 2:"u-boot-env" ${dev} sudo sgdisk -a 1 -n 3:9216:13311 -t 3:8300 -c 3:"factory" ${dev} sudo sgdisk -a 1 -n 4:13312:17407 -t 4:8300 -c 4:"fip" ${dev} sudo sgdisk -a 1024 -n 5:17408:${bootend} -t 5:8300 -c 5:"boot" ${dev} sudo sgdisk -a 1024 -n 6:${rootstart}:${rootend} -t 6:8300 -c 6:"rootfs" ${dev} #print table sudo sgdisk -p ${dev} sudo losetup -d ${dev} fi