source [genode_dir]/tool/run/grub2.inc

##
# Create GPT disk image with UEFI boot loaders and content of the run directory
#
# \param --image-uefi-size   disk size in MiB
#

proc image_uefi_size { } { return [get_cmd_arg --image-uefi_size 0] }


##
# Create uefi image
#
proc run_image { {unused ""} } {

	set run_size [expr [regsub {\s.*} [exec du -sm [run_dir]] {}]]

	if {[image_uefi_size] > 0} {
		set disk_size  [image_uefi_size]
	} else {
		set disk_size [expr $run_size + 1]
	}

	# generate head space designated for the partition table
	exec dd if=/dev/zero of=[run_dir].header count=34 bs=512 2>/dev/null

	exec dd if=/dev/zero of=[run_dir].partition bs=1M count=$disk_size 2>/dev/null
	exec [installed_command mkfs.vfat] -n GENODE [run_dir].partition

	# copy content to disk image
	foreach file [exec ls [run_dir]] {
		exec [installed_command mcopy] -i [run_dir].partition -s [run_dir]/$file ::
	}

	exec cat [run_dir].header [run_dir].partition > [run_dir].img

	exec [installed_command sgdisk] --set-alignment=1 --largest-new=1 --typecode=1:EF00 [run_dir].img

	exec rm -f [run_dir].header [run_dir].partition
}
