I’m developing MiniArch (https://github.com/warpme/miniarch) project which is Archlinux bootstrap SD card images for H6/H616/RK3399/RK3566/RK3568/S912/SM1/G12/RPI3/RPI4 based SBC/TVboxes
It seems to work ok for basic ArchLinux ARM - so I started to play with EOS install and…EOS installer hangs for me just after servers speed ranking.
As @pebcak says our latest install method is given here:
The script you are using is our old script for devices we don’t directly support. For using that script, you have to have archlinux arm installed first then run the script in the repo.
I’ve tried this script after looking at your post and I can verify that it is working on a chroot. I’ve not verified it to a a separate storage device.
Is there is an error in servers speed ranking, then the issue might be with the mirrors. Is the script hanging after the mirrors are being ranked or before?
It would be great we can see the terminal output of the screen when it hangs. If text output can’t be done, a screenshot would suffice.
Now installer traps like on attached picture.
IMHO this is definitely missing dependency issue as restarting install again not reports this issue anymore (it seems at first installer run missing dependency was satisfied so second installer run not reports issue anymore).
Im not sure what is missing in .py packages on https://archlinuxarm.org/platforms/armv8/generic on rpi4 - but this breaks eos install
I think the issue now is the endeavouros core packages like eos-packagelist are not installed.
You can see that the mirrorlist wasn’t downloaded properly. I think this is again a mirror issue and or github issue.
Because archlinuxarm doesn’t have mirrorlist and keyring, we download it in our script from github and manually install it. That step is in the beginning of the script. If it fails, everything else will.
Amount of issues currently happening to me are simply prohibitive to overcome by casual user…
btw: i have another issue with failing gnome-shell. What is most preferable way reporting such issue?
(GitHub issue, here, another forum category, etc)
If you can give us a list of packages which needs to be installed (which is currently missing from the install script and causing the script to not run) it would be really great. I’ll add them to the script.
Yes, that’s why I was testing the script. This was the old method and currently the supported method for devices we don’t officially support. Thanks for looking at our work. Even though this script is minimally maintained, I was pleasantly surprised to see that it still works. I think we can make it better with your input.
improvements: currently - if user has (by any reason) pacman conflicting mods in rootfs breaking eos packages installing - script will end with failure (as pacman fails) and leaves system in half modified state (worse: in my case it was state where rerun of script returned additional errors). This i call “fail & exit on discrepancy” strategy. I would propose “overwrite on discrepancy” strategy - where pkgs install will continue and overwrite discrepancies. This is less worse strategy (imho) - as usually - when user starts eos install - user is rather expecting successful install - even with risk of overwrites (I assuming proper pkg is NOT overwriting user data - so such pacman done overwrites are not issue imho).
First off, for the RPi 4 model B we don’t use the generic AArch64 Installation as it installs the
linux-aarch64
kernel.
We use the
linux-rpi
kernel. Which is the “RPi Foundation patched Linux kernel and modules”.
So basically there is the linux-aarch64 Generic kernel, and the linux-rpi kernel which comes from the RPi Foundation itself with all modules that the RPi Foundation has set up.
We tried the generic linux-aarch64 kernel and found that it did not do what we wanted it to do.
If using the generic linux-aarch64 kernel is a requirement for miniarch then you will need to rework your script to accommodate your needs.
the build-server-image-eos.sh script then does an arch-chroot to build-server-image-chroot.sh
which uses this script to perform changes to the actual image being created. Which includes removing the linux-aarch64 kernel and uboot then adding the linux-rpi RPi Foundation kernel with the appropriate firmware.
Perhaps you can check these out and maybe find something useful.
Im fully aware dualizm: world kernel vs. rpi kernel
My motivation (with my project) is to offer choice: users can go with dedicated kernel per group of devices (example is rpi) or go with universal kernel (this is what i want to offer).
In ideal world - if api/abi of dedicated kernel conforms with mainline - we should be ok.
But even with that - rpi is not a case (e.g. h264 stateful video decoder offered by rpi kernel works only with rpi private ffpmeg. the same with hevc state-less).
You may say - what the problem?
Well - incompability at api provider (kernel) usually triggers req. for consumer variants (e.g. rpi ffmpeg).
Then potential ver. mismatch at system ffmpeg vs. rpi ffmpeg triggers multiple versions of ffmpeg consumers (apps) (i.e KODI or mythtv etc…)
Model i’m developing solves this issue (as we have single mainline kernel).
It is not free: mainline will almost always offer less full hw support compared to vendor kenrel.
Q is where is break even point to move away form vendor toward mainline?
Imho probably best criteria is devel. effort: if lower maintenance/devel but less hw support by unified kernel outweighs extra time/effort of keeping multiple ver. of sw components with vendor kernels for better hw support - we should go with mainline. I’m already on this route.
(imho corner cases where rpi covers and mainline not is all the time deceasing while rpi kernel incompatibilities are still pains and growing: hevc decoder is example)
Summarising: i’m looking for:
-not mutually exclusive choice: mainline vs. vendors
but
equally good preparation for 2 options.