From e524a0b3842c3ad7315fcd34ce685e8683da6a33 Mon Sep 17 00:00:00 2001 From: Stefan Catargiu <13122921+5kt@users.noreply.github.com> Date: Thu, 11 Dec 2025 15:04:16 +0000 Subject: [PATCH 1/3] Preload debug container --- .../etc/systemd/system/dbgimport.service | 12 ++++++++++++ features/_usi/initrd.include/usr/bin/persist | 14 ++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 features/_usi/file.include/etc/systemd/system/dbgimport.service diff --git a/features/_usi/file.include/etc/systemd/system/dbgimport.service b/features/_usi/file.include/etc/systemd/system/dbgimport.service new file mode 100644 index 00000000..cdf06b46 --- /dev/null +++ b/features/_usi/file.include/etc/systemd/system/dbgimport.service @@ -0,0 +1,12 @@ +[Unit] +Description=Import debug container image +ConditionPathExists=|/opt/dbgimage/debug.tar +ConditionFirstBoot=yes +After=containerd.service + +[Service] +ExecStart=/bin/sh -c 'ctr image import --base-name "$(cat /opt/dbgimage/debug.tar.name)" /opt/dbgimage/debug.tar && rm -f /opt/dbgimage/debug.tar && rm -f /opt/dbgimage/debug.tar.name && rm -f /opt/dbgimage/image' +Type=oneshot + +[Install] +WantedBy=multi-user.target diff --git a/features/_usi/initrd.include/usr/bin/persist b/features/_usi/initrd.include/usr/bin/persist index ad950446..cc6a84b1 100755 --- a/features/_usi/initrd.include/usr/bin/persist +++ b/features/_usi/initrd.include/usr/bin/persist @@ -94,6 +94,20 @@ if [ "$ENABLE_HUGEPAGE_SETUP" = "true" ]; then objcopy --add-section .cmdline=/tmp/cmdlinef --change-section-vma .cmdline=$(printf 0x%x $offs) $addon "$addon_dir/hugepages.addon.efi" fi +# debug container +DBG_CONTAINER_IMPORT="/sysroot/opt/dbgimage" +DBG_CONTAINER_IMAGE_DUMP="debug.tar" +DBG_CONTAINER_FILE="/sysroot/opt/dbgimage/image" + +mkdir -p "$DBG_CONTAINER_IMPORT" +if [ -f "$DBG_CONTAINER_FILE" ]; then + oras backup --output "$DBG_CONTAINER_IMPORT/$DBG_CONTAINER_IMAGE_DUMP" "$(cat "$DBG_CONTAINER_FILE")" + cat "$DBG_CONTAINER_FILE" | cut -d: -f 1 > "$DBG_CONTAINER_IMPORT/$DBG_CONTAINER_IMAGE_DUMP.name" +else + echo "no container image file providing, skipping..." +fi + + # Network config generation if [[ -x /sysroot/opt/persist/network_up.sh ]]; then chroot /sysroot /opt/persist/network_up.sh From 57892517a053e4ab0dbf8ae4f6e9835210b0742c Mon Sep 17 00:00:00 2001 From: Tobias Jungel Date: Fri, 12 Dec 2025 14:41:03 +0100 Subject: [PATCH 2/3] Update features/_usi/initrd.include/usr/bin/persist Co-authored-by: Fabian Koller <10155170+anokfireball@users.noreply.github.com> --- features/_usi/initrd.include/usr/bin/persist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/_usi/initrd.include/usr/bin/persist b/features/_usi/initrd.include/usr/bin/persist index cc6a84b1..1f00186c 100755 --- a/features/_usi/initrd.include/usr/bin/persist +++ b/features/_usi/initrd.include/usr/bin/persist @@ -104,7 +104,7 @@ if [ -f "$DBG_CONTAINER_FILE" ]; then oras backup --output "$DBG_CONTAINER_IMPORT/$DBG_CONTAINER_IMAGE_DUMP" "$(cat "$DBG_CONTAINER_FILE")" cat "$DBG_CONTAINER_FILE" | cut -d: -f 1 > "$DBG_CONTAINER_IMPORT/$DBG_CONTAINER_IMAGE_DUMP.name" else - echo "no container image file providing, skipping..." + echo "no container image file provided, skipping..." fi From 033e5949ae777796c059f1e89f12de02a4732b88 Mon Sep 17 00:00:00 2001 From: Tobias Jungel Date: Fri, 12 Dec 2025 14:41:47 +0100 Subject: [PATCH 3/3] Update features/_usi/file.include/etc/systemd/system/dbgimport.service Co-authored-by: Fabian Koller <10155170+anokfireball@users.noreply.github.com> --- features/_usi/file.include/etc/systemd/system/dbgimport.service | 1 + 1 file changed, 1 insertion(+) diff --git a/features/_usi/file.include/etc/systemd/system/dbgimport.service b/features/_usi/file.include/etc/systemd/system/dbgimport.service index cdf06b46..2b84b937 100644 --- a/features/_usi/file.include/etc/systemd/system/dbgimport.service +++ b/features/_usi/file.include/etc/systemd/system/dbgimport.service @@ -3,6 +3,7 @@ Description=Import debug container image ConditionPathExists=|/opt/dbgimage/debug.tar ConditionFirstBoot=yes After=containerd.service +Requires=containerd.service [Service] ExecStart=/bin/sh -c 'ctr image import --base-name "$(cat /opt/dbgimage/debug.tar.name)" /opt/dbgimage/debug.tar && rm -f /opt/dbgimage/debug.tar && rm -f /opt/dbgimage/debug.tar.name && rm -f /opt/dbgimage/image'