Did you know VMware PhotonOS can also run on a Raspberry Pi (rPI) 3? I definitely did not until recently when I found out the latest 3.0 version also had an image for the rPI. This is great for anyone who is already familiar with PhotonOS and wish to run it in an even smaller form factor such as an rPI. There are definitely some interesting use cases for an rPI such as a tiny management host, troubleshooting tool for consultants or even a quick PowerShell/PowerCLI host that contains some basic tools and scripts which you can quickly access.
I was definitely interested in getting PowerShell and PowerCLI running on top PhotonOS on the rPI. Although you can already run PowerShell on an rPI using the Raspbian OS, the current distribution from Microsoft is actually only 32-Bit, which is a problem for PhotonOS as it is a 64-Bit OS. I was about to give up but while browsing the Microsoft PowerShell repo, I came across their upcoming PowerShell 6.2.0 (Preview) release which now looks to include a 64-Bit ARM build, which is exactly what I needed. For PowerCLI, although I was able to get the modules loaded, I was not able to connect to a vCenter Server or ESXi endpoint, you can find more details at the bottom of this post.
Below are the instructions for installing PhotonOS on the rPI and getting PowerShell setup:
Step 1 - Download and install the Etcher tool which will be used to flash our rPI
Step 2 - Download and install PhotonOS 3.0 RC rPI image using Etcher
Once PhotonOS has been installed, you can login (default credentials are root/changeme) and we now have PhotonOS running on our rPI!
Next we will install PowerShell as well as the latest PowerCLI modules.
Step 3 - Run the following to update PhotonOS and install the required packages:
tdnf -y update
tdnf -y install tar icu libunwind unzip wget
Step 4 - Download PowerShell for ARM 64-Bit and latest PowerCLI 11.1 release:
wget https://github.com/PowerShell/PowerShell/releases/download/v6.2.0-preview.3/powershell-6.2.0-preview.3-linux-arm64.tar.gz
wget https://vdc-download.vmware.com/vmwb-repository/dcr-public/9948998f-1f64-4f4a-856b-f43f1a158980/8f94ba7b-efeb-4009-bc47-613e9e95fbed/VMware-PowerCLI-11.1.0-11289667.zip
Step 5 - Run the following commands to setup both PowerShell and PowerCLI:
mkdir ~/powershell
mkdir -p ~/.local/share/powershell/Modules
tar -xvf ./powershell-6.2.0-preview.3-linux-arm64.tar.gz -C ~/powershell
unzip VMware-PowerCLI-11.1.0-11289667.zip -d ~/.local/share/powershell/Modules
Step 6 - To confirm PowerShell is working, run the following command:
powershell/pwsh
As you can see from the screenshot above, we now have PowerShell 64-Bit successfully running on PhotonOS 3.0 which is running on top of an rPI 3!
Although the PowerCLI module is loaded, it looks like there is an issue when you try to connect to either a vCenter Server or ESXi host with "The SSL connection could not be established, see inner exception" error. I have already filed a Github issue here as well as an internal bug to see if the PowerCLI team can investigate. Hopefully it is something basic and we will have PowerCLI working soon. I will update this blog once I hear back.
Scott Jacobson says
Will, did you try specifying -protocol https explicitly? WhatbabWha suppressing ssl cert validation?
Eric Fontenot says
The current PowerShell implementation may not be able to communicate with the local PhotonOS credential validation libraries. Have you tried to "Force" the connection? I'm not certain if there is an equivalent flag in Connect-VIServer to the OVFTool's "noSSLVerify", but that may also work. Obviously all hypothetical here, but may be worth a shot. Also, if you try Scott's suggestion, but attempt to connect to http instead of https (I'm sure some tweaking on the lab vSphere environment will be needed).
William Lam says
PowerCLI has Set-PowerCLIConfiguration cmdlet which allows you to ignore Cert warnings (-InvalidCertificateAction) which I had already tried (posted that in original Github issue) with same results. I didn't try HTTP as that would require reconfiguring my vCenter Server to accept HTTP requests which isn't what I'm interested in
Justin Case says
Do we know if the Photon team did enough THERMAL testing of the unique 64-bit kernel and its parameters set by default on Photon OS 3 for the BCM2837 SOC? Does it require specific firmware levels for the specific board variants of the rPi? In other words, can you bake your rPi into a fine aroma by loading it down with compute-intensive jobs under Photon OS 3?
I know VMware Inc. has been really bad about tracking Apple's thermal firmware changes on MacPro 6,1 in ESXi and am curious if they've learned from that with rPI, or if they simply fired up the cross-compiler and declared victory when they got it to boot like many other Linux distros.