diff --git a/build_library/vm_image_util.sh b/build_library/vm_image_util.sh index b1849ec44e..f1d3a50dd2 100644 --- a/build_library/vm_image_util.sh +++ b/build_library/vm_image_util.sh @@ -713,18 +713,21 @@ _write_qemu_uefi_conf() { case $BOARD in amd64-usr) - cp "/usr/share/edk2-ovmf/OVMF_CODE.fd" "$(_dst_dir)/${flash_ro}" - cp "/usr/share/edk2-ovmf/OVMF_VARS.fd" "$(_dst_dir)/${flash_rw}" + cp "/usr/share/edk2/OVMF_CODE.fd" "$(_dst_dir)/${flash_ro}" + cp "/usr/share/edk2/OVMF_VARS.fd" "$(_dst_dir)/${flash_rw}" ;; arm64-usr) - info "Updating edk2-armvirt in /build/${BOARD}" - emerge-${BOARD} --nodeps --select -qugKN sys-firmware/edk2-armvirt - # this bit of magic comes from http://tech.donghao.org/2014/12/18/running-fedora-21-on-qemu-system-aarch64/ - cat "/build/${BOARD}/usr/share/edk2-armvirt/QEMU_EFI.fd" /dev/zero | \ - dd iflag=fullblock bs=1M count=64 of="$(_dst_dir)/${flash_ro}" \ - status=none + # Get edk2 files into local build workspace. + info "Updating edk2 in /build/${BOARD}" + emerge-${BOARD} --nodeps --select -qugKN sys-firmware/edk2 + # Create 64MiB flash device image files. dd if=/dev/zero bs=1M count=64 of="$(_dst_dir)/${flash_rw}" \ status=none + cp "/build/${BOARD}/usr/share/edk2/QEMU_EFI.fd" \ + "$(_dst_dir)/${flash_ro}.work" + truncate --reference="$(_dst_dir)/${flash_rw}" \ + "$(_dst_dir)/${flash_ro}.work" + mv "$(_dst_dir)/${flash_ro}.work" "$(_dst_dir)/${flash_ro}" ;; esac