Skip to content

Latest commit

 

History

History
executable file
·
135 lines (107 loc) · 3.25 KB

README.asciidoc

File metadata and controls

executable file
·
135 lines (107 loc) · 3.25 KB

QEMU on MacOS

Usage

1. Update Variables in Script

Change vars at the top of:

bin/vm-templates.sh

Notably:

$IMGS_DIR
$DISK_DIR

2. Download ubuntu cloud image

Donwload the Ubuntu cloud images to the directory you set $IMGS_DIR to above.

cd $IMGS_DIR
curl -sSLO https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
curl -sSLO https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-arm64.img

3. Run VM

./run.sh

4. Bootstrap VM

curl -sSL https://gist.github.com/kriipke/f70919d5a4a1096011f4e7f2fa7dbe05 | sudo bash -eux -

Miscellaneous EDK2 Notes

THE FOLLOWING ARE SOME USEFUL EXCEPRTS FROM edk2-build.config

## # x86_64

desc = ovmf build (64-bit) conf = OvmfPkg/OvmfPkgX64.dsc arch = X64 opts = common pcds = workaround.202308 plat = OvmfX64 dest = ../pc-bios cpy1 = FV/OVMF_CODE.fd edk2-x86_64-code.fd

desc = ovmf build (64-bit, secure boot) conf = OvmfPkg/OvmfPkgIa32X64.dsc arch = IA32 X64 opts = common ovmf.sb.smm pcds = workaround.202308 plat = Ovmf3264 dest = ../pc-bios cpy1 = FV/OVMF_CODE.fd edk2-x86_64-secure-code.fd

desc = ovmf build for microvm conf = OvmfPkg/Microvm/MicrovmX64.dsc arch = X64 opts = common pcds = workaround.202308 plat = MicrovmX64 dest = ../pc-bios cpy1 = FV/MICROVM.fd edk2-x86_64-microvm.fd

## # arm

desc = ArmVirt build, 32-bit (arm v7) conf = ArmVirtPkg/ArmVirtQemu.dsc arch = ARM opts = common armvirt.silent pcds = nx.broken.shim.grub plat = ArmVirtQemu-ARM dest = ../pc-bios cpy1 = FV/QEMU_EFI.fd edk2-arm-code.fd cpy2 = FV/QEMU_VARS.fd edk2-arm-vars.fd pad1 = edk2-arm-code.fd 64m pad2 = edk2-arm-vars.fd 64m

## # aarch64

desc = ArmVirt build, 64-bit (arm v8) conf = ArmVirtPkg/ArmVirtQemu.dsc arch = AARCH64 opts = common armvirt.silent pcds = nx.broken.shim.grub plat = ArmVirtQemu-AARCH64 dest = ../pc-bios cpy1 = FV/QEMU_EFI.fd edk2-aarch64-code.fd pad1 = edk2-aarch64-code.fd 64m

## # arm

desc = ArmVirt build, 32-bit (arm v7) conf = ArmVirtPkg/ArmVirtQemu.dsc arch = ARM opts = common armvirt.silent pcds = nx.broken.shim.grub plat = ArmVirtQemu-ARM dest = ../pc-bios cpy1 = FV/QEMU_EFI.fd edk2-arm-code.fd cpy2 = FV/QEMU_VARS.fd edk2-arm-vars.fd pad1 = edk2-arm-code.fd 64m pad2 = edk2-arm-vars.fd 64m

## # aarch64

desc = ArmVirt build, 64-bit (arm v8) conf = ArmVirtPkg/ArmVirtQemu.dsc arch = AARCH64 opts = common armvirt.silent pcds = nx.broken.shim.grub plat = ArmVirtQemu-AARCH64 dest = ../pc-bios cpy1 = FV/QEMU_EFI.fd edk2-aarch64-code.fd pad1 = edk2-aarch64-code.fd 64m ##