Enhance build process to provide a downloadable PowerShell executable for ARM platform, specifically the millions of Raspberry Pi devices running Raspbian OS. .Net core is already providing such a build
[Arm/CI] Add hardfp build to arm32_ci_script.sh #12577
That's a shame, I was also looking at this, especially with docker being available for the raspberry pi +1 from me!
Given the number of people coming to Linux via the Raspberry pi, this looks like a win-win for the Pi and for Powershell.
I want this.
would be great to have by time dotnet core for debian ARM is available. Seems to be planned for Q1 2017
This would be great. I have some PowerShell scripts on a Windows box (that collect data from a network Gateway that doesn't have SNMP). I'd rather just copy over to my Pi than re-write in bash/perl or something else.
i would be interested in powershell on raspberry pi.
Yes, PowerShell with ARM Support on Raspberry Pi would make great usecases such as low cost/power management station for HomeLabs. Please consider!! +1
Today CoreFX and CLI is still not ready for ARM on daily basis.
As soon as the ARM support for dotnet core is out I plan on testing a compile of this and seeing if it will work outta the box or not...
This should "just work" for the .NET bits of PowerShell; the tricky part is getting the native PowerShell binaries to compile for arm32/arm64 out of GitHub.
Dotnet core Raspberry Pi instructions https://github.com/dotnet/core/blob/master/samples/RaspberryPiInstructions.md
Maybe also package it as an Appimage so it can work on some Android devices when running a terminal app
Please release packages with support for ARM.
I can hopefully pick this up in the next week or two -- seems fairly straightforward if we follow the .NET Core convention to allow an arg like --rid=ubuntu.16.04-arm
on the build script to override the default, for cross-compiling to other platforms/architectures.
Any update on the topic since .Net Core 2.0 is now available for ARM32? Has anyone give it a try?
The hard part is getting the native library to cross build for arm32. I'll give it a try, but I'm certainly no expert on this.
Build seems straightforward enough, let me know if you need a hand -- I should have time this week to get this working.
@stevedesmond-ca if you can get libpsl to build for arm32, I'll take care of the dotnet side. Thanks!
Great guys! I'm looking forward testing it when ready ;-) !
i just tried building/publishing for linux-arm... publish is ok...
but when i run inside Raspbian, i get the following issue:
PowerShell v6.0.0-alpha.18-395-gd467d520a30403d561aaaf44498af141e78c57d9
Copyright (C) Microsoft Corporation. All rights reserved.
Unable to load DLL 'libpsl-native': The specified module or one of its dependencies could not be found.
(Exception from HRESULT: 0x8007007E)
Segmentation fault
Any advice how to proceed from here?
This is what @SteveL-MSFT was talking about -- the native components need to be cross-compiled. I'll hopefully get a PR in for this today.
thanks @stevedesmond-ca
i was thinking of using it in my demo tomorrow ... but no worries...
will share in another talk... once available :-)
Got it building, libpsl-native is loaded correctly, but after a pause a segmentation fault
when the prompt should be showing up.
Opened corefx issue https://github.com/dotnet/corefx/issues/23660
Segfault issue is being tracked at dotnet/coreclr#13667
Issue was fixed in CoreCLR, but not in time for beta.7. Will see about getting a working build for beta.8
@SteveL-MSFT thanks for sharing the good news about 'getting a working build for beta.8'.
It seems we are only a few weeks away from achieving the goal of this request.
But unfortunately from my view, with very limitied visibility of what is going on behind the scenes, how can I as requestor trace the progress towards achiving the ultimate goal of this (now closed) request?
Is it worth getting nightly/CI builds set up for Linux on ARM?
I'm at Open Source Summit this week and I didn't bring my pi with me. Since the coreclr fix was merged, you could try picking up their nightly build along with building powershell for linux-arm as that change has been merged to our master branch. Otherwise, I'll work on this next week once I get back.
This is awesome! I'm looking forward playing with it on my Pi! J
2017-09-13 16:46 GMT+02:00 Steve Lee notifications@github.com:
I'm at Open Source Summit this week and I didn't bring my pi with me.
Since the coreclr fix was merged, you could try picking up their nightly
build along with building powershell for linux-arm as that change has been
merged to our master branch. Otherwise, I'll work on this next week once I
get back.—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PowerShell/PowerShell/issues/2463#issuecomment-329191282,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKZb-78DQBG7xj3AnuvFsYcDTIieg_-cks5sh-rdgaJpZM4KVE-m
.
--
Founder of the French Speaking PowerShell Community
http://www.powershell-scripting.com
Co-author of the books:
¯_(ツ)_/¯
Added instructions on how to get this working https://github.com/PowerShell/PowerShell/pull/4882
Issue was fixed in CoreCLR, but not in time for beta.7. Will see about getting a working build for beta.8
@SteveL-MSFT Is there a working build for beta.8?
@nikonthethird not until CoreCLR puts out a 2.0.x servicing build. We're not moving to CoreCLR 2.1.x for 6.0.0 release as it's not stable.
Unfortunately I do not have access to an Ubuntu machine to compile the binaries for Raspbian. Is someone kind enough to upload them here?
@DaleMitchell You could always use Hyper-v on Windows 10 or any of the free VM tools for previous windows versions, download an Ubuntu ISO, and compiled the binaries in the VM.
for compiling, I often just use docker, but it takes getting used to.
We're planning on moving to a preview of dotnetcore 2.0.x servicing release after which we should be able to start producing Pi packages hopefully for the release candidate
Most helpful comment
I can hopefully pick this up in the next week or two -- seems fairly straightforward if we follow the .NET Core convention to allow an arg like
--rid=ubuntu.16.04-arm
on the build script to override the default, for cross-compiling to other platforms/architectures.