Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。 記事の転載や、基板・キットの商用利用の方は、ご連絡ください。学生やサークルの学習目的でまとめてご購入する場合は特別価格でご提供させていただきます。
無料ブログはココログ

スポンサー

« 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド  | トップページ | 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル »

2024年10月 9日 (水)

RaspberryPi 5 の公式OSは32bit版でも64bit?

Pi4、Pi5とでOS周りを調べているのですが、公式サイトのビルド情報にもPi5の32bitが書かれておらず、ちょっと疑問に思っていました。

Pi5_os_02

という訳で、RaspberryPi OS Lite の32bit版をダウンロードしてSDカードに書き込んで実際に起動してみました。

 

Pi5に挿して起動。

Pi5_os_01

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux

aarch64 というのが64bit kernelを使っている証拠になります。

 

では、同じSDカードをそのまま、Pi4に挿して起動してみましょう。

Pi4_os_00

そんな馬鹿な・・・  

 

/boot/firmware/config.txtに「arm_64bit=0」を追記してみました。

Pi4_os_01

こんな感じで [all]の所に記載。

 

再起動してみると、見事に32bit kernelが起動しました。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v7l #1 SMP Raspbian 1:6.6.31-1+rpt1 (2024-05-29) armv7l GNU/Linux

 

では、このSDカードを Pi5に戻して起動してみましょう。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux

 

やはり64bitです。

 

 

これではっきりしましたね。

Pi5_os_00

32bit版のRaspberryPi OS LiteのSDカードのには4つのkernel.imgが入っています。

 kernel8.img :Pi2~5、Zero2(Cortex-A53、A72、A76)の 64bit kernel 

 kernel.img  :初代Piと初代Zero(ARM11)用 32bit kernel

 kernel7.img :Pi2、Pi3、Zero2 (Cortex-A7、A53)用 32bit kernel

 kernel7l.img :Pi4(Cortex-A72)用 32bit kernel

 

です。

 


ついでなので、Pi3と同じCPUの Pi Zero2 にもこのSDカードを挿して起動してみましょう。

Acrylic_zero2_yellow

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v7 #1 SMP Raspbian 1:6.6.31-1+rpt1 (2024-05-29) armv7l GNU/Linux

 

32bitですね。 

 

 

/boot/firmware/config.txtに「arm_64bit=0」をコメントアウトしてみました。

arm_64bit=1 で 64bit指定

arm_64bit=0 で 32bit指定

何も指定していないと、Pi4では64bitが起動していましたから、Pi Zero2(Pi3)ではどうかな?

 

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v7 #1 SMP Raspbian 1:6.6.31-1+rpt1 (2024-05-29) armv7l GNU/Linux

32bitがデフォルトなようです。

 

arm_64bit=1 で 64bit指定すると

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.31-1+rpt1 (2024-05-29) aarch64 GNU/Linux

ちゃんと64bitになりました。

初代 Pi Zero(初代Pi)は32bitのarm11なので当然ながら32bitです。

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 6.6.31+rpt-rpi-v6 #1 Raspbian 1:6.6.31-1+rpt1 (2024-05-29) armv6l GNU/Linux

 

 

まとめると、32bit版のRaspberryPi OS Lite は

 Pi5:常に64bit

 Pi4:デフォルトは64bit(arm_64bit=0 で 32bitも起動できる)

 Pi Zero2(Pi3):デフォルトは32bit (arm_64bit=1 で 64bitも起動できる)

 Pi、Pi Zero(ARM11):常に32bit (arm_64bit=1 指定すると不起動)

 

 

Pi2は片付けてしまったので未調査です。あしからず。 勝手な予想ではPi3と同じ挙動になるような気がします。

 

« 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド  | トップページ | 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル »

Raspberry Pi」カテゴリの記事

コメント

