[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH] doc: Update kraft documentation with new flags and tutorials.
Signed-off-by: Alexander Jung <a.jung@xxxxxxxxxxx> --- doc/guides/kraft.rst | 71 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 63 insertions(+), 8 deletions(-) diff --git a/doc/guides/kraft.rst b/doc/guides/kraft.rst index b6c2696..6087e7c 100644 --- a/doc/guides/kraft.rst +++ b/doc/guides/kraft.rst @@ -176,6 +176,7 @@ Quick Unikraft project creation -P, --paused Run the application in paused state. -g, --gdb INTEGER Run a GDB server for the guest on specified port. + -d, --dbg Use unstriped unikernel. -n, --virtio-nic TEXT Attach a NAT-ed virtio-NIC to the guest. -b, --bridge TEXT Attach a NAT-ed virtio-NIC an existing bridge. @@ -228,6 +229,7 @@ Configuring a Unikraft application Options: -p, --plat [linuxu|kvm|xen] Target platform. -m, --arch [x86_64|arm|arm64] Target architecture. + -F, --force Force writing new configuration. -k, --menuconfig Use Unikraft's ncurses Kconfig editor. -h, --help Show this message and exit. @@ -263,6 +265,7 @@ Running a Unikraft application -X, --background Run in background. -P, --paused Run the application in paused state. -g, --gdb INTEGER Run a GDB server for the guest at PORT. + -d, --dbg Use unstriped unikernel. -n, --virtio-nic TEXT Attach a NAT-ed virtio-NIC to the guest. -b, --bridge TEXT Attach a NAT-ed virtio-NIC an existing bridge. @@ -272,13 +275,6 @@ Running a Unikraft application -M, --memory INTEGER Assign MB memory to the guest. -s, --cpu-sockets INTEGER Number of guest CPU sockets. -c, --cpu-cores INTEGER Number of guest cores per socket. - --with-dnsmasq Start a Dnsmasq server. - --ip-range TEXT Set the IP range for Dnsmasq. [default: - 172.88.0.1,172.88.0.254] - --ip-netmask TEXT Set the netmask for Dnsmasq. [default: - 255.255.0.0] - --ip-lease-time TEXT Set the IP lease time for Dnsmasq. [default: - 12h] -h, --help Show this message and exit. .. _advanced_usage: @@ -312,4 +308,63 @@ core source code and all library pools. This is set using the following: | ``UK_APPS`` | ``$UK_WORKDIR/apps`` | Applications and templates. | +------------------------+--------------------------+-------------------------------------------+ | ``KRAFTCONF`` | ``~/.kraftrc`` | The location of kraft's preferences file. | -+------------------------+--------------------------+-------------------------------------------+ \ No newline at end of file ++------------------------+--------------------------+-------------------------------------------+ + +Workflow when working on Unikraft internals +------------------------------------------- + +During phases of development which require modifying the Unikraft core source +code or an auxiliary library for the target application, ``kraft``'s runtime +can be altered to facilitate varying developer requirements. + +In the following example, both the Unikraft core source code and an additional +library, ``mylib``, have are utilized for an application. However, their +source has been modified and point to external locations. This is useful if you +are doing local development or wish to work with private repositories: + +:: + + specification: '0.4' + + unikraft: file:///home/developer/repos/unikraft/unikraft@3a8150d + + libraries: + mylib: + version: devel/new-feature + source: git://git.example.com/lib-mylib + + +The ``kraft`` tool works with these remote and local Git repositories in order +to handle version control. However, wen using the ``kraft`` tool itself in +during the ``configure`` and ``build`` steps, it is handy to stop it it from +automatically running ``git checkout`` on these repositories. This is +particularly useful when the source tree of the Unikraft core or any other +library has a dirty working tree. + +To ignore warnings and proceed with a command, use the global flag ``-C``: + +:: + + kraft -Cv configure + +To prevent ``kraft`` from checking out repositories entirely, use the global +flag ``-X``: + +:: + + kraft -Xv build + +Debugging Unikraft applications +------------------------------- + +Running and debugging unikernels can be accomplished largely with the use of +`gdb <https://www.gnu.org/software/gdb/>`_. Unikraft will build an un-stripped +binary with debugging features enabled. This can be toggled with the +``-d|--dbg`` flag on ``kraft run``. To start gdb itself, include the +``-g|--gdb PORT`` flag during the same run stage. Additionally, it is often +useful to start the guest in a paused stage, accomplished with the +``-P|--paused`` flag: + +:: + + kraft run -p kvm --gdb 4123 --dbg \ No newline at end of file -- 2.24.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |