【前文】
64bit kernel に差し替えるとなると、ソースを取得しビルドして……と、初学者には少々敷居が高いイメージがある。
しかし現在、テスター向け最新 64bit kernel は簡単に導入できるよう設定されているとのことで試してみた。
2022/03/09 追記
念の為追記。現在 64bit版Raspberry Pi OS は正式公開されています。
Operating system images – Raspberry Pi
【環境】
Pi | OS | microSDカード |
---|---|---|
4B 4G | Raspbian Buster with desktop September 2019 |
M203(TOSHIBA 32G) |
自分の場合、既存の microSDカードのイメージバックアップを取り、それを新しい microSDカードに書き戻し(つまりクローンし)、それに対して 64bitカーネル化することにした。
【お約束】
kernel を差し替えたら、起動さえしなくなったということもあるのでバックアップ必須。kernel を元に戻す手段は用意されていない。(最新の安定板kernel を再インストールすることはできるが、それが以前のものと同じ保証はどこにもないから)
【手順】
1. 現在のカーネルのバージョン等を確認
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux
armv7l
つまり 32bit kernel であることが分かる。
2. 最新のテスト版kernel にアップデート
rpi-update
コマンドを実行する。
pi@raspberrypi4:~ $ sudo rpi-update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
*** Relaunching after update
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** We're running for the first time
*** Backing up files (this will take a few minutes)
*** Backing up firmware
*** Backing up modules 4.19.75-v7l+
#############################################################
WARNING: 'rpi-update' updates to pre-releases of the linux
kernel tree and Videocore firmware.
'rpi-update' should only be used if there is a specific
reason to do so - for example, a request by a Raspberry Pi
engineer.
DO NOT use 'rpi-update' as part of a regular update process.
##############################################################
Would you like to proceed? (y/N)
*** Downloading specific firmware revision (this will take a few minutes)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 168 0 168 0 0 323 0 --:--:-- --:--:-- --:--:-- 322
100 115M 100 115M 0 0 3878k 0 0:00:30 0:00:30 --:--:-- 3895k
*** Updating firmware
*** Updating kernel modules
*** depmod 4.19.86-v7l+
*** depmod 4.19.86-v8+
*** depmod 4.19.86-v7+
*** depmod 4.19.86+
*** Updating VideoCore libraries
*** Using HardFP libraries
*** Updating SDK
*** Running ldconfig
*** Storing current firmware revision
*** Deleting downloaded files
*** Syncing changes to disk
*** If no errors appeared, your firmware was successfully updated to fcf277b30e7c69d90df0f067074771e995e467d8
*** A reboot is needed to activate the new firmware
無事更新された模様。
通常のアップデート作業でこのコマンドを使ってはいけない、といった文言も見えますね。取扱注意。
3. config.txt 編集
arm_64bit=1
を一行追記。
pi@raspberrypi4:~ $ sudo vi /boot/config.txt
(中略)
#
arm_64bit=1
"/boot/config.txt" 71 lines, 898964 characters written
echo "arm_64bit=1" >> /boot/config.txt
とかの方が Linux っぽいかな?
4. 再起動
pi@raspberrypi4:~ $ sudo reboot
無事起動したら kernel のバージョン確認。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.86-v8+ #1283 SMP PREEMPT Fri Nov 29 18:43:33 GMT 2019 aarch64 GNU/Linux
aarch64
とあるので 64bit kernel であることが確認できる。
【雑感】
kodi ぐらいしか動かしていないけど、ライトな使用なら問題は無さそう。
少し驚いたのが、動画を連続で再生する際の、動画の切れ目の待ち時間(タイムラグ)が体感で分かる程、短くなったこと。この箇所の待ち時間はネットワークの問題(Wi-Fi接続だから遅い)と思っていたので驚いた。速くなるんだね。
但し、1~2日連続で起動していると、視聴していない間は動画を一時停止、停止していても、 kodi がフリーズする。長時間の稼働にはまだまだ不安定な要素があるみたい。
公式フォーラムにも kodi の問題はちょくちょくアップされているので、改善されていくことでしょう。
今まで気に留めたことも無かったけど、/boot
配下を確認。
pi@raspberrypi4:~ $ ls -la /boot
合計 52915
drwxr-xr-x 4 root root 3584 1月 1 1970 .
drwxr-xr-x 22 root root 4096 12月 11 21:54 ..
-rwxr-xr-x 1 root root 41 12月 11 21:55 .firmware_revision
-rwxr-xr-x 1 root root 18693 11月 28 22:20 COPYING.linux
-rwxr-xr-x 1 root root 1494 11月 28 22:21 LICENCE.broadcom
drwxr-xr-x 2 root root 512 11月 29 06:31 'System Volume Information'
(中略)
-rwxr-xr-x 1 root root 5140112 12月 11 21:55 kernel.img
-rwxr-xr-x 1 root root 5418584 12月 11 21:55 kernel7.img
-rwxr-xr-x 1 root root 5751680 12月 11 21:55 kernel7l.img
-rwxr-xr-x 1 root root 13521408 12月 11 21:55 kernel8.img
(中略)
pi@raspberrypi4:~ $
カーネルのイメージファイルが確認できる。
これのバックアップを取っておけばアップデート前の状態に戻せるんじゃないの? そんな簡単な話ではないのかな。
とはいえ、kernel の不具合で壊れたり失われるファイルが出てくる可能性もあるから、全体のバックアップは必須なんでしょう。
【公式】
詳しくは公式を参照。
Pi4 64-bit raspbian kernel for testing - Focus on Pi4
PI4 64ビットraspbian カーネル用のテスト - PI4に焦点
2019年9月3日(火)午後11時56分64ビットカーネルより機能的になっている、私は
rpi-update
の一部としてそれを構築することを決めましカーネルより多くのユーザーがraspbianの下でそれをテストできるようにします。
これは最先端のテスター向けです。物事が機能しない場合があります。バックアップするか、新しいSDカードを使用することをお勧めします。
rpi-updateを使用した手動更新
rpi-update
Raspberry Piエンジニアから推奨されていない限り、使用しないでください。これは、LinuxカーネルとRaspberry Piファームウェアを現在テスト中の最新バージョンに更新するためです。したがって、Piが不安定になるか、ランダムに破損する可能性があります。
arm_64bit
ゼロ以外に設定すると、カーネルロードシステムが64ビットカーネルを想定し、プロセッサを64ビットモードで起動し、kernel8.img明示的なkernelオプションが定義されていない限り、ロードされたカーネルイメージに設定します。代わりに使用されます。すべてのプラットフォームでデフォルトは0です。注:64ビットカーネルは、圧縮されていないイメージファイルである必要があります。64ビットカーネルは、最新のファームウェアを搭載したPi4、Pi3、およびPi2B rev1.2ボードでのみ動作することに注意してください。
2019/12/20 追記
4.19.88
に上げる。引き続き様子見。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.88-v8+ #1284 SMP PREEMPT Wed Dec 11 13:57:50 GMT 2019 aarch64 GNU/Linux
2020/01/11 追記
4.19.93
に上げる。引き続き様子見。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.93-v8+ #1290 SMP PREEMPT Fri Jan 10 16:51:04 GMT 2020 aarch64 GNU/Linux
2020/01/25 追記
気のせいかもしれないけど、前回のアップデートの辺りから kodi が安定してきたような。
4.19.97
に上げる。引き続き様子見。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.97-v8+ #1293 SMP PREEMPT Wed Jan 22 17:22:12 GMT 2020 aarch64 GNU/Linux
2020/03/21 追記
かなり時間が空いてしまったけど久しぶりにアップデート。
まだ 4.19
系なんだね。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 4.19.108-v8+ #1298 SMP PREEMPT Fri Mar 6 18:15:51 GMT 2020 aarch64 GNU/Linux
2020/05/05 追記
すっかり放置気味だったけど GWだしで久しぶりにアップデート。
かなりバージョンが上がっているね。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.4.35-v8+ #1314 SMP PREEMPT Fri May 1 17:54:25 BST 2020 aarch64 GNU/Linux
ところが、kodi で音が再生されない、kodi 終了時にフリーズする現象が発生。
kodi を再インストールしても症状は改善されず。
システム起動時の syslog を確認するとエラーが発生しているっぽい。
May 5 10:55:54 raspberrypi4 kernel: [ 4.809008] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
ぐぐったところ、以下と同じ問題か?
[RPi3B+] brcmfmac driver doesn't load properly on Raspbian initrd, missing firmware files - Raspberry Pi Forums
自力で解決する気力が湧かなかったので、以前のバックアップを書き戻した(弱)。
2020/05/06 追記
公式フォーラムで質問したところ、[RPi3B+] brcmfmac driver doesn't load properly on Raspbian initrd, missing firmware files - Raspberry Pi Forums とは別問題らしく、Wi-Fi に繋がるなら対策の必要はないらしい。
しかし、kodi の関連性は不明。うーむ。
2020/06/07 追記
Raspbian が Raspberry Pi OS になってカーネルのバージョンが 4.19 だったりして、そちらはまだ試していないけど、引き続き sudo rpi-update
。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.4.44-v8+ #1320 SMP PREEMPT Wed Jun 3 16:20:05 BST 2020 aarch64 GNU/Linux
今度は kodi に問題は無さそう。何だったんだろう一体。
2020/08/16 追記
多忙でメモが残せなかったけど、前回の 5.4.44 は kodi で問題があった。
動画再生で画像が正常に表示されなかった。仕方なくイメージバックアップから以前のバージョンに戻した。
そして久しぶりに更新。今度は大丈夫っぽい。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.4.58-v8+ #1335 SMP PREEMPT Thu Aug 13 22:29:57 BST 2020 aarch64 GNU/Linux
2020/10/25 追記
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.4.72-v8+ #1356 SMP PREEMPT Thu Oct 22 13:58:52 BST 2020 aarch64 GNU/Linux
OS起動が遅くなったような。カーネルの影響であるかは不明。
いつからそうなっていたのか不明だけど、sudo rpi-update
実行時のメッセージで公式フォーラムの URL が表示されていることに今更気付く。
そっちも見ろよと。
WARNING: This update bumps to rpi-5.4.y linux tree
See: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=269769
それと kodi で再生できない(エラーを吐く)Youtube動画が出てきた。
数日前は再生できたものが突然できなくなった。
再生できない動画は決まっているが法則性は不明。
Youtube API って頻繁に更新されるからその影響か。
ネットで見つかる対応方法は一通り試し、kodi を再インストールしても解決しないので。
2020/10/27 追記
4ヶ月ほど前のイメージバックアップから書き戻したら、Youtube動画でエラーを吐く問題が直った。
kernel をアップデートしても問題なし。
考えてみれば、数日前に sudo apt-get upgrade
をかけていて、それからエラーが発生するようになった。これが原因っぽい。
何だかなぁ。
2020/11/23 追記
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.4.77-v8+ #1371 SMP PREEMPT Tue Nov 17 13:39:18 GMT 2020 aarch64 GNU/Linux
少しバージョンアップ。何が変わったのかは不明。
2021/02/15 追記
また kodi で再生できない(エラーを吐く)Youtube動画が出てきた。
最近カーネルを含め何もアップデートをかけていない。
それが原因かと思い、まずはカーネルから。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.10.14-v8+ #1401 SMP PREEMPT Mon Feb 8 14:31:24 GMT 2021 aarch64 GNU/Linux
結構上がったね。
誘導されるフォーラムも変わっているし。詳細はそっちを見てねってことで。
WARNING: This update bumps to rpi-5.10.y linux tree
See: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=288234
kodi の話はまた別の問題だったので別投稿でアップした。
kodi で Youtube動画再生時に失敗する問題 - Qiita
2021/08/01 追記
久しぶりにアップデート。
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.10.52-v8+ #1440 SMP PREEMPT Tue Jul 27 09:56:40 BST 2021 aarch64 GNU/Linux
しかしあかんやつやった。kodi でリモコン(CEC)が利かなくなる。公式にも報告が挙がっていた。
Re: Moving Linux Kernel to 5.10
今日、ラズベリーパイ4でバージョン5.10.52に更新されたカーネルを入手し、テレビが機能しなくなったCECコマンド..私のテレビは実際にはラズベリーから認識されません...カーネルを更新する前と同じケーブル..
ヘルプまたはアイデア?ありがとう
デュアルスクリーンにも問題が発生しているようで、ぐだぐだな感じ。現時点ではまだどちらも解決に至っていない模様。
次期 11(bullseye)では 64bit に対応するようだけど、大丈夫かね。
思えば 10 Buster ではグラフィックドライバが差し変わった関係で動かないアプリが続出して、kodi も暫くはまともに動かなかったし。
まだまだ様子見ですな。
2021/08/08 追記
落語の河豚鍋 みたいになっているけど、公式フォーラムでバグフィックスの報告が挙がっていた。
Re: Moving Linux Kernel to 5.10
rpi-updateでファームウェアを受信した後、cecが再び正常に動作していることを確認できます。お疲れ様でした!
pi@raspberrypi4:~ $ uname -a
Linux raspberrypi4 5.10.52-v8+ #1441 SMP PREEMPT Tue Aug 3 18:14:03 BST 2021 aarch64 GNU/Linux
pi@raspberrypi4:~ $
アップデートしたところ、#1440
から#1441
に。
確かに CEC問題が直っていた。結局何が悪かったんだろう。git のソース差分を確認するもよく分からず。
https://github.com/Hexxeh/rpi-firmware/commit/ce56fb43ea36888b94026edd1f08aea78cf32262
2022/02/07 追記
Hallo.
何故かこのページがドイツ語圏のサイトからリンクされていることに最近気が付いた。
しかし今となっては古い情報であり、公式 64bit版Pi OS を試して欲しい。
Raspberry Pi OS with desktop(64bit)2022-01-28
Raspberry Pi OS Lite(64bit)2022-01-28
2022/03/09 追記
念の為追記。現在 64bit版Raspberry Pi OS は正式公開されています。
Operating system images – Raspberry Pi