PowerDNS / pdns

PowerDNS Authoritative, PowerDNS Recursor, dnsdist
https://www.powerdns.com/
GNU General Public License v2.0
3.69k stars 907 forks source link

aarch64 distribution #8655

Open nvisser opened 4 years ago

nvisser commented 4 years ago

Short description

Currently there seems to be no distribution of dnsdist for the aarch64 platform.

Usecase

Running dnsdist on modern ARM aarch64 based hardware.

Description

Modern ARM based platforms are based on aarch64 so having the ability to use dnsdist (or any other powerdns program, really) on these platforms without having to spend a long time compiling or fiddling with cross-compiling would be ideal.

andypost commented 4 years ago

As I got it should use lua5.3 but disable jit for aarch64? https://github.com/PowerDNS/pdns/pull/9523/commits/6afb693cbad880b0310422f61979ace365b44796#diff-b1dc70edc0e96e8e68616ec2894bb235R22-R27

kpfleming commented 4 years ago

Yep, that's it.

andypost commented 4 years ago

@kpfleming thank you, excluded jit from aarch64

muhlba91 commented 3 years ago

Any chances of getting official arm64 (buster) builds in the apt repositories soon-ish? :)

Habbie commented 3 years ago

I'm doing some testing on an AWS t4g.medium (2 vCPU, 4 GiB, 28 USD/month) with Debian Buster.

builder/build.sh -m dnsdist raspbian-buster (spotted to do make -j1) takes 17 minutes. It also emits a weird warning WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested.

builder/build.sh -m dnsdist debian-buster (also make -j1) takes 14 minutes.

Habbie commented 3 years ago

On a t4g.large (2 vCPU, 8 GiB, 55 USD/month) (I ran out of memory on the medium during this experiment), our Debian Buster builds, doing auth/rec/dnsdist in parallel, take 22-35 minutes each, which also totals to 35 minutes. This is, as I understand it, a likely situation for our Buildbot scheduling. Available memory (the available column in free) did not drop below 3.9GB in the process, so there's plenty of headroom there.

As a secondary data point, this grows /var/lib/docker by 11GB.

kpfleming commented 3 years ago

I used a t4g.xlarge I think, since I only needed it for a day. If you do decide to use a t4g.large, a 12-month reserved instance is under US$350 for the year, which is a substantial discount.

mhill8 commented 3 years ago

Where does this stand? I was hoping to migrate my current Cloud PDNS server to a t4g (Graviton2) instance by the end of this month, for which Amazon Linux 2 and Debian 10 are probably my best candidates. Having an official repo for either of those, on that architecture, would be great.

Habbie commented 3 years ago

This is on my TODO, but many things are above it. You can build your own packages with builder/build.sh if you check out pdns.git and install Docker, by the way.

kpfleming commented 3 years ago

If you're willing to run Debian 11 pre-release (not far from actual release), there are arm64 packages in the distribution repository. I've got two Graviton 2 public auth servers running that way now.

mhill8 commented 3 years ago

kpfleming, that sounds like a great option. I'm not too experienced with Debian (my exposure is mainly from maintaining a few Ubuntu and Mint laptops), so say I installed the "debian-11-arm64-daily-20210702-691" AMI (ami-03bcabcaeb252fa69) and updated it regularly; once 11 was released, would this instance be just like any fresh 11 install, or would I need to create a new instance from the 11 release image to be able to keep it up to date?

kpfleming commented 3 years ago

I did it by launching a Debian 10 AMI, then doing an in-place upgrade to 11 (which is quite easy to do on Debian). I don't know how the 'daily' images are configured, so can't provide any direct experience there.

egarcia-r commented 3 years ago

Hi, Actually there is any intention to add "debian-buster-arm64" option on the "4.4.x" branch on the official repo?

Bye the way, how can I create a 4.4.1 "debian-buster-arm64" package? On 4.4.x branch there is not available this option.

Habbie commented 3 years ago

Bye the way, how can I create a 4.4.1 "debian-buster-arm64" package? On 4.4.x branch there is not available this option.

Building 'debian-buster' with build.sh on 4.4.x, when done on an arm64 box, might work. If not, you'll have to backport some things. Note that 4.5.1 is out now.

Actually there is any intention to add "debian-buster-arm64" option on the "4.4.x" branch on the official repo?

It's unlikely we'll do this for 4.4. I do hope we get around to it for 4.5 soon.

egarcia-r commented 3 years ago

Building 'debian-buster' with build.sh on 4.4.x, when done on an arm64 box, might work.

It worked!

It's unlikely we'll do this for 4.4. I do hope we get around to it for 4.5 soon.

I think I will go with building 4.4.x by now until I upgrade to 4.5 in near future and the official repo include the debian-buster-arm64.

Thanks for your great support and fast reply ;)

zeha commented 3 years ago

I'd like to echo the bullseye/arm64 packages request :-)

MestreLion commented 2 years ago

Came here following the instruction _"Only packages for 64-bit Intel (amd64/x8664) distributions and Raspbian armhf (32-bits) are provided. Should you miss your favorite Operating System or Release, please let us know. "

So... letting you know an Ubuntu Server 20.04 arm64/aarch64 build would be very welcome! :1st_place_medal:

cernoel commented 2 years ago

i would love to see arm builds for all powerdns apps, oracle is offering (free) Ampere servers with Ubuntu, maybe one can build that on them?

edit: ... nevermind, i found thread: https://github.com/PowerDNS/pdns/issues/10499 .. and i could build it via your docker build script .. using ubuntu focal target.. /builder/build.sh ubuntu-focal-arm64

dkowis commented 2 years ago

I was able to build nicely for arm64 docker using simple docker buildx

How far away are arm64 packages/docker containers? This software is perfect for an rpi (armbian, or pine64) in my homelab to give me some more powerful DNS availability. Thanks!

DarthCruiser commented 3 months ago

Hi,

Although this issue/thread has spanned a number of years - the repositories do not appear to contain arm64/aarch64 for PowerDNS Authoritative Server. Will this be included for the release of version 5.x? If so when is version 5.x due to be released?

I will install whichever OS will most effectively work with Power DNS Authoritative Server deployed on Apple Silicon.

Any thoughts appreciated.

Habbie commented 3 months ago

Although this issue/thread has spanned a number of years - the repositories do not appear to contain arm64/aarch64 for PowerDNS Authoritative Server.

we started shipping arm64 packages to the repos a few weeks ago. Auth should appear with the 4.9.2 release, so way before 5.0

DarthCruiser commented 3 months ago

Although this issue/thread has spanned a number of years - the repositories do not appear to contain arm64/aarch64 for PowerDNS Authoritative Server.

we started shipping arm64 packages to the repos a few weeks ago. Auth should appear with the 4.9.2 release, so way before 5.0

Thanks for coming back to me - I hope to see in the repository soon sir.

kpfleming commented 3 months ago

I've just installed arm64 packages of pdns-recursor on two of my machines using repo.powerdns.com and it worked perfectly; when pdns-auth shows up there too I'll be installing them as well.