[pbs-devel] applied: [PATCH proxmox-restore-vm-data 03/22] initial commit
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Mar 15 19:35:53 CET 2021
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).
>
>
> .gitignore | 9 ++
> .gitmodules | 6 +
> Makefile | 103 +++++++++++++
> build_initramfs.sh | 42 +++++
> config-base | 144 ++++++++++++++++++
> debian/changelog | 6 +
> debian/compat | 1 +
> debian/control | 34 +++++
> debian/copyright | 22 +++
> debian/install | 2 +
> debian/rules | 13 ++
> debian/triggers | 1 +
> init-shim-rs/Cargo.lock | 51 +++++++
> init-shim-rs/Cargo.toml | 9 ++
> init-shim-rs/src/main.rs | 122 +++++++++++++++
> ...-OVERRIDE-do-not-build-xr-usb-serial.patch | 30 ++++
> ...2-FIXUP-syntax-error-in-Ubuntu-Sauce.patch | 26 ++++
> submodules/ubuntu-hirsute | 1 +
> submodules/zfsonlinux | 1 +
> 19 files changed, 623 insertions(+)
> create mode 100644 .gitignore
> create mode 100644 .gitmodules
> create mode 100644 Makefile
> create mode 100755 build_initramfs.sh
> create mode 100644 config-base
> create mode 100644 debian/changelog
> create mode 100644 debian/compat
> create mode 100644 debian/control
> create mode 100644 debian/copyright
> create mode 100644 debian/install
> create mode 100755 debian/rules
> create mode 100644 debian/triggers
> create mode 100644 init-shim-rs/Cargo.lock
> create mode 100644 init-shim-rs/Cargo.toml
> create mode 100644 init-shim-rs/src/main.rs
> create mode 100644 patches/kernel/0001-OVERRIDE-do-not-build-xr-usb-serial.patch
> create mode 100644 patches/kernel/0002-FIXUP-syntax-error-in-Ubuntu-Sauce.patch
> create mode 160000 submodules/ubuntu-hirsute
> create mode 160000 submodules/zfsonlinux
>
>
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
More information about the pbs-devel
mailing list