arch-delugevpn icon indicating copy to clipboard operation
arch-delugevpn copied to clipboard

[Request] ARM support?

Open Dalarialus opened this issue 4 years ago • 8 comments

I'd love to be able to use this container on a Raspberry Pi. Any plans to support the ARM platform?

Dalarialus avatar Apr 20 '20 00:04 Dalarialus

it would be great

bennionau avatar May 14 '20 07:05 bennionau

i made a fork for arm64

razaqq avatar Mar 14 '21 13:03 razaqq

@razaqq can you put a link to the fork? I'm currently using the one by ledokun/armhf-arch-delugevpn and it works well enough but binhex's image has performed the best for me on x86 and I'm really wanting to get a port of it. I even tried porting it myself a few times but was unsuccessful.

sonofagl1tch avatar Mar 14 '21 16:03 sonofagl1tch

okay so for whatever reason it didnt build on dockerhub, so you have to do it by hand

git clone https://github.com/razaqq/arch-base-arm64
cd arch-base-arm64 && docker build -t razaqq/arch-base-arm64 .

git clone https://github.com/razaqq/arch-int-vpn-arm64
cd arch-int-vpn-arm64 && docker build -t razaqq/arch-int-vpn-arm64 .

https://github.com/razaqq/arch-delugevpn-arm64
cd arch-delugevpn-arm64 && docker build -t razaqq/arch-delugevpn-arm64 .

razaqq avatar Mar 14 '21 20:03 razaqq

thanks for the commands @razaqq ! do you buy chance have any guides you used on creating the fork for ARM? I would love to learn how to do it myself and move more of my homelab to my pi.

sonofagl1tch avatar Mar 14 '21 20:03 sonofagl1tch

all i had to do was use a different base image (archlinuxarm) and fix some small problems. Deluge is python and doesnt compile so cross platform without any architecture issues.

razaqq avatar Mar 14 '21 20:03 razaqq

@razaqq

its been 3 years sense i really dug into docker used to know and do so much sadly i can't remember the best way to run a custom image please advise i'm running ledokun/armhf-arch-delugevpn but it hasn't been updated in 3 years so looking for something more current. its building right now using your commands

ZeroPain avatar Mar 25 '21 00:03 ZeroPain

I found a recent ARM fork here:

https://github.com/doggosrocko/arch-delugevpn-armhf

Cheers to @doggosrocko for the fork. Perhaps it might be good make a PR?

DominikDeak avatar Aug 24 '21 05:08 DominikDeak

Hey All - I know this is an old issue, apologies. I used the @doggosrocko version for a long time, however it began to not work entirely on my pi4s.

I forked the repo, took a bit of time and came up with a solution that has been working beautifully.

My Fork is here Which has the Dockerfile.

It only uses alpine as the base rather than arch. I did manage to build the arch kernel, binaries, tun device etc. But after a bit, it became clear that the resulting image was too big. So I decided to see If I could use the shell scripts and give the image the capabilities that binhex has been providing so graciously. I tested this on arm64 and armv7. Cheers.

seanrclayton avatar Dec 04 '22 23:12 seanrclayton

however it began to not work entirely on my pi4s

@seanrclayton curious, what was the issue? I deployed deluge from @doggosrocko's repo just recently, I couldn't see anything problematic just yet.

DominikDeak avatar Dec 05 '22 04:12 DominikDeak

OK it's been a long time coming, but it's here, the latest image now includes arm64 support, please pull it down and let me know how you get on.

binhex avatar Sep 20 '23 10:09 binhex

@binhex Thanks for the arm64 support!

Getting the following error on Raspberry Pi 4:

docker: no matching manifest for linux/arm/v8 in the manifest list entries.

OneWeekNotice avatar Sep 23 '23 15:09 OneWeekNotice

i think what might be happening is that your userspace is 32bit but your kernel is 64bit, try pulling and running with the docker flag --platform linux/arm64

binhex avatar Sep 23 '23 19:09 binhex

Thanks for the help. I got the docker container to run on my Raspberry Pi! 🎆

After some research, I confirmed that the Raspberry Pi was running 32bit userspace on a 64bit kernel.

  • uname -r -m displayed 6.1.21-v8+ aarch64 which confirmed the 64bit kernel
  • less /boot/config.txt confirmed the userspace
    • arm_64bit=0 for 32bit userspace
    • arm_64bit=1 for 64bit userspace
    • if nothing is present then most likely it is a 32bit userspace. This was my case.

For others that are new to the Raspberry Pi and docker such as myself. The default image that selected on The Official Raspberry Pi Imager is 32bit. In order to install 64bit (for compatible models), the setting is under Raspberry Pi OS (other) -> Raspberry Pi OS (64-bit).

Note: Even though I have a Raspberry Pi 4 that has 64bit kernel; because the 32 bit image was created (due to default Raspberry Pi Imager setting). My Raspberry Pi 4 had a 64bit kernel with a 32bit userspace which doesn't work with arm64 docker images. It would only work with arm/v8 images, as noted by my previous comment

In my case, I reinstalled the 64bit OS and started from scratch but there maybe an option to add/update the arm_64bit=1 in /boot/config.txt and reboot the Raspberry Pi to change the userspace to 64bit for Raspberry Pi 64bit kernel models (I didn't try this)

Thanks again for the help!

OneWeekNotice avatar Sep 24 '23 09:09 OneWeekNotice

Thanks for the confirmation that it was what I suspected and for the nice write-up for raspberry pi users, appreciated

binhex avatar Sep 24 '23 09:09 binhex