[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