こんにちは、Raspberry Piを6台持っている、ソラコムの松下(ニックネーム: Max)です。
2022年2月にRaspberry Pi OS の 64-bit版が正式リリースされたというニュースが出ました。これからRaspberry Pi 3 や 4 を使う方には「Bullseye ベースの 64-bit 版 Raspberry Pi OS」をお勧めしますが、本ブログではその背景や選び方をご紹介します。
Raspberry Pi と Raspberry Pi OS
Raspberry Pi(ラズベリーパイ、通称:ラズパイ)はセンサーと接続できる小型のコンピューターで、IoTの技術検証や製品に使われており、私もデモの時に良く利用しています。
実際にラズパイを使っていくにはOSが不可欠です。パソコンならばmacOSやWindowsと同様に、ラズパイではLinuxを利用します。中でも標準的に使われているのが「Raspberry Pi OS」です。Raspberry Pi OSはDebian GNU/Linuxを基にしたLinuxで、ラズパイ上のハードウェア機能を引き出す調整がされているため、Raspberry Pi OSを使えばトラブル無くラズパイを扱えるでしょう。
ここからは、ハードウェアとしてのRaspberry Piをラズパイ、OSは Raspberry Pi OSと表記していきます。
ラズパイ向けのOSとしては、Raspberry Pi OS のほかにLinux OSベースのUbuntu(ウブンツ)や、ラズパイが使用してるCPU向け(Arm版)Windowsがあります。
Raspberry Pi OS を選ぶ3つのポイント
Raspberry Pi OS の一覧を見てもわかる通り、Raspberry Pi OS は7つの選択肢(2022年2月時点)がありますが、ポイントは以下の3点です。
- GUI の有無 (Desktop / Lite)
- ベースのDebian GNU/Linuxのバージョン (最新 / Legacy)
- システムアーキテクチャー (32-bit / 64-bit)
ポイント1: GUI の有無
IoT向け開発であれば GUI 無しの “Lite” で良いでしょう。
センサーを読み、クラウドにデータ送信するといった用途にGUIは不要です。ただし、カメラを利用する場合、検証目的に GUI があると便利かもしれません。そのため、開発内容や利用用途で GUI の有無を決めることになります。
GUI の有無は Raspberry Pi OS のネーミングで判別できます。
- GUI 有り ― “with Desktop” (もしくは表記なし)
- GUI 無し ― “Lite”
それぞれ、以下のように起動後の画面が異なります。遠隔から制御するには、GUIの有無に限らず SSH を使います。またGUI有りならば VNC で遠隔からのデスクトップ利用も可能です。
GUI 有りをベースに、オフィスソフトである LibreOffice やプログラミング入門に使える Scratch といったソフトウェアが同梱されています。特にラズパイ4はメモリーが8GBとパソコン並みのスペックがあることから、ラズパイをパソコンのように使いたいときに選びます。
Raspberry Pi OS のインストーラー “Raspberry Pi Imager” 内では、「Full」と表記されています。
ポイント2: ベースのDebian GNU/Linuxバージョン
ベースとなっているDebian GNU/Linuxのバージョンは、後述のような制約がとくになければ「Bullseye ベース」のRaspberry Pi OSを選択しましょう。
Raspberry Pi OSの基であるDebian GNU/Linux(以下、Debian(デビアン))には複数のバージョンがあります。これまでRaspberry Piは常に最新のDebianのバージョンを基にしてきましたが、2021年11月ではDebianの最新バージョン “Bullseye” (ブルズアイ)を基にしたものと、1つ前のバージョン “Buster” (バスター)を基にした、2つの Raspberry Pi OS がリリースされています。
基本的にはより新しいBullsyeye ベースを選べば、最新機能の利用やパフォーマンス向上が見込めます。しかし、これまでの Raspberry Pi OS 上でのソフトウェア資産があり、すぐに Bullseye ベースに移行が難しい場合は Busterベースを選ぶことになります。今後のアップデートを考慮すれば、Bullsyeye ベースへの移行を検討すべきです。(Raspberry Pi OS 提供側もそのように言っており、また後述するシステムアーキテクチャーにおいて、64-bit版には Buster ベースが存在しません。)
何がベースとなっているかは、Raspberry Pi OS のネーミングで判別できます。
- 最新バージョン/Bullseye ベース ― (なにも付与されていない)
- 1つ前のバージョン/Buster ベース ― “(Legacy)” とついている
BusterからBullseyeへの移行検討に使える情報源をリストアップしておきます。
- Bullseye – the new version of Raspberry Pi OS (Raspberry Pi OS における Buster からの異なる点)
- 第5章 bullseye で注意すべき点 – Debian (DebianにおけるBuster からの異なる点)
ラズパイとセンサーをつなげるのに使うGPIO(General-purpose input/output; 多目的入出力)を操作できる gpio
コマンドが、Bullseyeから無くなりました。代替コマンドは存在しますが互換性はありません。移行にはこのような非互換な更新も存在するため、確認が必要です。 gpio コマンドの対処については BullseyeベースのRaspberry Pi OSからWiring Piが無くなった、その対処方法 をご覧ください。
ポイント3: システムアーキテクチャー (32-bit / 64-bit)
ラズパイ 3 以降での利用であれば、64-bit 版 Raspberry Pi OS を使っていきましょう。
しかしながら、ラズパイの旧モデル(1 / 2 / Zero(W含む)) はCPU自体が32-bitであるため、32-bit 版 Raspberry Pi OS を選択することになります。どのラズパイが64-bitに対応しているのかは、64-bit版の正式リリースのページの表の “Architecture width“ で確認できます。
32-bitと64-bitにおいて一番の違いは、扱えるメモリー空間のサイズです。32-bitは1プロセスあたり最大3GBと制限されるため、例えば Raspberry Pi 4 の 8GB モデルではハードウェア能力を活かしきれません。とはいうものの、IoT開発では、例えばセンサーの値をクラウドへ送信する程度であれば、これほどのメモリーを使うことはないので、この点についてはどちらを選んでも問題ありません。
そのような中で 64-bit をオススメしている背景は、今後の対応バイナリー(ソフトウェア)の提供です。パソコン等で利用されているCPUである x86 系はすでに64-bitが主流です。それに合わせてソフトウェア提供側も32-bitバイナリーの開発を終了した例もあります。したがって、今後は64-bit用バイナリーのみ提供となる可能性があるからです。
これまではCPUは64-bit対応済みだったラズパイ3以降でも、Raspberry Pi OS が32-bit版であったため、最大パフォーマンスを出すことができませんでした。OS(正確にはkernel) が 64-bit になったことでアプリケーション(バイナリー)も64-bit化でき、ハードウェアの最大パフォーマンスが出せるようになります。具体的には約20%の向上が見られました。詳しくはこちらをご覧ください。
Raspberry Pi OS はどれを選べばよい?
これまで解説してきた通り、新規の利用ならば「Bullseye ベースの 64-bit 版 Raspberry Pi OS」を選びましょう。また、ラズパイ上で開発したソフトウェアがある場合、手間なく動かすなら「Buster ベースの 32-bit 版 Raspberry Pi OS」を選ぶことになります。
GUIの有無は、対象となる開発の内容に応じて選んでください。カメラを利用しないIoT開発であれば、GUI無しの「Lite」で十分かと思います。
64-bit 版 Raspberry Pi OS の入手とmicroSDへの書き込み方法
64-bit 版 Raspberry Pi OSの入手とmicroSDへの書き込みは、Raspberry Pi Imager(以下、Imager) の利用が手軽で確実です。イメージファイルのダウンロードから書き込みまで行ってくれます。Imager の最新バージョンは 1.7.1 です(2022年2月初頭時点)。古ければアップデートしておきましょう。
Imagerを起動した後、 “CHOOSE OS” をクリックすると表示される Raspberry Pi OS は 32-bit 版です。
64-bit 版は「Raspberry Pi OS (other)」 の中にあります。そして、選択前には念のため “Released” の日付を確認しておきましょう。2022-01-28 (もしくは、それ以降の日付) となっていれば、正式リリースされた 64-bit 版 Raspberry Pi OS です。
あとは「Raspberry Pi OS (64-bit)」(= GUI 有り)か、「Raspberry Pi OS Lite (64-bit)」(= GUI 無し) を選択していきます。
おわりに ~ ラズパイをもっと使いこなすための情報
ラズパイはセンサーを用いてデジタル化した現場とクラウドをつなげる “IoT” のハードウェアとして注目されています。また、最近では産業向けラズパイ(Raspberry Pi Compute Module)を利用したIoT向け製品も登場したりと、ラズパイで得られた知見を活かせる場が広がっています。
より学ぶ/活用するための情報として Raspberry Pi OS の選び方を紹介しましたが、それ以外にもラズパイで不可欠なmicroSDや、ラズパイにWi-Fi / 有線LANに次ぐ「第三のネットワーク」としてのモバイル通信をつける方法や、逆にWi-Fi / 有線LANから直接SORACOMのIoT向けサービスを利用する方法を紹介しています。ぜひともご活用ください。
- Raspberry Pi 3および4で使うSDカード(microSDカード)の選び方
- Raspberry Piに対応した、LTE通信モデム「SORACOM Onyx LTE USBドングル」を提供開始
- Wi-Fi や 有線 LAN から IoT 向けサービスを利用できる「SORACOM Arc」
自分のペースでIoTを学べる「IoT通信講座」
ラズパイを使ってみたいが、何を行えば…?という方にオススメなのが「自分で学べるIoT通信講座」です。
ソラコムのIoTデバイスを無料で貸出します。また、手順はIoT DIY レシピを参考に進められるため、自分のペースでIoTが学べます。もちろん今回ご紹介したラズパイも含まれていますので、ぜひチャレンジしてみてください。詳細やお申し込みは、自分で学べるIoT通信講座をご覧ください。お待ちしております!
3/23(木)19:00〜ライブデモで学ぶ!「ラズパイ、M5Stack、Arduino」選び方、始め方
ラズパイの使い方から、始め方までライブデモを通じてご紹介するオンラインイベントを3/23(木)に開催!ラズパイに加えて、液晶ディスプレイ、ケース、バッテリー搭載のM5Stack (エムファイブスタック)、基板に最低限の電子部品を取り付けたシンプルなワンボードマイコンのArduino(アルデュイーノ)といった人気のIoTマイコンもご紹介します。デバイスをすでにお持ちで使い始めていない方から、これから購入を考える方まで、役立つ内容です。ご参加お待ちしています!
― ソラコム松下 (Max / Twitterのフォローはお気軽に!)