X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=OvmfPkg%2Fbuild.sh;h=5bfee725ad2d699bf5f11339043d4d37f8607b54;hb=847e4c3477d3ecb7362c3b31fe9889384557e8ae;hp=6751551b1014b5632c38718c0ce7f08722617978;hpb=429c05fa2bbfd4cb5b9c36f052c219bcb67e2c20;p=mirror_edk2.git diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh index 6751551b10..5bfee725ad 100755 --- a/OvmfPkg/build.sh +++ b/OvmfPkg/build.sh @@ -1,7 +1,7 @@ #!/bin/bash # # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.
-# Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License @@ -48,6 +48,7 @@ PLATFORMFILE= THREADNUMBER=1 LAST_ARG= RUN_QEMU=no +ENABLE_FLASH=no # # Pick a default tool type for a given OS @@ -81,9 +82,12 @@ case `uname` in 4.6.*) TARGET_TOOLS=GCC46 ;; - 4.[789].*) + 4.7.*) TARGET_TOOLS=GCC47 ;; + 4.[8-9].*) + TARGET_TOOLS=GCC48 + ;; *) TARGET_TOOLS=GCC44 ;; @@ -106,6 +110,9 @@ do shift break ;; + --enable-flash) + ENABLE_FLASH=yes + ;; *) BUILD_OPTIONS="$BUILD_OPTIONS $arg" ;; @@ -139,11 +146,30 @@ done case $PROCESSOR in IA32) Processor=Ia32 - QEMU_COMMAND=qemu + if [ -n "$QEMU_COMMAND" ]; then + # + # The user set the QEMU_COMMAND variable. We'll use it to run QEMU. + # + : + elif [ -x `which qemu-system-i386` ]; then + QEMU_COMMAND=qemu-system-i386 + elif [ -x `which qemu-system-x86_64` ]; then + QEMU_COMMAND=qemu-system-x86_64 + elif [ -x `which qemu` ]; then + QEMU_COMMAND=qemu + else + echo Unable to find QEMU for IA32 architecture! + exit 1 + fi ;; X64) Processor=X64 - QEMU_COMMAND=qemu-system-x86_64 + if [ -z "$QEMU_COMMAND" ]; then + # + # The user didn't set the QEMU_COMMAND variable. + # + QEMU_COMMAND=qemu-system-x86_64 + fi ;; *) echo Unsupported processor architecture: $PROCESSOR @@ -156,16 +182,25 @@ if [ -z "$PLATFORMFILE" ]; then PLATFORMFILE=$WORKSPACE/OvmfPkg/OvmfPkg$Processor.dsc fi -ADD_QEMU_HDA=yes -for arg in "$@" -do - case $arg in - -hd[a-d]|-fd[ab]|-cdrom) - ADD_QEMU_HDA=no - break +if [[ "$RUN_QEMU" == "yes" ]]; then + qemu_version=$($QEMU_COMMAND -version 2>&1 | tail -1 | awk '{print $4}') + case $qemu_version in + 1.[6-9].*|1.[1-9][0-9].*|2.*.*) + ENABLE_FLASH=yes ;; esac -done + + ADD_QEMU_HDA=yes + for arg in "$@" + do + case $arg in + -hd[a-d]|-fd[ab]|-cdrom) + ADD_QEMU_HDA=no + break + ;; + esac + done +fi # # Uncomment this block for parameter parsing debug @@ -203,12 +238,15 @@ if [[ "$RUN_QEMU" == "yes" ]]; then mkdir $QEMU_FIRMWARE_DIR fi ln -sf $FV_DIR/OVMF.fd $QEMU_FIRMWARE_DIR/bios.bin - if [[ "$ADD_QEMU_HDA" == "yes" ]]; then - AUTO_QEMU_HDA="-hda fat:$BUILD_ROOT_ARCH" + if [[ "$ENABLE_FLASH" == "yes" ]]; then + QEMU_COMMAND="$QEMU_COMMAND -pflash $QEMU_FIRMWARE_DIR/bios.bin" else - AUTO_QEMU_HDA= + QEMU_COMMAND="$QEMU_COMMAND -L $QEMU_FIRMWARE_DIR" + fi + if [[ "$ADD_QEMU_HDA" == "yes" ]]; then + QEMU_COMMAND="$QEMU_COMMAND -hda fat:$BUILD_ROOT_ARCH" fi - QEMU_COMMAND="$QEMU_COMMAND -L $QEMU_FIRMWARE_DIR $AUTO_QEMU_HDA $*" + QEMU_COMMAND="$QEMU_COMMAND $*" echo Running: $QEMU_COMMAND $QEMU_COMMAND exit $?