diff --git a/.github/workflows/test-install.yml b/.github/workflows/test-install.yml index e68deb9..2ca50ef 100644 --- a/.github/workflows/test-install.yml +++ b/.github/workflows/test-install.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - images: ['fedora:34', 'fedora:37', 'ubuntu:20', 'ubuntu:22', 'centos:9'] + images: ['fedora:34', 'fedora:37', 'fedora:39', 'ubuntu:20', 'ubuntu:22', 'centos:9'] fail-fast: false steps: @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - images: ['fedora:34', 'fedora:37', 'ubuntu:20', 'ubuntu:22', 'centos:9'] + images: ['fedora:39', 'ubuntu:22', 'centos:9'] fail-fast: false steps: diff --git a/autohck.sh b/autohck.sh index abfb358..e3293a3 100644 --- a/autohck.sh +++ b/autohck.sh @@ -116,31 +116,39 @@ get_fw_config() { case "$lsb_dist" in ubuntu) - echo "OVMF_CODE='/usr/share/OVMF/OVMF_CODE_4M.fd'" - echo "OVMF_VARS='/usr/share/OVMF/OVMF_VARS_4M.fd'" + OVMF_CODE='/usr/share/OVMF/OVMF_CODE_4M.fd' - echo "OVMF_CODE_SB='/usr/share/OVMF/OVMF_CODE_4M.ms.fd'" - echo "OVMF_VARS_SB='/usr/share/OVMF/OVMF_VARS_4M.ms.fd'" + OVMF_CODE_SB='/usr/share/OVMF/OVMF_CODE_4M.ms.fd' + OVMF_VARS_SB='/usr/share/OVMF/OVMF_VARS_4M.ms.fd' ;; - centos|rhel) - echo "OVMF_CODE='/usr/share/edk2/ovmf/OVMF_CODE.fd'" - echo "OVMF_VARS='/usr/share/edk2/ovmf/OVMF_VARS.fd'" + centos|rhel|fedora) + OVMF_CODE='/usr/share/edk2/ovmf-4m/OVMF_CODE.fd' + if [ ! -f "${OVMF_CODE}" ]; then OVMF_CODE='/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2'; fi - echo "OVMF_CODE_SB='/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd'" - echo "OVMF_VARS_SB='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'" - ;; - fedora) - echo "OVMF_CODE='/usr/share/edk2/ovmf-4m/OVMF_CODE.fd'" - echo "OVMF_VARS='/usr/share/edk2/ovmf-4m/OVMF_VARS.fd'" + OVMF_CODE_SB='/usr/share/edk2/ovmf-4m/OVMF_CODE.secboot.fd' + if [ ! -f "${OVMF_CODE_SB}" ]; then OVMF_CODE_SB='/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2'; fi + + OVMF_VARS_SB='/usr/share/edk2/ovmf-4m/OVMF_VARS.secboot.fd' + if [ ! -f "${OVMF_VARS_SB}" ]; then OVMF_VARS_SB='/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2'; fi - echo "OVMF_CODE_SB='/usr/share/edk2/ovmf-4m/OVMF_CODE.secboot.fd'" - echo "OVMF_VARS_SB='/usr/share/edk2/ovmf-4m/OVMF_VARS.secboot.fd'" + # RHEL/CentOS and Fedora 34 have different paths + if [ ! -f "${OVMF_CODE}" ]; then OVMF_CODE='/usr/share/edk2/ovmf/OVMF_CODE.fd'; fi + if [ ! -f "${OVMF_CODE_SB}" ]; then OVMF_CODE_SB='/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd'; fi + if [ ! -f "${OVMF_VARS_SB}" ]; then OVMF_VARS_SB='/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd'; fi ;; *) log_fatal "Distributive '$lsb_dist' is unsupported. Please compile QEMU manually." ;; esac + + [ -f "${OVMF_CODE}" ] || log_fatal "OVMF_CODE file '$OVMF_CODE' does not exist. Please configure OVMF manually." + [ -f "${OVMF_CODE_SB}" ] || log_fatal "OVMF_CODE_SB file '$OVMF_CODE_SB' does not exist. Please configure OVMF manually." + [ -f "${OVMF_VARS_SB}" ] || log_fatal "OVMF_VARS file '$OVMF_VARS_SB' does not exist. Please configure OVMF manually." + + echo "OVMF_CODE='${OVMF_CODE}'" + echo "OVMF_CODE_SB='${OVMF_CODE_SB}'" + echo "OVMF_VARS_SB='${OVMF_VARS_SB}'" } post_clone_AUTOHCK() { diff --git a/config.sh b/config.sh index 358ae31..28a082c 100755 --- a/config.sh +++ b/config.sh @@ -14,7 +14,6 @@ jq -n \ --arg playlists_path "${HLK_PLAYLISTS_DIR}" \ --arg filters_path "${HCK_FILTERS_DIR}/UpdateFilters.sql" \ --arg ovmf_code "${OVMF_CODE}" \ - --arg ovmf_vars "${OVMF_VARS}" \ --arg ovmf_code_sb "${OVMF_CODE_SB}" \ --arg ovmf_vars_sb "${OVMF_VARS_SB}" \ --arg qemu_bin "${QEMU_BIN}" \ diff --git a/qemu.sh b/qemu.sh index e535138..4de10ed 100644 --- a/qemu.sh +++ b/qemu.sh @@ -92,7 +92,7 @@ check_qemu() { if [ "${DISABLE_KVM_CHECK}" != "yes" ]; then qemu_args+=( -enable-kvm - -netdev tap,id=net0,vhost=on,script=no -device e1000,netdev=net0 + -netdev tap,id=net0,vhost=on,script=no,downscript=no -device e1000,netdev=net0 ) fi diff --git a/tests/create_run_script.sh b/tests/create_run_script.sh index 23e8cbc..00a711a 100644 --- a/tests/create_run_script.sh +++ b/tests/create_run_script.sh @@ -39,7 +39,7 @@ case "${test_dist}" in ;; *) echo dnf makecache - echo dnf install -y git jq which >> "${test_script}" + echo dnf install -y git jq which procps >> "${test_script}" ;; esac ;; diff --git a/tests/test.sh b/tests/test.sh index 7f5064c..693d459 100644 --- a/tests/test.sh +++ b/tests/test.sh @@ -13,6 +13,7 @@ declare -A test_image_list test_dist_list test_image_list[centos:9]=quay.io/centos/centos:stream9 test_image_list[fedora:34]=fedora:34 test_image_list[fedora:37]=fedora:37 +test_image_list[fedora:39]=fedora:39 test_image_list[ubuntu:20]=ubuntu:20.04 test_image_list[ubuntu:22]=ubuntu:22.04