diff --git a/edk2-build.fedora b/edk2-build.fedora index b88e9c2..5f14f9b 100644 --- a/edk2-build.fedora +++ b/edk2-build.fedora @@ -108,6 +108,16 @@ plat = MicrovmX64 dest = Fedora/ovmf cpy1 = FV/MICROVM.fd +[build.ovmf.xen] +desc = ovmf build for Xen +conf = OvmfPkg/OvmfXen.dsc +arch = X64 +opts = ovmf.common + ovmf.2m +plat = OvmfXen +dest = Fedora/xen +cpy1 = FV/OVMF.fd + [build.ovmf.amdsev] desc = ovmf build for AmdSev (2MB) conf = OvmfPkg/AmdSev/AmdSevX64.dsc diff --git a/edk2-build.fedora.platforms b/edk2-build.fedora.platforms index 28477a9..914aad8 100644 --- a/edk2-build.fedora.platforms +++ b/edk2-build.fedora.platforms @@ -1,5 +1,9 @@ + +##################################################################### +# ext4 driver + [build.ext4.x64] -desc = ext4 driver for x64 +desc = ext4 driver conf = Features/Ext4Pkg/Ext4Pkg.dsc arch = X64 plat = Ext4Pkg @@ -7,9 +11,18 @@ dest = Fedora/drivers cpy1 = X64/Ext4Dxe.efi ext4x64.efi [build.ext4.aa64] -desc = ext4 driver for aarch64 +desc = ext4 driver conf = Features/Ext4Pkg/Ext4Pkg.dsc arch = AARCH64 plat = Ext4Pkg dest = Fedora/drivers cpy1 = AARCH64/Ext4Dxe.efi ext4aa64.efi + + +##################################################################### +# loongarch builds + +[build.loongarch] +desc = Loongarch build +conf = Platform/Loongson/LoongArchQemuPkg/Loongson.dsc +arch = LOONGARCH64 diff --git a/edk2-build.py b/edk2-build.py index 82b8aa2..d3471e5 100755 --- a/edk2-build.py +++ b/edk2-build.py @@ -250,6 +250,7 @@ def prepare_env(cfg): os.environ['EDK_TOOLS_PATH'] = coredir + '/BaseTools' os.environ['CONF_PATH'] = coredir + '/Conf' os.environ['PYTHON_COMMAND'] = '/usr/bin/python3' + os.environ['PYTHONHASHSEED'] = '1' # for cross builds if binary_exists('arm-linux-gnu-gcc'): @@ -258,9 +259,12 @@ def prepare_env(cfg): os.environ['GCC5_AARCH64_PREFIX'] = 'aarch64-linux-gnu-' if binary_exists('riscv64-linux-gnu-gcc'): os.environ['GCC5_RISCV64_PREFIX'] = 'riscv64-linux-gnu-' + if binary_exists('loongarch64-linux-gnu-gcc'): + os.environ['GCC5_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-' if binary_exists('x86_64-linux-gnu-gcc'): os.environ['GCC5_IA32_PREFIX'] = 'x86_64-linux-gnu-' os.environ['GCC5_X64_PREFIX'] = 'x86_64-linux-gnu-' + os.environ['GCC5_BIN'] = 'x86_64-linux-gnu-' def build_list(cfg): for build in cfg.sections(): @@ -276,8 +280,10 @@ def main(): parser = optparse.OptionParser() parser.add_option('-c', '--config', dest = 'configfile', type = 'string', default = '.edk2.builds') + parser.add_option('-C', '--directory', dest = 'directory', type = 'string') parser.add_option('-j', '--jobs', dest = 'jobs', type = 'string') parser.add_option('-m', '--match', dest = 'match', type = 'string') + parser.add_option('-x', '--exclude', dest = 'exclude', type = 'string') parser.add_option('-l', '--list', dest = 'list', action = 'store_true', default = False) parser.add_option('--silent', dest = 'silent', action = 'store_true', default = False) parser.add_option('--core', dest = 'core', type = 'string') @@ -286,6 +292,9 @@ def main(): parser.add_option('--release-date', dest = 'release_date', type = 'string') (options, args) = parser.parse_args() + if options.directory: + os.chdir(options.directory) + cfg = configparser.ConfigParser() cfg.optionxform = str cfg.read(options.configfile) @@ -317,6 +326,9 @@ def main(): if options.match and options.match not in build: print(f'# skipping "{build}" (not matching "{options.match}")') continue + if options.exclude and options.exclude in build: + print(f'# skipping "{build}" (matching "{options.exclude}")') + continue build_one(cfg, build, options.jobs, options.silent) if __name__ == '__main__': diff --git a/edk2-build.rhel-9 b/edk2-build.rhel-9 index 57f4b1b..e79ab52 100644 --- a/edk2-build.rhel-9 +++ b/edk2-build.rhel-9 @@ -47,7 +47,8 @@ cpy3 = X64/Shell.efi desc = ovmf build (32/64-bit, 4MB, q35 only, needs smm, secure boot) conf = OvmfPkg/OvmfPkgIa32X64.dsc arch = IA32 X64 -opts = ovmf.common ovmf.4m +opts = ovmf.common + ovmf.4m ovmf.sb.smm plat = Ovmf3264 dest = RHEL-9/ovmf