Raspberry Pi CM4で NVMe M.2 SSDから Raspberry Pi OS 64ビット版をブート

Raspberry Pi OS 64ビット版を Raspberry Pi Compute Module 4(以下、CM4)のPCIeスロットに挿したNVMe M.2 SSDからブートした際の作業メモです。

目次

Raspberry Pi OS 64ビット版と NVMe boot support のEEPROM の入手(2022/2/28修正)

Raspberry Pi OSの64ビット版が正式リリースされました(Release date: January 28th 2022)。このページをbeta版から正式リリースされた64ビット版のインストール手順に修正しました。
https://www.raspberrypi.com/news/raspberry-pi-os-64-bit/
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit

Raspberry Pi Imagerから64ビット版をインストール可能

Raspberry Pi Imagerのバージョン1.7.1(imager_1.7.1.exe)のOS選択メニューに正式リリースされた64ビット版が追加されました。

CM4のon-board eMMC は外付けのUSBメモリやmicroSDカードのように取り外せないので、PCに専用ツール rpiboot をインストールして USB大容量ストレージとして認識させてから 、IOボートとUSBケーブルでつないで、Raspberry Pi Imagerから on-board eMMC にOSを書き込みます。

(1)「Raspberry Pi OS (other)」を選択
(1)「Raspberry Pi OS (other)」を選択
(2)64ビット版の選択メニュー
(2)64ビット版の選択メニュー

CM4もRaspberry Pi OS 64ビット版の対応機種

Raspberry Pi Imagerのダウンロードページの下の方にある「See all download options」をクリックすると「Operating system images」ページで対応機種を確認できます。CM4も正式リリースされた64ビット版に対応しています。

Operating system images」ページでは全バージョンのzip形式のイメージファイルをダウンロードできます。

64ビット版の「Raspberry Pi OS with desktop」は「2022-01-28-raspios-bullseye-arm64.zip」でした(Release notes)。

対応機種リストとzipファイルのダウンロードリンク
対応機種リストとzipファイルのダウンロードリンク

CM4向けの NVMe boot support のEEPROM( stable )は下記サイトから入手できます。
Release notes :2021-07-07 – Promote pieeprom-2021-07-06 to stable
Firmware:pieeprom-2021-07-06: Promote to STABLE

NVMe M.2 SSDに Raspberry Pi OS 64ビット版をセットアップ

Raspberry Pi OS 64ビット版のセットアップ手順メモ

手持ちのCM4は、無線LAN及びBluetooth:無、RAM:8GB、on-board eMMC:32GB の有線LANモデルです。Raspberry Pi OS 64ビット版 のセットアップは、32ビット版のセットアップ手順と同様に、

(1)rpiboot(rpiboot_setup.exe )をインストールして、Raspberry Pi Imagerのバージョン1.7.1(imager_1.7.1.exe)から on-board eMMC に Raspberry Pi OS 64ビット版をセットアップ

(2)NVMe boot support のEEPROM( stable版 )アップデート

(3)BOOT_ORDERをNVMeブートに変更

(4)「SD Card Copier」でon-board eMMCのRaspberry Pi OSをNVMe M.2 SSDにコピー

(5)NVMeディスクのファームウェアとカーネルを最新バージョンにアップデート

の手順で作業しました。

NVMe ブートでセットアップ済の NVMe M.2 SSD を使いまわす場合は、USBアダプタケースを使ってPCにUSB接続して、事前に NVMe M.2 SSD を初期化(ブランクに)しておきます。

PCIeソケットにNVMe M.2 SSDをセットしても on-board eMMC からブートして上記(4)の手順を実行できるようにしておきます。

IOボードのPCIe x1スロットに初期化したNVMe M.2 SSD をセット
IOボードのPCIe x1スロットに初期化したNVMe M.2 SSD をセット


beta版のセットアップ手順と違いはデフォルトでUSB2.0が有効化されいました。コードネームは「Buster」から「Bullseye」になっています。

あわせて読みたい
Raspberry Pi CM4で on-board eMMCと PCIeスロットのNVMe M.2 SSDからOSブート Raspberry Pi Compute Module 4(CM4)向けのNVMe boot support のEEPROM( pieeprom-2021-07-06: Promote to STABLE )がリリースされたので、on-board eMMCと PCIeス...
あわせて読みたい
64bit版Raspberry Pi OSが正式リリース、Raspberry Pi 4BでUSBメモリからOSブート Raspberry Pi Imagerを起動すると新バージョンのアップデート通知がでました。待っていたRaspberry Pi OS 64bit版が正式リリースされました。Raspberry Pi 4B 8GBでUSB...

64ビット版の動作確認

NVMeブートでRaspberry Pi OS 64ビット版がCM4が起動することを確認できました。ディスク構成を確認するためにLXTerminalから打ち込んだコマンドラインのメモです。

vcgencmd bootloader_version
lsblk
ls -l /dev/nvme*
Raspberry Pi OS 64ビット版のNVMeブートを確認
Raspberry Pi OS 64ビット版のNVMeブートを確認。OSバージョンを間違わないように壁紙を「設定」→「外観の設定」「画像」で「fjord.jpg」に変更しています。

インストールしたRaspberry Pi OSが32ビット版なのか、64ビット版なのかを下記コマンドで確認しました。

uname -m
getconf LONG_BIT
OSuname -mgetconf LONG_BIT
64bit版aarch6464
32bit版armv7l32
Raspberry Pi OS 32ビット版
Raspberry Pi OS 32ビット版
Raspberry Pi OS 64ビット版
Raspberry Pi OS 64ビット版

参考:Raspberry Pi OS 64ビットbeta版と32ビット版の比較

軽い画面操作では違いは体感できませんでしたが、キャッシュが効く負荷の大きな処理実行時には増加したRAMのメリットが期待できそうです。

hdparmの実行結果

64ビット版 と 32ビット版を NVMe M.2 SSD と on-board eMMCからブートした場合で測りました。-t オプションをつけるとキャッシュを外した速度です。

sudo apt install hdparm
sudo hdparm -t -T /dev/nvme0n1  ※NVMe M.2 SSDの場合
sudo hdparm -t -T /dev/mmcblk0  ※on-board eMMCの場合
 -t:Timing buffered disk reads
 -T:Timing cached reads

hdparmの測定結果(5回平均)です。 32ビット版と比べて、64ビット版 はキャッシュあり(-T)が速いです。

コネクタ起動デバイス64bit
-t
(MB/s)
64bit
-T
(MB/s)
32bit
-t
(MB/s)
32bit
-T
(MB/s)
eMMCon-board eMMC 32GB83.1953.283.2743.1
PCIe Gen2.0
x 1socket
NVMe M.2 SSD (2280)
MZ-V7S250 256GB
390.3969.1376.3747.0

UnixBenchの実行結果

NVMe M.2 SSDブートした 64ビット版 、32ビット版でUnixBench を実行してみました。

sudo apt install git
git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench
./Run
UnixBench
(System Benchmarks Index Score)
64bit32bit
4 CPUs in system;
running 1 parallel copy of tests
356.9259.9
4 CPUs in system;
running 4 parallel copies of tests
962.4737.5
よかったらシェアしてね!
  • URLをコピーしました!
目次