-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for 32k page size (ARM?) to avoid ELF load command address/offset not page-aligned
#2078
Comments
This will likely need to be fixed upstream (either the official community PHP Docker image or the Debian one or Alpine), but I'm honestly not sure. Someone needs to do the leg work to research this matter more, including not only a possible fix for this situation, but a path that makes sure it doesn't break things for others. I think it's ARM specific. |
ELF load command address/offset not page-aligned
I was looking to see how other Official Docker Library images have dealt with this and I found:
Though from general searches (i.e. outside Docker Library images) I'm surprised this hasn't come up a bit more often with the Official ones. 🤔 |
Some related posts... |
Also i try experiment in emulation on x86 like this.
Alpine Linux 3.17.0 under emulation page size 32k give me And backward on QNAP with pagesize 32K container
|
You may be able to workaround this by changing the source image in the Dockerfile and building the image locally - e.g. Line 2 in 747a3f8
Changing from docker/29/fpm-alpine/Dockerfile Line 2 in 747a3f8
Changing 3.20 to 3.17. Caveat: Obviously it's a non-standard build at that point. |
@joshtrichards Thanks I was busy from the bug creation, but now I got to it and ended with the same error on .0.13 so I was about to think of doing what you have written. Well not exactly, firstly I had to search, how to do docker files, etc. And then your comment came. Thanks for that! I have really good starting point. I will try it and will write here how I had ended. Thanks! |
Hello, |
This bug has been tracked down to an issue with binutils and a bug report has been opened. With that said, I'm not sure if/when it will get fixed. If fixed, it will also take time to roll out to projects that depend on it. I needed more space so when I upgraded to an 8 bay QNAP I made sure it was an x86 based unit... |
So I went down this rabbit hole and I wanted to share my finding. I don't have a fix for the 32K pagesize but have successfully updated nextcloud to version 29 on my QNAP. (current stable version) So the nextcloud dockers are based off the php:8.2-fpm-bookworm which is based off the docker debian:bookworm-slim which is broken as it has 4K pagesize. Until debian:bookworm is fixed the nextcloud dockers will stay broken for us. Luckily for us that debian:bullseye docker is currently a stable and up to date version (for a few more years) so changing the Line 2 like @joshtrichards suggested should work for other apps as well, not just the nextcloud docker. I tried to compile debian:bookworm on the QNAP but couldn't get it to work. If any of you guys have step by step instructions on that let me know. Now the following is how to upgrade nextcloud to the latest version if you have a 32bit arm QNAP: Version 25 Version 26. Version 27 For the rest of the versions we will need to compile the docker. Currently downloading the master version of the nextcloud docker will get you version 28, 29 and 30. This link is for the future when they remove version 28 from the master build Download and extract the file on the QNAP. Version 28: Lets start with version 28, so open the folder named '28' with File Station and edit the file 'Dockerfile' with Text Editor. If you don't have the Text Editor app download it in the app center. Here are the changes you need to make to each docker file in the version folders: Line 2 in 178f8b6
Change bookworm to bullseye on line 2 Line 2 in 74d33d0
You also need to delete the lines 48 and 54 Line 48 in 178f8b6
Line 54 in 178f8b6
Lines 48 and 54 cause a compile error and the nextcloud docker works fine without them (*for now). Now SSH into QNAP and navigate to the folder 28. We need to set entrypoint.sh as executable otherwise the docker will not run and cause a permissions error. Now we need to compile the docker. You can look up the version on line 153 of the Dockerfile Line 153 in 178f8b6
It will take a long time to compile. Test the image as a standalone nextcloud docker before you recreate your production nextcloud docker. Version 29 Version 30 |
Hello,
recently QNAP container station switched to 32k page size from 4k and since then I am having problem with update (last working image, that I had tried is NextCloud 26.0.1, tried to update to 26.0.7 and since then I am having problem starting the container up (no matter if its apache, fpm, etc.). I am getting messages like:
And the container is still restarting. I had searched the internet and it seems that its related to change to 32k page size. I am not sure if i am able to change it back to 4k though (official QNAP support help is... I don't want to be rude).
Is it possible to make images compatible to 32k, maybee backwards compatible, since I want to upgrade from 26.0.1 to latest release (which is I gues to 26.0.7 and then do 27.0.0 and then to latest).
Thanks,
Regards,
Petr Sourek
The text was updated successfully, but these errors were encountered: