xbstrap
-Workflow
After modifying the source code, xbstrap
is usually used to recompile Managarm's packages
and to run the resulting image in a virtual machine (such as qemu
).
This section gives a quick overview of useful xbstrap
subcommands
that are utilized to develop Managarm.
Rebuilding packages
Changes to Managarm almost always involve the packages managarm-kernel
,
managarm-system
(which contains drivers and servers),
mlibc
(our C library), or mlibc-headers
(which must be rebuilt after
changing public mlibc headers).
xbstrap
can be used to rebuild these packages
using
xbstrap install --rebuild managarm-system
(and similarly for packages other than managarm-system
).
After rebuilding a package, the make-image
step needs to be invoked again
to update the disk image
(see the section on building Managarm of this handbook):
xbstrap run make-image
# Or `xbstrap run make-image qemu` to also run the image in qemu.
Sometimes, it can become necessary to re-run the configure
scripts
of ports (or Meson/CMake). This is usually the case if build scripts
and/or configuration files have changed in ways that the build
system does not anticipate. Invoking the configure
step again
is done via:
xbstrap install --reconfigure managarm-system