So back in 2019 OCTO was hosting an internal CTO ambassadors conference where I got an interesting request to put together a fun demo around Pi 3. Now remember that during VMworld 2018 in Vegas ESXi on Pi didn't exist yet...
In our OCTO Arm booth in Vegas folks kinda dared to make it happen, and we did... in just a few months we had a demo at VMworld 2018 in BCN of ESXi booting on Pi 3, IIRC with USB support (net, storage and HID)
...but there were no VMs: no GIC and barely any left-over RAM. I was scratching my head on how to make any Pi demo interesting. First I settled on cooking up a hybrid image that could boot Photon OS or ESXi, all from UEFI, to show the power of the UEFI fw and standards.
But that was still kind of boring. Sure, you could use it as an SSH client. Or a way to access VMFS volumes...slowly, courtesy of poky DWC2 USB controller. Yawn.
I had a few weeks left... so I made a tiny Linux VM work on the Pi. Now unlike ESXi-Arm on "normal" Arm server gear, the resulting image was very minimalistic in nature - no vCenter, and a lot of slash and burn to fit into the memory footprint.
And the VM image had to be in ramdisk, because I didn't want the demo to rely on a USB key. It had to be self-contained to ramdisk, and we had no SD driver for the Pi. Of course the entire Photon + ESXi image was on an SD card. A bootloader menu let you choose which OS to boot.
Anyway, so I had a small ESXi image with a VM in it.
The VM was cool. I put a tiny 8086 emulator in it and you could play snake with it 🤣.
Anyway... Next up was writing 195 SD cards 🤣
I also took the same build to Mobile World Congress and walked around like a fool with a Pi, a screen and a battery pack in my hands during VMware booth hours. Did anyone even notice 🤣?
So that had gathered quite a bit of interest internally, making me wish there was a Pi 3 or 4 with enough RAM somewhere around the corner. It was still a few months away before the Pi 4 was to be announced.
Some folks did crazy stuff with this CTOA image internally. It started spreading. And while I knew all the limitations to bother doing more with it, the other folks didn't care 😆. One TAM got a normal Photon OS VM booting over NFS. @CLoerner you're awesome.
IIRC someone also used a VMFS volume on USB to very slowly boot an Ubuntu VM. Where there's a will, there's a way! The Pi 3 was more exciting to folks than my 256-thread ThunderX2 in the lab... And that's how we figured out we must support some future Pi with a tech preview.
Anyway, you know the rest of the the Pi history with the arrival of the Pi 4 on the scene... but I do want to show you something cool.
Turns out that CTOA image boots fine on a Pi 4! Since it only supported the DWC2 controller, you have to attach the NIC via the USB-C connector, but it works!
What's also interesting, is that it boots on the Pi 2 v1.2. Yes, that was 64-bit. In fact support for Pi 2 in the PFTF UEFI firmware only landed this summer 🤣. Anyway, it's just a very slow Pi 3.
And yeah I just tried on a 3A+ as well, but no dice.
Here's a video of that PoC build from CTOA/MWC.
Yeah, I'll take the Fling 7.0.0 build any day over any of that 🤣. And a nice 8GiB Pi, allowing for vCenter, Gigabit, vMotion, USB3 storage, etc. 🥳
• • •
Missing some Tweet in this thread? You can try to
force a refresh
@esxi_arm Yup! Getting firmware working and polished is a massive massive undertaking. One that I and a very special set of folks from around the world have been driving over the course of a few years now. All as a side act.
@esxi_arm It all started in 2016, when Microsoft put out Windows 10 IoT for Pi 2/3 and released the sources to their TianoCore modifications github.com/ms-iot/RPi-UEFI
@esxi_arm In 2017, Ard Biesheuvel separately developed an early port of 64-bit UEFI support. And this one had PSCI (via TF-A, then called ATF).
Note that this has nothing to do with CIFS. Nothing at all. But it speaks volumes about the developer investment in supporting NFS vs CIFS clients in Linux.
I've been a corp citizen for 15 years now. I've learned that most meetings really can and should be an email.
1:1 meetings are good - they are the quickest way to sort out any kind of a question, discussion or argument. If you send an email, and the reply comes back with more questions than you had statements - time for a call. Don't play email tag.