From: Daan De Meyer Date: Tue, 17 Oct 2023 14:03:42 +0000 (+0200) Subject: mkosi: Use RuntimeTrees= to mount sources X-Git-Tag: v255-rc1~182^2~12 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ee7304df5d23aa43beac28d1ac60bd53f37f3854;p=thirdparty%2Fsystemd.git mkosi: Use RuntimeTrees= to mount sources Instead of using ExtraTrees=, let's use the new RuntimeTrees= option to mount the full repository into the VM/container. Let's also store the sources under /usr/src/systemd and update the gdbinit file and vscode HACKING guide section to match the new location. --- diff --git a/docs/HACKING.md b/docs/HACKING.md index fb7caac93cc..0178a43dba0 100644 --- a/docs/HACKING.md +++ b/docs/HACKING.md @@ -234,16 +234,17 @@ QEMU. To allow VSCode's debugger to attach to systemd running in a mkosi image, we have to make sure it can access the virtual machine spawned by mkosi where systemd is running. mkosi makes this possible via a handy SSH option that makes the generated image accessible via SSH when booted. Thus you must build the image with -`mkosi --ssh`. The easiest way to set the option is to create a file 20-local.conf in mkosi.conf.d/ (in the -directory you ran mkosi in) and add the following contents: +`mkosi --ssh`. The easiest way to set the option is to create a file `mkosi.conf` in the root of the +repository and add the following contents: ``` [Host] Ssh=yes +RuntimeTrees=. ``` Also make sure that the SSH agent is running on your system and that you've added your SSH key to it with -`ssh-add`. +`ssh-add`. Also make sure that `virtiofsd` is installed. After rebuilding the image and booting it with `mkosi qemu`, you should now be able to connect to it by running `mkosi ssh` from the same directory in another terminal window. @@ -284,14 +285,10 @@ the directory, and add the following contents: }, "MIMode": "gdb", "sourceFileMap": { - "/work/build/../src": { + "/root/src/systemd": { "editorPath": "${workspaceFolder}", "useForBreakpoints": false }, - "/work/build/*": { - "editorPath": "${workspaceFolder}/mkosi.builddir", - "useForBreakpoints": false - } } } ] diff --git a/mkosi.presets/system/mkosi.conf b/mkosi.presets/system/mkosi.conf index 361bb6af724..08f6fb7dc76 100644 --- a/mkosi.presets/system/mkosi.conf +++ b/mkosi.presets/system/mkosi.conf @@ -7,7 +7,6 @@ Dependencies=base Autologin=yes BaseTrees=../../mkosi.output/base ExtraTrees=../../mkosi.output/base-systemd -ExtraTrees=../../src:/usr/src/src Packages= acl bash-completion diff --git a/mkosi.presets/system/mkosi.extra/usr/share/factory/mkosi/gdbinit.d/systemd.gdb b/mkosi.presets/system/mkosi.extra/usr/share/factory/mkosi/gdbinit.d/systemd.gdb index 598344809c1..26f882bc2bb 100644 --- a/mkosi.presets/system/mkosi.extra/usr/share/factory/mkosi/gdbinit.d/systemd.gdb +++ b/mkosi.presets/system/mkosi.extra/usr/share/factory/mkosi/gdbinit.d/systemd.gdb @@ -1,3 +1,3 @@ set debuginfod enabled off set build-id-verbose 0 -set substitute-path ../src /usr/src +set substitute-path ../src /root/src/systemd