wavetermdev / waveterm

An open-source, cross-platform terminal for seamless workflows
https://www.waveterm.dev
Apache License 2.0
4.46k stars 117 forks source link

mshell needs support for 32-bit ARM #230

Open Lukas-drz opened 10 months ago

Lukas-drz commented 10 months ago

Describe the bug When connecting to a Raspberry Pi 4 I have the following error, it cannot install mshell on arm.

prompt> connecting to root@192.168.0.44... prompt> error connecting to remote: invalid packet received from mshell client: raw[which: no mshell-v0.3 in (/usr/local/sbin:/usr/local/bin:/usr/bin:/root/.mshell)] prompt> error reading from controlling-pty: read /dev/ptmx: input/output error prompt> installing mshell v0.3.0 to root@192.168.0.44... prompt> error, install failed: arch cannot be detected (might be incompatible with mshell): invalid uname machine type 'armv7l', mshell only supports aarch64 (amd64) and x86_64 (amd64)

Desktop (please complete the following information):

sawka commented 10 months ago

This could be tricky, as we've never tested a non-64-bit version of waveshell/mshell. I just verified that it does build correctly, but I don't have a test environment.

We're close to shipping v0.6.0. If you're up for it, I can build you a custom arm7 version of mshell that you could try manually to see if it works. If it does (which is still a big if), I'd be happy to add it as a supported configuration for the following release.

Lukas-drz commented 10 months ago

Let's try it ! Give me the instructions to follow and I will send you the feedback :)

esimkowitz commented 10 months ago

@Lukas-drz What OS are you running? Is it the 32-bit Raspbian? RPI4 is armv8 so I'm surprised to see that it's asking for armv7l...

Lukas-drz commented 10 months ago

I'm using PiKVM OS on my raspberry pi. It's based on arch linux.

esimkowitz commented 10 months ago

Yeah, seems like PiKVM is only 32-bit, that's probably why it isn't working. We make available an aarch64 build of mshell, but we don't currently bundle 32-bit versions. We can look into this, I think there was some concern around compatibility with some of the libraries we use...