diff --git a/buildroot-external/board/intel/ova/hassos-hook.sh b/buildroot-external/board/intel/ova/hassos-hook.sh index 71a7f890c..532ad6130 100755 --- a/buildroot-external/board/intel/ova/hassos-hook.sh +++ b/buildroot-external/board/intel/ova/hassos-hook.sh @@ -15,10 +15,27 @@ function hassos_pre_image() { function hassos_post_image() { + local HDD_IMG="$(hassos_image_name img)" + local HDD_OVA="$(hassos_image_name ova)" + local OVA_DATA="${BINARIES_DIR}/ova" + + # Virtual Disk images convert_disk_image_virtual convert_disk_image_gz vmdk convert_disk_image_gz vhdx convert_disk_image_gz vdi -} + convert_disk_image_gz qcow2 + # OVA + mkdir -p "${OVA_DATA}" + rm -f "${HDD_OVA}" + + cp -a ${BOARD_DIR}/home-assistant.ovf "${OVA_DATA}/home-assistant.ovf" + qemu-img convert -O vmdk -o subformat=streamOptimized "${HDD_IMG}" "${OVA_DATA}/home-assistant.vmdk" + (cd "${OVA_DATA}"; sha256sum --tag home-assistant.* >home-assistant.mf) + tar -C "${OVA_DATA}" --owner=root --group=root -cf "${HDD_OVA}" home-assistant.ovf home-assistant.vmdk home-assistant.mf + + # Cleanup + rm -f "${HDD_IMG}" +} diff --git a/buildroot-external/board/intel/ova/home-assistant.ovf b/buildroot-external/board/intel/ova/home-assistant.ovf new file mode 100644 index 000000000..e1c0133c0 --- /dev/null +++ b/buildroot-external/board/intel/ova/home-assistant.ovf @@ -0,0 +1,139 @@ + + + + + + + List of the virtual disks used in the package + + + + Logical networks used in the package + + Logical network used by this appliance. + + + + A virtual machine + + Meta-information about the installed software + Operating-System + https://home-assistant.io + + + The kind of installed guest operating system + Linux + + + Virtual hardware requirements for a virtual machine + + Virtual Hardware Family + 0 + Home Assistant + vmx-10 + + + 2 virtual CPU + Number of virtual CPUs + 2 virtual CPU + 1 + 3 + 2 + 2 + + + MegaBytes + 2048 MB of memory + Memory Size + 2048 MB of memory + 2 + 4 + 2048 + + + 0 + sataController0 + SATA Controller + sataController0 + 3 + AHCI + 20 + + + 0 + usb + USB Controller (EHCI) + usb + 4 + 23 + + + 0 + disk1 + Disk Image + disk1 + /disk/vmdisk1 + 5 + 3 + 17 + + + + true + eth0 + Ethernet adapter + Bridged + eth0 + 6 + E1000 + 10 + + + + + + + + + + + + + + + + + + Complete VirtualBox machine configuration in VirtualBox format + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildroot-external/scripts/hdd-image.sh b/buildroot-external/scripts/hdd-image.sh index 1b9887c0a..626562604 100755 --- a/buildroot-external/scripts/hdd-image.sh +++ b/buildroot-external/scripts/hdd-image.sh @@ -298,16 +298,17 @@ function convert_disk_image_virtual() { local hdd_vmdk="$(hassos_image_name vmdk)" local hdd_vhdx="$(hassos_image_name vhdx)" local hdd_vdi="$(hassos_image_name vdi)" + local hdd_qcow2="$(hassos_image_name qcow2)" rm -f "${hdd_vmdk}" rm -f "${hdd_vhdx}" rm -f "${hdd_vdi}" + rm -f "${hdd_qcow2}" qemu-img convert -O vmdk "${hdd_img}" "${hdd_vmdk}" qemu-img convert -O vhdx "${hdd_img}" "${hdd_vhdx}" qemu-img convert -O vdi "${hdd_img}" "${hdd_vdi}" - - rm -f "${hdd_img}" + qemu-img convert -O qcow2 "${hdd_img}" "${hdd_qcow2}" }