public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] Compiling PBS on arm64
@ 2020-12-04 15:21 Kamil Trzciński
  2020-12-04 15:48 ` Kamil Trzciński
  2020-12-06 19:41 ` Kamil Trzciński
  0 siblings, 2 replies; 7+ messages in thread
From: Kamil Trzciński @ 2020-12-04 15:21 UTC (permalink / raw)
  To: pve-devel

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] Compiling PBS on arm64
  2020-12-04 15:21 [pve-devel] Compiling PBS on arm64 Kamil Trzciński
@ 2020-12-04 15:48 ` Kamil Trzciński
  2020-12-06 19:41 ` Kamil Trzciński
  1 sibling, 0 replies; 7+ messages in thread
From: Kamil Trzciński @ 2020-12-04 15:48 UTC (permalink / raw)
  To: pve-devel

I'm looking for some help on how to get it running and how to make it
reproducible :)

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
>
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] Compiling PBS on arm64
  2020-12-04 15:21 [pve-devel] Compiling PBS on arm64 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
  1 sibling, 2 replies; 7+ messages in thread
From: Kamil Trzciński @ 2020-12-06 19:41 UTC (permalink / raw)
  To: pve-devel

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


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
>
>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] Compiling PBS on arm64
  2020-12-06 19:41 ` Kamil Trzciński
@ 2020-12-07  5:32   ` Dietmar Maurer
  2020-12-07  7:53   ` Fabian Grünbichler
  1 sibling, 0 replies; 7+ messages in thread
From: Dietmar Maurer @ 2020-12-07  5:32 UTC (permalink / raw)
  To: Proxmox VE development discussion, Kamil Trzciński


> On 12/06/2020 8:41 PM Kamil Trzciński <ayufan@ayufan.eu> 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. 

I guess you can simply adopt/remove the .cargo/config file we ship with our
packages. Cargo will use normal repos then.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] Compiling PBS on arm64
  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
  1 sibling, 1 reply; 7+ messages in thread
From: Fabian Grünbichler @ 2020-12-07  7:53 UTC (permalink / raw)
  To: Proxmox VE development discussion

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
> 




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] Compiling PBS on arm64
  2020-12-07  7:53   ` Fabian Grünbichler
@ 2020-12-07 12:42     ` Kamil Trzciński
  2020-12-08 10:19       ` Kamil Trzciński
  0 siblings, 1 reply; 7+ messages in thread
From: Kamil Trzciński @ 2020-12-07 12:42 UTC (permalink / raw)
  To: Proxmox VE development discussion

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
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [pve-devel] Compiling PBS on arm64
  2020-12-07 12:42     ` Kamil Trzciński
@ 2020-12-08 10:19       ` Kamil Trzciński
  0 siblings, 0 replies; 7+ messages in thread
From: Kamil Trzciński @ 2020-12-08 10:19 UTC (permalink / raw)
  To: Proxmox VE development discussion

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
>>
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-12-08 10:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-04 15:21 [pve-devel] Compiling PBS on arm64 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 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