Commit Graph

73 Commits

Author SHA1 Message Date
Stefan Reiter
a859827570 debian: update control for bullseye
python 2 is not available anymore

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-06-28 12:04:00 +02:00
Thomas Lamprecht
adb6cecdca bump version to 0.2.3
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-10 13:11:06 +02:00
Dominik Csapak
ac66a42c1a kconfig: enable V4 xfs support for kernel in restore image
since kernel 5.10, xfs v4 format is deprecated, reenable it for our
restore image kernel

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-06-10 13:09:37 +02:00
Thomas Lamprecht
2df3e8b636 bump version to 0.2.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-25 13:48:48 +02:00
Stefan Reiter
2a1ef81fca add debug initramfs as seperate package
"proxmox-backup-restore-image-debug", containing only the debug
initramfs, so depends on the base "proxmox-backup-restore-image" for the
kernel.

Adapt the init-shim to start an agetty on ttyS1, which the host
can use to connect to a root shell for debugging, and use
create_dir_all, since some debug packages seem to create /sys and /proc
as empty dirs already.

The build_initramfs.sh script is modified to include dependency
resolution via apt-rdepends, so debug packages like agetty (util-linux),
busybox and gdb can easily be added. This now builds both the regular
and the debug binary at once, to avoid downloading shared packages
twice.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-05-25 13:25:02 +02:00
Stefan Reiter
37456b06e8 kernel: power off on panic
Instead of just rebooting, which may lead to an infinite loop, try to
resolve the situation by just powering off the VM - it can be restarted
any time anyway.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-05-25 13:25:02 +02:00
Thomas Lamprecht
653dfd0f6e update kernel to Ubuntu-5.11.0-18.19 / v5.11.17
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-05-25 13:24:53 +02:00
Thomas Lamprecht
c83f8d5678 bump version to 0.2.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-26 18:48:44 +02:00
Stefan Reiter
37ee813020 add workaround kernel patch for vsock panics
Allocation failures for vsock packet buffers occur routinely when
downloading more than one stream at the same time, with less then 512
MiB of RAM it sometimes even occurs for single downloads.

This appears to fix it in all of my reproducer scenarios, tested with up
to 6 downloads at once in a 128 MiB RAM machine.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2021-04-26 18:47:01 +02:00
Thomas Lamprecht
4b35af14ac bump version to 0.2.0
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 16:53:07 +02:00
Thomas Lamprecht
b591943e00 d/control: reword description a bit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 16:53:07 +02:00
Thomas Lamprecht
dfe850084e d/control: adapt to changed proxmox-backup-file-restore package name
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 16:53:07 +02:00
Thomas Lamprecht
c3a536c577 make this package native versioned
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 15:13:03 +02:00
Thomas Lamprecht
e6f991e994 build initramfs: do not hardcode package versions
While it can be good to have those tracked, handling that should be
less friction. (e.g., simply output them a file tracked in git)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 14:58:17 +02:00
Thomas Lamprecht
469393baea update ZFS to 2.0.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 12:07:25 +02:00
Thomas Lamprecht
02a834beeb update submodule to Ubuntu-5.11.0-14.15
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-04-09 11:51:23 +02:00
Thomas Lamprecht
a93dbade55 update to 5.11 based kernel
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-16 16:48:28 +01:00
Stefan Reiter
69c58cb92f fixup "test-run" target
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-16 16:47:54 +01:00
Thomas Lamprecht
03dbac97da actually commit the new split-out make file
... -.-

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-16 15:23:27 +01:00
Thomas Lamprecht
275f3083a8 update/rework packaging and buildsys
try to split packaging from build and lots of such stuff

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-03-15 19:24:27 +01:00
Thomas Lamprecht
daadddc23a debian: use compat level 12
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-17 09:13:02 +01:00
Thomas Lamprecht
627f40cca7 bump version to 0.1.0-1
do not start out with a to stable sounding 1.0 yet

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-02-17 09:12:14 +01:00
Stefan Reiter
3b259e7a26 initial commit
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@proxmox.com>
2021-02-17 09:03:52 +01:00