I have tried installing and this is the error i am geting.
I am using rocky linux on arm.
let me destroy and rebuild the server, and see if i will be getting the same error,
could be because of the numerouse configs i tried to get ns8 working on Arm
[rocky@mygen ~]$ sudo bash install.sh ghcr.io/tbaile/core:main
Checking port 80 and 443 are not already in use
Restart journald:
Install dependencies:
NS8 Rocky Linux 9 - BaseOS 0.0 B/s | 0 B 00:08
Errors during downloading metadata for repository 'ns-baseos':
- Status code: 404 for https://u4.nethesis.it/mirrorlist?arch=aarch64&repo=BaseOS-9 (IP: 209.38.224.41)
Error: Failed to download metadata for repo 'ns-baseos': Cannot prepare internal mirrorlist: Status code: 404 for https://u4.nethesis.it/mirrorlist?arch=aarch64&repo=BaseOS-9 (IP: 209.38.224.41)
After a fresh rocky linux install version 9.1 i am getting the same error.
WHat could be the issue
and now it seems every other update commands i try to run,
i get this error
[rocky@ns8arm-20240113-0716 ~]$ sudo dnf upgrade
NS8 Rocky Linux 9 - BaseOS 0.0 B/s | 0 B 00:07
Errors during downloading metadata for repository 'ns-baseos':
- Status code: 404 for https://u4.nethesis.it/mirrorlist?arch=aarch64&repo=BaseOS-9 (IP: 209.38.224.41)
- Status code: 404 for https://u4.nethesis.it/mirrorlist?arch=aarch64&repo=BaseOS-9&countme=1 (IP: 209.38.224.41)
Error: Failed to download metadata for repo 'ns-baseos': Cannot prepare internal mirrorlist: Status code: 404 for https://u4.nethesis.it/mirrorlist?arch=aarch64&repo=BaseOS-9 (IP: 209.38.224.41)
[rocky@ns8arm-20240113-0716 ~]$
On x86_64 the rocky-el9 repositories are managed (mirrored) by nethserver, but only for x86_64 not aarch64.
So you need to tweak the install script on rocky-el9 a bit at line 59 so this does not happen.
59 if [[ "${ID}" == rocky ]]; then
60 print_ns_yum_config > /etc/yum.repos.d/nethserver.repo
61 dnf config-manager --save --set-disabled appstream baseos extras
62 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
63 fi
If you continue with the current installation you probably need to enable the original repo’s and disable nethserver mirrors (out the top of my head) :
BTW in my short experience it seems to be preferred to run the install.sh script as root (sudo su) instead of with root privileges (sudo install.sh … )
Kind of decided to never touch arm on EL again, especially now NS8 runs on Debian too. Though have to admit @rocky_altach-sig does provide the minimal tooling in their repo by now such as en device-tree compiler, uboot and other early boot binaries; Epel > 7 finally got a gcc-cross compiler.
So you got me already looking in to that.
NS8-core does not have special requirements regarding software provided by the distro, can’t be that difficult. the core itself seems to be python in it’s own virtual environment (venv) and golang which has cross-compiling build in.
The issue with EL, or to be precise with DNF/YUM, is it does not handle foreign architects very well. This means you always need to create an image, isso or what ever on the (emulated) target arch.
And here Debian shows its strength and heritage as a multi-arch distro. It’s not hard to apt install whatever arch in to a chrooted environment. You can do pretty much with tools like debootstrap and qemu-user-static on a foreign arch without full emulation.
Not better perse, but development is much easier as it’s more versatile.
Just look at the Debian based distro specific for arm SBC’s Armbian,
it runs on about on everything out there.
However still curious if ns8-core provided by @Tbaile runs on rocky-el9 too.
if you still have the rocky pi running try to tweak the install.sh script for testing by marking out line 59 to 63
In the above interesting part is the include locations gcc uses: -I/usr/local/agent/pyenv/include -I/usr/include/python3.11
gcc looks in de {venv}/include and the systems python3.11
Systems python version on debian is 3.11 on el9 it’s 3.9. hence installing python devel on el9 does not help, the header file Python.h lives in /usr/include/python3.9
Still very much puzzeld how this works with the the github container repository and ns8,
Most likeky because of lack of my interest (never used docker nor podman)
locally rebuild some ns8 modules on debian aarch64:
This must be ran before installing the module from the UI, be aware that NS8 won’t download again the image if there’s one already, you must remove it beforehand (from root) using podman image rm <image name>