~vdupras/duskbsd-qemu

A workbench for DuskBSD
Update subrepos, add ATA debug, tweak makefile
Update duskos and duskbsd repos
Update subrepos

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~vdupras/duskbsd-qemu
read/write
git@git.sr.ht:~vdupras/duskbsd-qemu

You can also use your local clone with git send-email.

#DuskBSD workbench

This repo is a convenient way to work on the DuskBSD kernel with the help of QEMU. It builds the kernel using build.sh (so, it's not necessary to be on a NetBSD system).

Once the kernel is built, instead of running it through the whole bootloading mechanism (which is quite complicated and makes the kernel less observable and hackable), it uses QEMU's "loader" device to load the kernel directly in memory.

For this to work, we have a "stub" bootloader in mbr.asm which does the absolute bare minimum DuskBSD needs to run in QEMU.

On top of that, we build a FAT in which we place our "kexec" payload, which will be picked up by the kernel and executed.

That "kexec" file is Dusk OS's "kexec" kernel, which is automatically built by including Dusk OS as a git submodule.

#Requirements

  • POSIX system with CC and Make
  • git
  • mtools
  • qemu-system-i386
  • nasm

#Usage

make run should do the whole thing and launch QEMU with the kernel running.