public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: "Kamil Trzciński" <ayufan@ayufan.eu>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Subject: Re: [pve-devel] Compiling PBS on arm64
Date: Tue, 8 Dec 2020 11:19:47 +0100	[thread overview]
Message-ID: <CAJ-Uff=gK7WbSQJCZoAEQXVqFT_KJ6ySzB+hN-T5cx_HVjM4iQ@mail.gmail.com> (raw)
In-Reply-To: <CAJ-UffmsnNEn57M1rGYco5Dqsrwa1GzAW6z=b_ZWbFje-sjphw@mail.gmail.com>

OK. If anyone is interested, a little hacky, but works:

1. I was able to compile (after minor patching) without having to rebuild
the whole dependency tree
    as required by Debian, instead using `crates.io`. It builds on a Debian
Bullseye as it was simpler
    and required basically no backports

2. I did use stock `debcargo`, but had to include patches to add `debian/*`
files in some cases.
    This is suboptimal, but it was the fastest way to have something
working. Ideally a mentioned `debcargo`
    should be used to create this glue between Rust and Debian

3. It compiled a minimal PBS for `amd64` and `arm64v8`. `amd64` compiled
natively, where for
    compiling `arm64v8` I used `qemu-user`. It took a few hours for this to
finish

4. It builds a very simple Docker image that can be easily run via
docker-compose. I was successful
    running a bunch of backups from my Home PC to my NAS running on
RockPro64 (ARM64)

5. All details and precompiled images are here:

    - https://github.com/ayufan/pve-backup-server-dockerfiles
    - https://hub.docker.com/repository/docker/ayufan/proxmox-backup-server

6. I plan to occasionally update it to the newer version and use it
personally for backuping my personal PVE



On Mon, Dec 7, 2020 at 1:42 PM Kamil Trzciński <ayufan@ayufan.eu> wrote:

> Thank you Fabian :)
>
> I was looking for just that.
>
> I was able to remove `.cargo/config` and use `crates.io` to compile
> packages. I will post more results once it is done, but I got it rebuild at
> least on amd64,
> and waiting for arm64 to finish.
>
> Kamil
>
> On Mon, Dec 7, 2020 at 8:54 AM Fabian Grünbichler <
> f.gruenbichler@proxmox.com> wrote:
>
>> On December 6, 2020 8:41 pm, Kamil Trzciński wrote:
>> > I'm slightly progressing, but I stumbled across some `debcargo`
>> problem. It
>> > appears that
>> > Proxmox uses their own fork of `debcargo`, which is needed in order to
>> > build crates
>> > without the usage of crates.io. Is this patch published somewhere?
>> >
>> > rust-debcargo (2.4.2-pve1) proxmox-rust; urgency=medium
>> >
>> >   * allow overriding maintainer via debcargo.toml
>> >   * implement local crate support.patch
>> >
>> >  -- Proxmox Support Team <support@proxmox.com>  Tue, 14 Jan 2020
>> 16:13:48
>> > +0100
>>
>>
>> https://git.proxmox.com/?p=debcargo-conf.git;a=tree;f=src/debcargo/debian/patches;h=7345cadea4cbffc3174c04e34960e91767892100;hb=refs/heads/proxmox/buster
>>
>> all of the toolchain backports are published as well on
>> git.proxmox.com.. if you want to re-compile all of our devel repo for
>> arm64, I suggest familiarizing yourself with debcargo and the
>> debcargo-conf repo (especially the upstream and Proxmox readmes) ;)
>>
>> > On Fri, Dec 4, 2020 at 4:21 PM Kamil Trzciński <ayufan@ayufan.eu>
>> wrote:
>> >
>> >> ARM64 is becoming increasingly popular, especially that PBS seems at
>> least
>> >> for my usage-pattern to be ideal to run on my arm64 NAS. In the end
>> >> I want to try to be able to recompile everything for arm64 and see how
>> >> nicely
>> >> it works there.
>> >>
>> >> But first I decided to try to compile all packages for `amd64`. And I'm
>> >> scratching my head
>> >> to try to do that. This proves to be super hard due to multitude of
>> >> dependencies that are backported,
>> >> unordered, and require a very special set of commands to be executed
>> >> depending on a git repo
>> >> since PBS is rust-based.
>> >>
>> >> Do you maybe happen to have a comprehensive guide that allows you to
>> >> compile everything
>> >> from the scratch without the use of `/devel` repo, ideally with some
>> kind
>> >> of CI scripts that would do this heavy lifting?
>> >>
>> >> Kamil Trzciński
>> >>
>> >>
>> >>
>> > _______________________________________________
>> > pve-devel mailing list
>> > pve-devel@lists.proxmox.com
>> > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>> >
>>
>>
>> _______________________________________________
>> pve-devel mailing list
>> pve-devel@lists.proxmox.com
>> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>>
>


      reply	other threads:[~2020-12-08 10:20 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-04 15:21 Kamil Trzciński
2020-12-04 15:48 ` Kamil Trzciński
2020-12-06 19:41 ` Kamil Trzciński
2020-12-07  5:32   ` Dietmar Maurer
2020-12-07  7:53   ` Fabian Grünbichler
2020-12-07 12:42     ` Kamil Trzciński
2020-12-08 10:19       ` Kamil Trzciński [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ-Uff=gK7WbSQJCZoAEQXVqFT_KJ6ySzB+hN-T5cx_HVjM4iQ@mail.gmail.com' \
    --to=ayufan@ayufan.eu \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal