The provided Makefile: 1) builds a kernel 2) copies it into rootfs/boot/kernel/kernel 3) creates an ISO CD image with the rootfs/ contents To boot the system in QEMU, run: qemu-system-x86_64 -curses -cdrom $USER.iso -drive id=disk,file=$USER.img,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0 -net nic -net user,hostfwd=tcp::10080-:80 -net user,hostfwd=tcp::10023-:23 -gdb tcp::NNNN Explanation of parameters: -curses use a text console (omit this to use default SDL/VNC console) -cdrom x.iso connect a CD-ROM and insert CD with x.iso disk -hda x.img connect a hard drive with x.img disk -gdb tcp::NNNN listen for "remote" debugging connections on port NNNN When using the -curses mode, switch to the qemu> console with ESC-2. To connect a remote debugger to the running qemu VM: gdb ./kernel target remote localhost:1234