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