[pbs-devel] applied: [PATCH proxmox-restore-vm-data 03/22] initial commit

Stefan Reiter s.reiter at proxmox.com
Tue Mar 16 16:33:44 CET 2021


On 15/03/2021 19:35, Thomas Lamprecht wrote:
> On 16.02.21 18:06, Stefan Reiter wrote:
>> proxmox-restore-vm-data provides means to build a debian package
>> containing a minimalistic Linux kernel and a corresponding initramfs
>> image for use in a file-restore VM.
>>
>> Launched with QEMU/KVM, it boots in 1.6 seconds to userspace (on AMD
>> 2700X) and has a minimal attack surface (no network stack other than
>> virtio-vsock, no auxiliary device support (USB, etc...), userspace
>> written in Rust) as opposed to mounting backup archives directly on the
>> host.
>>
>> Since our Rust binaries are currently not fully statically linked, we
>> need to include some libraries into the initramfs as well. This is done
>> in 'build_initramfs.sh'.
>>
>> A minimal /init is included as a Rust binary (init-shim-rs), doing only
>> the bare-minimum userspace setup before handing over control to the
>> file-restore daemon (see 'proxmox-backup' repository).
>>
>> The debian package comes with a 'activate-noawait
>> pbs-file-restore-initramfs' trigger activation to rebuild the cached
>> initramfs when the base image shipped here updates. This is taken care
>> of by proxmox-file-restore.
>>
>> Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
>> ---
>>
>> Brand new git repo! I called it proxmox-restore-vm-data for lack of any smarter
>> ideas, open for better names :)
>>
>> I also decided to include the 5.10 kernel and ZFS 2.0.3 from current pve-kernel
>> repository pretty last-minute, it seems to work fine though (ZFS isn't used atm
>> anyway).
>>
>>
> 
> applied, thanks!
> 
> Did two big changes though:
> * renamed to "proxmox-backup-restore-image"
> * split build system into packaging and actual build
> 
> As there was quite some stuff changed, which I did in a few ~10 minutes sessions with days/weeks
> in-between: please re-check
> https://git.proxmox.com/?p=proxmox-backup-restore-image.git;a=summary
> 

LGTM in general, though "make test-run" was broken (and debian/ copied 
twice), little followup below.

Also updates the kernel to 5.11 like in pve-kernel - quickly tested my 
current v2 with that and it worked fine, better than having the 
intermediary 5.10 in there.

------------------------ >8 ------------------------

 From dd910d15e035f62335a5eb943753ade5dddce1a8 Mon Sep 17 00:00:00 2001
From: Stefan Reiter <s.reiter at proxmox.com>
Date: Tue, 16 Mar 2021 16:26:00 +0100
Subject: [PATCH] fixup "test-run" target and update kernel to 5.11.0

Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
---
  src/Makefile                  | 6 +++---
  src/submodules/ubuntu-hirsute | 2 +-
  2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/Makefile b/src/Makefile
index dcfac03..37f385f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -19,7 +19,7 @@ all: ${KERNEL_IMG} ${INITRAMFS_IMG}
  ${BUILDDIR}.prepared: ${CONFIG}
  	rm -rf ${BUILDDIR}
  	mkdir -p ${BUILDDIR}
-	cp -a submodules debian patches ${BUILDDIR}/
+	cp -a submodules patches ${BUILDDIR}/
  	cp ${CONFIG} ${BUILDDIR}/${KERNEL_SUBMODULE}
  	cd ${BUILDDIR}/${KERNEL_SUBMODULE}; \
  	   for p in ../../patches/kernel/*.patch; do \
@@ -60,8 +60,8 @@ test-run: ${KERNEL_IMG} ${INITRAMFS_IMG}
  	# included in the initramfs, but it can be used to test the
  	# kernel/init-shim-rs builds
  	qemu-system-x86_64 -serial stdio -vnc none -enable-kvm \
-	   -kernel ${BUILDDIR}/${KERNEL_IMG} \
-	   -initrd build/initramfs/initramfs.img
+	   -kernel ${KERNEL_IMG} \
+	   -initrd ${INITRAMFS_IMG}

  .PHONY: clean
  clean:
diff --git a/src/submodules/ubuntu-hirsute b/src/submodules/ubuntu-hirsute
index 01f2ad6..f488090 160000
--- a/src/submodules/ubuntu-hirsute
+++ b/src/submodules/ubuntu-hirsute
@@ -1 +1 @@
-Subproject commit 01f2ad60c19fc07666c3cad5e6f527bc46af6303
+Subproject commit f48809012350997899c3ce1afc47eb77f116fcf4
-- 
2.20.1





More information about the pbs-devel mailing list