たかじんさん、浅草以来ご無沙汰してます。Open Audio Labの鈴木です。
Pi5のサポートはBookwormからと思うのですが、32bit版 Raspberry Pi OSでもPi4ではカーネルがaarch64になるのはBullseyeのKernel 6.1以降です。32bit版OSでは、カーネルは64bitでもライブラリ等は32bitが提供されているので、64bitカーネル上でアプリは32bit空間で動くようです。Pi5/Pi4にMPDなどをインストールする場合は64bit版OSを使った方が良いようです。MPDのインストール手順の「3.2 kaliko’s repositoriesから最新のMPDをインストールする方法」に備忘録としてメモを書いておきました。
参照先: www.openaudiolab.com/install-mpd/jp/
メモ:uname -aではなく、getconf LONG_BITで32bit/64bitを判断する理由。uname -a でarmv7lと表示されたら32bitカーネル、aarch64と表示されたら64bitカーネルです。Raspberry Pi OS Lite (32-bit) を Raspberry Pi 3B+で起動するとuname -mはarmv7lと表示します。しかし同じmicroSDカードでRaspberry Pi 4Bで起動するとuname -m はaarch64になります。Pi 4では config.txtに arm_64bit=0 という行を追加して明示的に64bitはOFFと指定して起動しないかぎりは64bitカーネルになります。BullseyeのKernel 6.1でこの変更が行われました。
 64bitカーネルでもRaspberry Pi OS Lite (32-bit)にはarm64版 MPD Backportはインストールできません。Raspberry Pi OS Lite (32-bit) Bookwormには、armhf版 MPD Backportをインストールしてください。またarm_64bit=0で32bitカーネルとして起動した場合はCMA領域とvmallocヒープ領域などが競合して支障が出る場合があります。Raspberry Pi 4BではRaspberry Pi OS Lite (64-bit)で起動し、arm64版 MPD Backportをインストールするのが無難です。

鈴木さん

お久しぶりです。 鈴木さんのwebサイトはmpd設定のときにhitして参考にさせて頂きました。

aptでinstallできるMPDでも音はでるのですが、やはり64bit版が望ましいのですね。
キタムラデザインさんのMUTEでinstallするのが手っ取り早いのかもしれませんね。

さすがお詳しいですね。私もまだまだ勉強不足です。

CPUに応じて、自動でkernelが選択されているところと、ラズパイ公式で32bitOS、64bitOSが提供されているところ、そして、32bit版でも64bit kernelが起動しているところとか・・・  
OSの64bit移行時期ということもあってややこしくなっているように感じました。

getconf LONG_BIT コマンドは知りませんでした。 32/64と明確に答えてくれるんですね。

たかじんさん、

> aptでinstallできるMPDでも音はでるのですが、やはり64bit版が望ましいのですね。

すみません。部分的に引用したので誤解を与えてしまったかも知れません。

懸念があるのは、Pi4/Pi5で、32bit版 Raspberry Pi OS を、arm_64bit=0と設定して32bitカーネルで起動した場合です。これは、やらない方が良いでしょう。

「arm64版 MPD Backportをインストールするのが無難です。」というのは、kaliko’s repositoriesからMPDをインストールする場合です。

普通に apt install で MPDをインストールすること自体は、特に懸念はありません。ただPi4/Pi5に関しては特別な理由がない限りは64bit版 Raspberry Pi OSを使う方が無難と思います。

ご指摘のように移行期なのでややこしいと思います。キタムラデザインさんのMUTEは、このへんのややこしさを吸収してくれますね。

Pi5対応に関しては2024-07-04版で良くなっていると思いますので、時間のある時に再検証して「MPDのインストール」をもう少しシンプルに書き直したいと思います。

すずきさん

> 懸念があるのは、Pi4/Pi5で、32bit版 Raspberry Pi OS を、arm_64bit=0と設定して
> 32bitカーネルで起動した場合です。これは、やらない方が良いでしょう。

なるほど。 カーネルは64bit、ライブラリが32bitになっている可能性がありますしね。

> kaliko’s repositoriesからMPDをインストール

こちらは、試したことありませんでした。 debパッケージで提供されているんですね。 MPDを自分でコンパイルするより手軽そうです。

https://kaliko.me/posts/2024/04/mpd-02315-backports/

ここか・・・ MPD 0.23.15

コメントを書く

(ウェブ上には掲載しません)

« 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド  | トップページ | 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル »

サイト内検索(new)

2025年3月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31