Week 2: Project Setup Details and vLAPIC

QEMU configuration script $ cd qemu/build $ ../configure \ --target-list=x86_64-softmmu \ --enable-debug \ --disable-werror \ --extra-cflags="\ -I$HOME/freebsd-src/lib/libvmmapi \ -I/usr/obj/home/chabi/freebsd-src/amd64.amd64/sys/modules/vmm" $ gmake -j4 Run with following arguments: r -accel bhyve -smp 1 -m 2G -drive file=/home/chabi/Virt/vm0.img,format=raw -nographic or r -accel bhyve -machine q35 -smp 1 -m 2G -drive file=/home/chabi/Virt/vm0.img,format=raw -nographic -drive if=pflash,format=raw,readonly=on,file=/usr/local/share/edk2-qemu/QEMU_UEFI_CODE-x86_64.fd -drive if=pflash,format=raw,file=/home/chabi/Virt/QEMU_UEFI_VARS-x86_64.fd or r -accel bhyve -machine q35 -smp 1 -m 2G -drive file=/home/chabi/Virt/vm0.img,format=raw -nographic -drive if=pflash,format=raw,readonly=on,file=/usr/local/share/edk2-bhyve/BHYVE_UEFI.fd -drive if=pflash,format=raw,file=/home/chabi/Virt/BHYVE_UEFI_VARS.fd libvmmapi $ export MAKEOBJDIRPREFIX=/usr/obj $ cd $HOME/freebsd-src/lib/libvmmapi/ $ make \ MAKEOBJDIRPREFIX=/usr/obj \ SYSDIR=/home/chabi/freebsd-src/sys \ KERNCONF=GENERIC \ MACHINE=amd64 \ DEBUG=-g CFLAGS=" -I/usr/obj/home/chabi/freebsd-src/amd64.
Read more →

Virtualization Basics

Virtualization allows for the multiplexing of different operating systems on the same hardware. This allows for better utilization of system resources and greater flexibility, enabling common processes such as cloud computing. Virtual Machine Monitors (VMM) A VMM, or a hypervisor, is at the heart of system virtualization. A VMM allows multiple virtual machines to run on a physical machine, much like an operating system allows multiple processes to run on a CPU.
Read more →

Git Fundamentals

Simple cheatsheet for me to get started tracking freebsd and making changes to the codebase. Requirements: git, git arc Tracking the Source Tree Copy local repository git clone git@github.com:dumrich/freebsd-src.git Set Upstream Upstream is the original codebase, usually set as a remote repository git remote add upstream https://git.freebsd.org/src.git Show recent commits Show a list of recent commits with some other information git log Checkout a branch You want to work on a feature locally.
Read more →