Read the statement by Michael Teeuw here.
Installer scripts on Raspberry Pi Zero 2 W
-
Apologies if this is a duplicate topic.
I’ve been trying to get Magic Mirror installed on my Pi Zero 2 W. I have tried to run the master install script from here: https://github.com/sdetweil/MagicMirror_scripts
bash -c “$(curl -sL https://raw.githubusercontent.com/sdetweil/MagicMirror_scripts/master/raspberry.sh)”
However this gives me the following error:
“nodejs version required for MagicMirror is no longer available for armv61 (pi0w) devices”I’ve also tried the below:
git clone https://github.com/MichMich/MagicMirror
cd MagicMirror/
npm install --only=prod --omit=devHowever I see a series of error codes here as well:
npm error code EBADENGINE
npm error engine Unsupported engine
npm error engine Not compatible with your version of node/npm: magicmirror@2.32.0
npm error engine Not compatible with your version of node/npm: magicmirror@2.32.0
npm error notsup Required: {“node”:“>=22.14.0”}
npm error notsup Actual: {"NPM:“10.8.2”,“node”:“v20.18.1”}Currently on node v20.18.1 and npm 10.8.2.
It seems the newer versions of MM require versions of nodejs which aren’t supported on the Zero 2 W hardware. Is there a version of the installer script that will let me point to an older version of MM?
Any guidance would be appreciated!
-
@kribbitykrab Zero 2w is armv7, Zero w is armv6
the required nodejs is not available for armv6
send me the ~/install.log
filesame userid at gmail
i believe you have the pi Zero w. not 2w
MagicMirror manual install requires node 22.14 or higher
you have node 20 -
@kribbitykrab you can get an earlier release thru git by using the version tag
do
cd ~/MagicMirror git fetch --tags git checkout v2.30.0 npm run install-mmyou cannot upgrade from there
-
@sdetweil Thank you so much for the reply! I believe you are correct, I think this is indeed a Pi Zero W, not the 2W–thanks for getting me on the right track.
I’ll give the v2.30.0 MM a shot, appreciate it! Will try to send the install log to you over email as well.
-
@kribbitykrab you can look at the log, search for armv6
or douname -a
-
@sdetweil Ok, so I got the v2.30.0 MM installed using your instructions above, thanks again.
I also was able to get pm2 installed with a:
sudo npm install -g pm2I was able to get pm2 to auto generate the ecosystem.config.js somehow. I also had to copy an index.js in from somewhere into the MagicMirror directory. I also made a copy of the sample_config.js and titled it config.js just for a dry run.
But now when I try to do a:
pm2 startI get a few warnings and errors:
[PM2][WARN] Applications service-worker not running, starting…
[PM2][ERROR] Error: Script not found: /home/./MagicMirror/service-workerI clearly need a service-worker script to start something, guessing something listed in the default config.js. When I do a pm2 list I see the v2.30.0 MM with PID 2444, which is neat I guess.
How do I figure out what service-worker script I’m missing and how do I get it installed where I need to?
I should mention at this point I was hoping to use this project to self-host and display a calendar on a display via MM. I’m starting to think I may need to upgrade to a beefier pi than the Zero W given the challenges so far, but want to see how far I can get first given that this is the hardware I already have on hand.
-
@kribbitykrab just run the fixuppm2 script from my scripts repo
-
@kribbitykrab pi 0w is a tough env now.
i think the next challenge is lack of the electron browser on armv6l processors
in my installer script when run on armv6l, i setup server mode and launch a browser over it.
you can run the setup_browser_over_server script to do that outside install
see the scripts repo readme for the browsers supported and how to inform the startup script which to use
-
@sdetweil I executed the following commands one after the other according to the readme:
export external_browser=midori
DISPLAY=:0 npm startThis gives me the following readout:
magicmirror@2.30.0 start
npm run start:x11magic mirror@2.30.0 start:x11
DISPLAY=“${DISPLAY:=:0}” ./node_modules/.bin/electron js/electron.jssh: 1: ./node_modules/.bin/electron: not found
I had though that Midori supported electron, and I am (barely) able to get Midori to boot from the desktop environment. Advice?
Thanks!
-
@kribbitykrab if you ran the setup _over_server
it should have changed the start script in
package.json to"start":"./run-start.sh",can you confirm that
looks like i had a bug in the script, run it again
-
@sdetweil Ah! I had thought I had to do those steps in the other order so I hadn’t ran the setup_over_server script yet–I have ran it now.
The readout after DISPLAY=:0 npm start is not much more promising. Can’t quite share a screenshot from here, but it has gotten to the point where it says “Ready to go! Please point your browser to” and it’s trying to start Midori!
Now the waiting game.
-
@kribbitykrab did you install midori?
can you launch midori from the commandline -
@sdetweil Weird sequence of events. Midori did end up booting, but then it just stayed on a blank white page without loading anything else. I let it sit for a couple hours just in case it was being slow, but no dice. I alt-tabbed back to the terminal to see if I had any error logs or something. I didn’t see anything, so I alt-tabbed back, and voila! I have a display!
I didn’t change the config.js file, so I assume this is the default setup. I see date, time, holidays in the top left. In the center I see some compliments and some news headlines. In the top right I see the weather!
I guess now I can try to fiddle around to get the calendar modules setup how I’d like.
Would ideally like this to boot on launch of the pi 0w, any advice there would also be handy.
From the default timing display, it appears it’s refreshing anywhere from every second to every ~10seconds.
-
@kribbitykrab if you ran the fixuppm2 script it would have setup MagicMirror to start on boot
I made separate scripts for the extra steps used in the installer in case one needed to do it manually, or changed their mind (fox example, didn’t want pm2 at install, but does now)the modules update independently
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login