Less critically, but the gvisor-proc-umounter and runsc-fd-parking are also
useful (and needed for the runsc-bwrap subcommands).

Attached a patch that includes those, if you want it.
From 78470fb4879f9ea023d770cf492dbbf9a0ca24c7 Mon Sep 17 00:00:00 2001
From: Harlan Lieberman-Berg <[email protected]>
Date: Wed, 4 Nov 2026 01:41:49 -0500
Subject: [PATCH] Build and ship gvisor-sentry-prewarmer binary

---
 debian/rules | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index 90c92a3..de7b655 100755
--- a/debian/rules
+++ b/debian/rules
@@ -25,6 +25,8 @@ GO_PKG     = gvisor.dev/gvisor
 GO_LDFLAGS = -X $(GO_PKG)/runsc/version.version=$(DEB_VERSION_UPSTREAM)
 VDSO_DIR   = _build/src/$(GO_PKG)/pkg/sentry/loader/vdsodata
 VDSO_SO    = $(VDSO_DIR)/vdso_$(DEB_HOST_ARCH).so
+PREWRM_DIR = _build/src/$(GO_PKG)/runsc/prewarmer
+PREWRM_BIN = _build/src/$(GO_PKG)/runsc/prewarmer/gvisor-sentry-prewarmer 
 SYSMSG_DIR = _build/src/$(GO_PKG)/pkg/sentry/platform/systrap/sysmsg
 BPF_OBJ    = \
 	_build/src/$(GO_PKG)/runsc/sandbox/bpf/af_xdp_ebpf.o \
@@ -60,13 +62,32 @@ $(VDSO_SO): vdso/*.cc vdso/*.h vdso/*.lds vdso/*.py
 		vdso/vdso.cc vdso/vdso_time.cc
 	python3 ./vdso/check_vdso.py --check-data --vdso=$@
 
+
+$(PREWRM_BIN): $(PREWRM_DIR)/prewarmer.c
+	$(CC) $(CC_FLAGS) \
+	-Os \
+	-ffreestanding \
+	-fno-sanitize=all \
+	-fno-stack-protector \
+	-nostdlib \
+	-fno-asynchronous-unwind-tables \
+	-fno-unwind-tables \
+	-static \
+	-nostartfiles \
+	-no-pie \
+	-Wl,--build-id=none \
+	-Wl,--gc-sections \
+	-Wl,-s \
+	-Wl,-n \
+	-o $@ $<
+
 %_ebpf.o: %.ebpf.c
 	# sync with tools/bazeldefs/defs.bzl bpf_program
 	clang -O2 -Wall -Werror -target bpf -c $< -o $@ -I/usr/include/$(DEB_HOST_GNU_TYPE)
 
 override_dh_auto_configure:
 	dh_auto_configure
-	$(MAKE) -f $(CURDIR)/debian/rules $(VDSO_SO) $(BPF_OBJ)
+	$(MAKE) -f $(CURDIR)/debian/rules $(VDSO_SO) $(BPF_OBJ) $(PREWRM_BIN)
 	$(MAKE) -C $(SYSMSG_DIR) -f $(CURDIR)/debian/sysmsg.makefile ARCH=$(DEB_HOST_ARCH) all clean
 	$(RM) $(addprefix $(SYSMSG_DIR)/,*.c *.S *.sh)
 
@@ -108,3 +129,11 @@ execute_after_dh_auto_install:
 		mkdir -p debian/tmp/usr/lib/runsc/gvisor-bin; \
 		mv debian/tmp/usr/bin/metricserver debian/tmp/usr/lib/runsc/gvisor-bin/runsc-metric-server; \
 	fi
+	if [ -f $(PREWRM_DIR)/gvisor-sentry-prewarmer ]; then \
+		mkdir -p debian/tmp/usr/lib/runsc/gvisor-bin; \
+		mv $(PREWRM_DIR)/gvisor-sentry-prewarmer debian/tmp/usr/lib/runsc/gvisor-bin/gvisor-sentry-prewarmer; \
+	fi
+
+override_dh_auto_install:
+	dh_auto_install
+	dh_missing --list-missing
-- 
2.53.0

Reply via email to