Closed Tom-Hirschberger closed 8 months ago
can u run the upgrade like this and post the somefile.txt
bash -c -x "$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/upgrade-script.sh)" force 2>>somefile.txt
I will need to setup a Test environment for this as fixing the production mirror did cost me a couple of hours.
understand.. I have tested all the combos pi 0 w (armv6l) install and upgrade, buster, bullseye and bookworm, both 32 and 64 bit images pi 0 2w same (this is armv7l) pi 3 64 bit is 64bit, 32 bit is hybrid, 64 bit kernel, 32 bit runtime.. set arch to armhf... with 18 or 20, npm is installed with node(using n) pi 4 both bullseye and bookworm, 32 and 64 bit
I found a bug in upgrade on the hybrid platform, fixed today
I am closing this.. if it still happens, reopen
Hi Sam, thanks for the support. I will try to test in the upcoming week. If I encounter any problems I will call again.
Thanks again
Hi Sam,
had/have a lot of problems to update to the current version of MagicMirror (2.25.0) with my production system. I tried different ways with or without your scripts but nothing worked. But after some investigation i found the reason.
I switched to 64bit Bullseye very early and did not realize that the early versions boot a 64bit kernel but use a 32bit userland. Here are some outputs of my system:
arch
:aarch64
uname -a
:Linux support 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
file /bin/bash
:/bin/bash: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, BuildID[sha1]=f12e6d40fb262ad0037b6ec43162208b76d4da71, for GNU/Linux 3.2.0, stripped
If i do the same commands on a system i flashed today the output of
file
differs:file /bin/bash
:/bin/bash: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=96c22dfc3c74ccf4ba77d9cce6fc2c5e635456c1, for GNU/Linux 3.7.0, stripped
With version 2.23.0 of MagicMirror and node 16.x things worked but the new electron versions of 2.24.0 and 2.25.0 do not run on the 32bit userland. If i override the arch settings of npm during installation i can install the 32bit version of electron and the mirror starts. But i can not get my GPIO module to get compiled with
electron-rebuild
.I do not think there is a way to get the mixed system running with the current electron version completely.
My suggestion would be to integrate a check to the install and upgrade script if the system uses 32bit userland although the arch is
aarch64
and abort the installation in this case.One additional thing i noticed is that if i use your scripts my nodejs installation gets purged even it is the correct version already. Maybe you can add a version check for node before removing it.
I do not know if i have time to create a pull request for the scripts in the next days but i will try so. If i don't i wanted to write down my results at least.