11

Uptime Lab's CM4 Blade adds NVMe, TPM 2.0 to Raspberry Pi

 2 years ago
source link: https://www.jeffgeerling.com/blog/2021/uptime-labs-cm4-blade-adds-nvme-tpm-20-raspberry-pi
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Uptime Lab's CM4 Blade adds NVMe, TPM 2.0 to Raspberry Pi

August 4, 2021

A few weeks ago, I received two early copies of Uptime.Lab's CM4 Blade.

Uptime Lab's Raspberry Pi CM4 Blade Computer with NVMe SSD

The Blade is built for the Raspberry Pi Compute Module 4, which has the same processor as the Pi 4 and Pi 400, but without any of the built-in IO ports. You plug the CM4 into the Blade, then the Blade breaks out the connections to add some interesting features.

A 1U rackmount enclosure is in the works, and 161 of these boards would deliver:

  • 64 ARM CPU cores
  • up to 128 GB of RAM
  • 16 TB+ of NVMe SSD storage

That's assuming you can find 8 GB Compute Modules—they've been out of stock since launch almost a year ago, and even smaller models are hard to come by. More realistically, with 4 GB models, you could cram in 64 GB of total RAM.

Having the capacity spread across multiple nodes means you'd need to use something like Kubernetes to coordinate workloads, but this is an interesting alternative to something like an Ampere Altra, if you have parallelizable workloads and need as many 64-bit ARM compute cores as possible.

Each blade has the following features:

  • M.2 M-key slot for NVMe SSDs
  • TPM 2.0 module
  • Integrated PoE+ with Gigabit Ethernet
  • A PWM fan header
  • UART debug header and partial GPIO header for RTC or Zymkey 4i
  • 1x HDMI, USB 2.0, and USB-C for eMMC flashing
  • microSD card slot for Lite CM4 modules
  • GPIO-controlled ID LED and SSD activity LED

I have a full video walkthrough of the board on my YouTube channel:

I tested the onboard NVMe drive, and was able to get up to 415 MB/sec sequential reads, which is right at the limit of the Pi's single PCIe Gen 2.0 lane.

I was also able to communicate with the TPM 2.0 chip after enabling it in /boot/config.txt with the following configuration line:

# Enable TPM module
dtoverlay=tpm-slb9670

I used Infineon's Embedded Linux TPM Toolbox 2 with the command sudo ./eltt2 -g to confirm I could communicate with the module, and it returned valid data.

Infineon TPM 2.0 embedded chip

But don't get your hopes up for secure boot on the Pi—it would need support in the Pi's bootloader... right now it's not supported. Since the bootloader is closed source, I wouldn't count on TPM support being added anytime soon, especially since this is the first Pi device I've seen with a TPM 2.0 chip! You can still use it for other secure computing features and cryptography storage, though.

The board gets fairly warm, likely due to the overhead of the PoE+ power conversion (which consumes 6-7W on its own!), so active cooling is probably a good idea—the plan is to have an official 1U rackmount case with integrated Noctua 40mm fans at the rear, plugged into the Blade's 4-pin fan header.

Ivan (@Merocle, who posts to @Uptime.Lab) already has a short 10" rack case design, which holds 8 boards, and is working on the full 19" version:

Uptime Lab's blade servers in 1U 10 inch mini desktop rack

His plan is to launch a Kickstarter for the board, but until then, the best way to follow along is to subscribe to the Uptime.Lab mailing list for a Kickstarter launch notification, and follow @Uptime.Lab on Instagram.


1 Ivan stated the final 1U rack enclosure could support up to 20 or even 22 blades!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK