毎度一馬力です。今回はRaspberry Piのファームアップ更新の話です。
Raspberry Piを購入したら,apt-get update > apt-get upgradeを実行して パッケージを最新にすればOKと思っていたのですが、、、。
rpi-updateでファームウェア(kernel)も更新するのが正解のようです。
RaspberryPi上のドキュメントはココに書いています。 https://www.raspberrypi.org/documentation/linux/kernel/updating.md
ではでは早速更新方法の紹介。
目次
利用するコマンド rpi-update
ファームウェア(kernel)の更新には”rpi-update”コマンドを利用します。
apt-cacheコマンドでまずは内容を確認してみます。
- 確認の1
pi@raspberrypi:~ $ pi@raspberrypi:~ $ apt-cache search rpi-update rpi-update - Raspberry Pi firmware updating tool pi@raspberrypi:~ $
- 確認の2
pi@raspberrypi:~ $ pi@raspberrypi:~ $ apt-cache show rpi-update Package: rpi-update Version: 20140705 Architecture: all Maintainer: Alex Bradbury <asb@asbradbury.org> Installed-Size: 44 Depends: binutils, curl Homepage: https://github.com/asb/rpi-update Priority: extra Section: unknown Filename: pool/main/r/rpi-update/rpi-update_20140705_all.deb Size: 4408 SHA256: 4bc29751f21331bd188cf15dbba992c384b03a11fbc565b7d04ea5bd4d13d3fa SHA1: 10696c650f0aa05e142ba688a5011f1f779ebdb7 MD5sum: 066d5f0117735a7908a6b780e3edb4b7 Description: Raspberry Pi firmware updating tool Description-md5: 7b43e22c7fcdb0e9198e870e4ebf094c
rpi-updateコマンドはファームウェアをアップデートするための道具です。と。
更新前のファームウェアを確認する。
更新前に、現在のファームウェアの確認を行います。 raspberry piのファームウェアの実態はLinuxカーネルなので
“uname -a”コマンドで確認しておきます。
pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.4.21-v7+ #911 SMP Thu Sep 15 14:22:38 BST 2016 armv7l GNU/Linux
念のため,”lsb_release -a”コマンドも確認しておきます。
pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 8.0 (jessie) Release: 8.0 Codename: jessie pi@raspberrypi:~ $
更新前の一馬力のラズパイは
"Linux raspberrypi 4.4.21-v7+"
でした。
ファームウェアの更新
それでは実際のファームウェアの更新。
更新は”sudo”の利用が必要です。
コマンドは”sudo rpi-update"
pi@raspberrypi:~ $ sudo rpi-update *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom *** Performing self-update % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12022 100 12022 0 0 21384 0 --:--:-- --:--:-- --:--:-- 21429 *** 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.4.21-v7+ This update bumps to rpi-4.4.y linux tree Be aware there could be compatibility issues with some drivers Discussion here: https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=144087 ############################################################## *** 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 204 0 --:--:-- --:--:-- --:--:-- 204 100 51.7M 100 51.7M 0 0 267k 0 0:03:18 0:03:18 --:--:-- 234k *** Updating firmware *** Updating kernel modules *** depmod 4.4.23-v7+ *** depmod 4.4.23+ *** 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 840a496a84e9e76ee3aef42918eecac06bd7f610 *** A reboot is needed to activate the new firmware
これでファームウェアの入替えは完了。
コマンドの実行結果にいも書いていますが 反映には再起動が必要です。
再起動
ファームウェアの更新が終わったら再起動です。 再起動は”sudo shutdown -r now”コマンドで行いました。
pi@raspberrypi:~ $ pi@raspberrypi:~ $ sudo shutdown -r now Connection to raspberrypi.local closed by remote host. Connection to raspberrypi.local closed.
起動までしばらく待ちます。
更新の確認
更新後,ファームウェアの入替えが行われている事を確認します。
pi@raspberrypi:~ $ pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 8.0 (jessie) Release: 8.0 Codename: jessie pi@raspberrypi:~ $ pi@raspberrypi:~ $ pi@raspberrypi:~ $
無事にファームウェアが更新されて
Linux raspberrypi 4.4.23-v7+
に更新された事が確認でしました。
参考
参考としてファームウェア更新で何が変更になったのか 履歴を確認してみます。
更新履歴はGitHubで確認できます。 ファームウェア更新で新規のデバイスが利用できるようになったり,バグ対応が行われているようですね。
ラズパイに新しいデバイスを接続する場合 事前に”sudo rpi-update”を実行する事をおすすめします。
Linux raspberrypi 4.4.21-v7+ #911 > Linux raspberrypi 4.4.22-v7+ #912
- Githubの情報 https://github.com/raspberrypi/firmware/commit/91c30e0181e1cee0281133d630ebe5e9d4e00615#diff-b62955b0c83a90df59ef23bda53dce36
kernel: Bump to 4.4.22 kernel: Allo Piano DAC boards: Initial 2 channel (stereo) support See: raspberrypi/linux#1645 kernel: Correct typos in spi-gpio35-39-overlay.dts See: raspberrypi/linux#1651 kernel: drm/vc4: Enable limited range RGB output with CEA modes kernel: brcmfmac: Change stop_ap sequence
Linux raspberrypi 4.4.21-v7+ #912 > Linux raspberrypi 4.4.23-v7+ #913
- Githubの情報
kernel: Bump to 4.4.23 kernel: Add Adafruit pitft35 touchscreen support See: raspberrypi/linux#1657 firmware: resize: Add a queue of input images to avoid dropped frames with opaque input firmware: resize: Set the direct_input flag when using mmal opaque mode firmware: arm_loader: Restrict automatic loading to LOWMEM See: raspberrypi/linux#1641 firmware: RaspiVid: Make open_filename() unified for all outputs (video, imv, pts) See: raspberrypi/userland#338
まとめ
以上です。
試した環境
Raspberry Pi 3 Model B Pi 3 Starter Kit 32GB [896-8660-Kit4] Raspbian pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux pi@raspberrypi:~ $ cat /proc/version Linux version 4.4.23-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #913 SMP Tue Oct 4 14:16:19 BST 2016 pi@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 8.0 (jessie) Release: 8.0 Codename: jessie