PINE64
Possible to run ArmV7 Apps on Manjaro? - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=111)
+--- Forum: Linux on Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=114)
+--- Thread: Possible to run ArmV7 Apps on Manjaro? (/showthread.php?tid=15615)

Pages: 1 2


Possible to run ArmV7 Apps on Manjaro? - gandlers - 12-27-2021

Hope everyone has had a good Christmas.

Is it possible to Run 32bit (armv7) software on a 64bit Linux OS (Manjaro in this case). Goggling suggests that it is possible by enabling some sort of compatibility mode

Im trying to get betaflight-configurator runing on my PineBook Pro.

There isnt a release built for Linux on arm, but there are instructions for building for armv7 although this isnt officially supported.

I have managed to blindly follow the instructions and built for armv7 but it doesnt run on Manjaro.

I don t know if it is feasible to modify the the "gulpfile" to add an armv8 option or whether there is some wat to run the armv7 build on Manjaro by enabling the compatibility mode.

Any advice or pointers from bigger brains than mine would be greatly appreciated.

Cheers

G


RE: Possible to run ArmV7 Apps on Manjaro? - tophneal - 12-27-2021

if you were able to get the package to build, you might try using the pamac GUI to install/open it and then edit the PKGBUILD to include 'aarch64' before proceeding with the install.


RE: Possible to run ArmV7 Apps on Manjaro? - gandlers - 12-28-2021

Hi Tophneal,

thanks for your suggestion but "building" doesn't create a package which can be loaded through the Package manager.

"building" probably isn't the correct terminology, betaflight-configurator "built" using NW.js.

The instructions are to:
install node.js
install yarn using npm: 'npm install yarn -g'
inside the project folder run: 'yarn install'
then run 'yarn start' and 'yarn test'

At this point you can "build" the app using the supplied gulpfile.js:
'yarn gulp <taskname> [platform]'

task can be, dist, apps, debug or release
platform can be --osx64, --linux64, --win64 or --android, there are also --win32, --linux32 and --armv7 options for the platform in the gulpfile but they arent officially supported.

I have built using 'yarn gulp release --armv7' which initally failed as node.js wasnt the correct version identified in the .nvmrc file, so had to downgrade to node v14.x. Eventually produced the armv7 release archive but cant work out how to run it on the 64bit manjaro OS.

Not having any idea on how node (or NW.js as it seems to be called now) works certainly doesnt help this amateur.
 
I've been trying to read the gulpfile to work out if I can create a new platform for armv8 but its all beyond my capability unfortunately.
Huh


RE: Possible to run ArmV7 Apps on Manjaro? - tophneal - 12-28-2021

This package exists in the AUR, so you can enable the AUR in pamac GTK, search for and mark the package for install, then when it asks you if you want to Edit Build File(s) do so. Change arch=('x86_64') to arch=('x86_64', 'aarch64') or arch=('any') then save and build/install. If it fails, check the errors to see if any dependencies need the arch line altered too.

if you prefer the cli, use yay. it will notice the package is for another arch and ask if you'd like to try building it for aarch64 anyway.


RE: Possible to run ArmV7 Apps on Manjaro? - gandlers - 01-02-2022

Thanks for you further suggestions, I tried The PacMan GUI after enabling AUR. (then tried YAY)
There were 2 betaflight-configurators in there. one fails before i get the option to modify the buildfile and the output of the other is the exectutable is an amd64 elf file regardless of any modification to the buildfiles to tell it to make aarch64.
Im not really sure of the point of the packages in the user repository as they would only apperar to work for 32/64 bit "desktop" CPUs which are downloadable anyway from the betaflight website or built directly from the source on the website.

I think my best bet is to concentrate on trying to build from source as I have at least been able to "build" a version for armv7 so it should in theory be possible to build for armv8.

Thanks for your pointers, I'll hopefully be able to get my head around the gulpfile process that the original project uses.

So cheers and happy new year


RE: Possible to run ArmV7 Apps on Manjaro? - wdt - 01-02-2022

Maybe you don't know ??
mrfixit's distro has a v8 kernel and v7 userland,
it is based on debian stable, so a bit dated


RE: Possible to run ArmV7 Apps on Manjaro? - tophneal - 01-03-2022

alternatively box86 may be an option to run this software too: https://forum.manjaro.org/t/how-to-install-box86-on-manjaro-arm64/43473


RE: Possible to run ArmV7 Apps on Manjaro? - gandlers - 01-03-2022

Thanks for the suggestions guys. it gives me a couple more avenues to investigate.

I think i'll start with box86 as dual-booting isnt yet idiot proof on the PBP and I'd prefer to stick with manjaro as its the official OS.

Cheers


RE: Possible to run ArmV7 Apps on Manjaro? - tophneal - 01-04-2022

concerning dual booting, if you have manjaro on your emmc, if your sd reader still works you can just burn the mrfixit img to an sd, and pop it in/reboot whenever you want to boot it. no changes to the main drive necessary


RE: Possible to run ArmV7 Apps on Manjaro? - gandlers - 01-04-2022

Ahah, good point I didnt think of that, forgot that the SD card is the default boot device.

with regards to box86; I had a look at the guide to install.
It seems that there is no 32bit support for manjaro (or is that arch linux? so filters down to manjaro)
So in the guide (https://forum.armbian.com/topic/16584-install-box86-on-arm64/) he uses schroot and debootstrap to run/boot debian buster armhf.
Not that i know what schroot and debootstrap are but I do know that Debian Buster armhf is the 32bit OS that raspberypi os is built on (as i have a few pi's and am (a tiny bit) more familiar with using the Pi).
As I can "build" betaflight-configurator for armv7 (so this would be armhf?) would that be enough to run the app rather than trying to then use box86 to run i386 code?