Merge pull request #348 from marineam/edk2

vm_image_util: add qemu_uefi image type for easier testing
This commit is contained in:
Michael Marineau 2014-11-06 12:29:00 -08:00
commit 28d21bcb05
2 changed files with 27 additions and 0 deletions

View File

@ -8,6 +8,8 @@ VM_KERNEL=
VM_INITRD= VM_INITRD=
VM_MEMORY= VM_MEMORY=
VM_CDROM= VM_CDROM=
VM_PFLASH_RO=
VM_PFLASH_RW=
VM_NCPUS="`grep -c ^processor /proc/cpuinfo`" VM_NCPUS="`grep -c ^processor /proc/cpuinfo`"
SSH_PORT=2222 SSH_PORT=2222
SSH_KEYS="" SSH_KEYS=""
@ -169,6 +171,12 @@ if [ -n "${VM_CDROM}" ]; then
set -- -cdrom "${SCRIPT_DIR}/${VM_CDROM}" "$@" set -- -cdrom "${SCRIPT_DIR}/${VM_CDROM}" "$@"
fi fi
if [ -n "${VM_PFLASH_RO}" ] && [ -n "${VM_PFLASH_RW}" ]; then
set -- \
-drive if=pflash,file="${SCRIPT_DIR}/${VM_PFLASH_RO}",format=raw,readonly \
-drive if=pflash,file="${SCRIPT_DIR}/${VM_PFLASH_RW}",format=raw "$@"
fi
# Default to KVM, fall back on full emulation # Default to KVM, fall back on full emulation
qemu-system-x86_64 \ qemu-system-x86_64 \
-name "$VM_NAME" \ -name "$VM_NAME" \

View File

@ -12,6 +12,7 @@ VALID_IMG_TYPES=(
openstack openstack
qemu qemu
qemu_no_kexec qemu_no_kexec
qemu_uefi
rackspace rackspace
rackspace_onmetal rackspace_onmetal
rackspace_vhd rackspace_vhd
@ -111,6 +112,11 @@ IMG_qemu_no_kexec_DISK_FORMAT=qcow2
IMG_qemu_no_kexec_DISK_LAYOUT=vm IMG_qemu_no_kexec_DISK_LAYOUT=vm
IMG_qemu_no_kexec_CONF_FORMAT=qemu IMG_qemu_no_kexec_CONF_FORMAT=qemu
IMG_qemu_uefi_BOOT_KERNEL=0
IMG_qemu_uefi_DISK_FORMAT=qcow2
IMG_qemu_uefi_DISK_LAYOUT=vm
IMG_qemu_uefi_CONF_FORMAT=qemu_uefi
## xen ## xen
IMG_xen_BOOT_KERNEL=0 IMG_xen_BOOT_KERNEL=0
IMG_xen_CONF_FORMAT=xl IMG_xen_CONF_FORMAT=xl
@ -574,6 +580,19 @@ _write_qemu_conf() {
sed -e "s%^VM_IMAGE=.*%VM_IMAGE='${dst_name}'%" -i "${script}" sed -e "s%^VM_IMAGE=.*%VM_IMAGE='${dst_name}'%" -i "${script}"
} }
_write_qemu_uefi_conf() {
local script="$(_dst_dir)/$(_dst_name ".sh")"
local ovmf_ro="$(_dst_name "_ovmf_code.fd")"
local ovmf_rw="$(_dst_name "_ovmf_vars.fd")"
_write_qemu_conf
cp "/usr/share/edk2-ovmf/OVMF_CODE.fd" "$(_dst_dir)/${ovmf_ro}"
cp "/usr/share/edk2-ovmf/OVMF_VARS.fd" "$(_dst_dir)/${ovmf_rw}"
sed -e "s%^VM_PFLASH_RO=.*%VM_PFLASH_RO='${ovmf_ro}'%" \
-e "s%^VM_PFLASH_RW=.*%VM_PFLASH_RW='${ovmf_rw}'%" -i "${script}"
VM_GENERATED_FILES+=( "$(_dst_dir)/${ovmf_ro}" "$(_dst_dir)/${ovmf_rw}" )
}
_write_pxe_conf() { _write_pxe_conf() {
local script="$(_dst_dir)/$(_dst_name ".sh")" local script="$(_dst_dir)/$(_dst_name ".sh")"
local vmlinuz_name="$(_dst_name ".vmlinuz")" local vmlinuz_name="$(_dst_name ".vmlinuz")"