#!/bin/sh -e

[ "$(id -u)" -eq 0 ] || { echo 'This script must be run as root!'; exit 1; }

dev=$(stat -c %n /dev/mmcblk*boot0)
dev=${dev%boot0}
kfn=$(stat -c %n *kernel.bin)
rfn=$(stat -c %n *rootfs.tar.gz)

dev_s=$(blockdev --getsz ${dev})
kern_s="32" # in MB

dd if=/dev/zero of=${dev} bs=512 count=34
dd if=/dev/zero of=${dev} bs=512 count=34 seek=$(( ${dev_s} - 34 ))

echo 'label: gpt' | sfdisk ${dev}

kern_s=$(( ${kern_s} * 2048 ))
root_b=$(( ${kern_s} + 20480 ))
root_s=$(( ${dev_s} - ${root_b} - 33 ))

cgpt add -i 1 -t kernel -b 20480 -s ${kern_s} -l Kernel -S 1 -T 5 -P 10 ${dev}
cgpt add -i 2 -t data -b ${root_b} -s ${root_s} -l Root ${dev}

partx -u ${dev}

yes | mkfs.ext4 ${dev}p2
mount ${dev}p2 /mnt 
tar xzvf ${rfn} -C /mnt
	
sync
umount /mnt

dd if=${kfn} of=${dev}p1

echo "Install to ${dev} complete."
