tiny-pilot / tinypilot

Use your Raspberry Pi as a browser-based KVM.
https://tinypilotkvm.com
MIT License
3k stars 251 forks source link

Illegal instruction rpi zero w #1450

Open si458 opened 1 year ago

si458 commented 1 year ago

Description

never successfully starts janus i just keep getting Illegal instruction when you run janus command manually from systemctl status janus OR even simply running curl --version BUT you only get this message AFTER you start the setup process, as it fails to start janus

What's the behavior that you expect?

start janus and curl to work?

What's happening instead?

getting Illegal instruction no matter what command you run?

What are the steps to reproduce this behavior?

  1. install script

Screenshots

If applicable, add screenshots to help explain your problem.

Logs

Please paste the URL you see when you run /opt/tinypilot/dev-scripts/dump-logs

mtlynch commented 1 year ago

Every command fails with Illegal instruction? Like even echo hi?

si458 commented 1 year ago

It would seem so yeh? I'm very confused?

Only thing I can think of is the backports from debian are installing packages not compatible with the pi zero w?

EDIT: echo hi seems OK?

mtlynch commented 1 year ago

Hmm, I'm not sure why that would be. Does it reproduce if you install a clean Raspbian image and then reinstall TinyPilot?

We try to help get things working on boards outside of the Pi 4, but we don't have resources to do the legwork on investigations for other boards. If all we have to go on is that two commands yield Illegal instruction and one doesn't, we can't help much.

si458 commented 1 year ago

if i clean install raspbian (latest), curl works no problems, but when i start installing the tinypilot, the ansible setup will error out saying it couldnt start janus for some reason but then if you run the janus command manually (i found the command out from systemctl status janus) it shows Illegal instruction? then i randomly decided to curl for something (cant remember what for sorry) and then curl is now also outputting Illegal instruction? also even if i reboot the pi, it still shows Illegal instruction on the commands? sadly ive left my pi zero w in the office! so i can run more debug stuff for you when im back in there next week if you let me know what you need!

jotaen4tinypilot commented 1 year ago

Illegal instruction is most likely low-level output from the CPU, indicating that a binary is trying to execute a machine instruction that doesn’t exist on the chip. I believe the Pi Zero (W) is ARMv6, but TinyPilot (and its dependencies) are aimed for ARMv7 systems.

florianbeisel commented 9 months ago

This is probably the same issue reported by Rachel Kroll here: clang now makes binaries an original Pi B+ can't run.

TLDR:

You can work around this by grabbing the compiler by the lapels and saying "build for armv6, punk", and it will give you a working binary:

raspberrypi:~/prog$ clang++ --target=armv6-unknown-linux-gnueabihf -Wall -o t t.cc