Skip to main content

Raspberry Pi Compute Module 4 NVMe Boot Enters Beta

Raspberry Pi Compute Module 4 and NVMe Drive
(Image credit: Jeff Geerling)

How do you boot your Raspberry Pi? The vast majority of us will use a microSD card, some may use a USB drive as a boot device. With the Raspberry Pi Compute Module 4 we saw a PCIe 1x slot appear on the official carrier board and intrepid hackers such as Jeff Geerling have been pushing what this board can achieve. In Geerling's latest video he tests out recently announced beta instructions for booting a Compute Module 4 directly from NVMe.

As Geerling points out in the video, NVMe boot was quietly announced just a couple of weeks ago and is still in beta. The instructions are likely to change ready for official support to start. Geerling installed Raspberry Pi OS to a Western Digital Black SN750 500GB SSD and proceeded to benchmark the drive against a fast micro SD card, and the Compute Module's onboard eMMC flash. Boot times across all three were pretty close, an example of how finely tuned the Linux boot process has become. Where Geerling saw marked improvements was in typical day to day operations such as open and closing applications and file copy operations which saw NVMe storage offering up to a 44% speed increase over a Sandisk Extreme micro SD card. 

The Compute Module 4 was released in Q4 2020 and it was designed for use in embedded applications, and so custom carrier boards are used to break out the functionality that we require.  Geerling's tests were conducted using a MirkoPC, a Compute Module 4 carrier board with built in M.2 NVMe slot running at PCIe x1 Gen2. The MirkoPC is not the only Compute Module 4 carrier offering NVMe storage. Piunora is an alternative that squeezes a Compute Module 4 and NVMe storage onto a board no larger than an Arduino Uno. Should you wish to use NVMe on the official Raspberry Pi Compute Module 4 IO Board then you will require an adaptor for the PCIe interface.

There is no word on how long we have to wait for NVMe support to officially arrive.