#!/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."