Raspberry Pi OS bullseye がリリースされていたので手元のRaspberry Pi 3 model B のOS をbuster からbullseye にアップグレードしてみました.
タグ: RaspberryPi
Raspberry Pi の OSイメージを書き込む Raspberry Pi Imager v1.6 の新機能で書き込み時にカスタマイズ
Raspberry Pi で利用するストレージへのOSイメージ書き込みツールのRaspberry Pi Imagerの最新版のv1.6がリリースされたようです.
自分は出た当初少し試しただけで他のツールに比べて嬉しいことがあまりないと感じたので使っていなかったのですが,このv1.6ではイメージのカスタマイズ機能が入ったようなので試してみました.
Raspberry Pi Imagerの導入
$ sudo apt install rpi-imager
Raspberry Pi OSであればパッケージが存在するのでこれを導入すればokです.
Linux/Windows/macOSはGitHubのreleaseページから入手できます.
若しくは,Raspberry Pi downloadsページにもあります.こちらだとGutHubとファイル名が違いますがamd64の.debをdiffしてみると同じもので署名ファイルもあります..AppImageもありますが試してみると最新ではないようでした.
$ wget https://github.com/raspberrypi/rpi-imager/releases/download/v1.6/rpi-imager_1.6_amd64.deb (1)
$ wget https://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb https://downloads.raspberrypi.org/imager/imager_1.6_amd64.deb.sig (2)
$ diff ./imager_1.6_amd64.deb ./rpi-imager_1.6_amd64.deb (3)
$ gpg2 --verify ./imager_1.6_amd64.deb.sig (4)
gpg: assuming signed data in './imager_1.6_amd64.deb'
gpg: Signature made Tue 16 Mar 2021 08:56:51 PM JST
gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C
gpg: Good signature from "Raspberry Pi Downloads Signing Key" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C
$ gpg2 --verify ./imager_1.6_amd64.deb.sig ./rpi-imager_1.6_amd64.deb
gpg: Signature made Tue 16 Mar 2021 08:56:51 PM JST
gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C
gpg: Good signature from "Raspberry Pi Downloads Signing Key" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C
$ sudo apt install ././imager_1.6_amd64.deb (5)
- GitHubからダウンロード
- downloads.raspberrypi.orgからダウンロード
- ファイル名は違うけど同じ内容なのを確認
- 署名確認
- インストール
Debian sid amd64環境ではAppImageが古いので.debを導入しました.
Imagerの起動と書き込み設定
Raspberry Pi ロゴのアイコンの「Imager」や, rpi-imager
を実行すると起動します.
ここで,「ctrl + shift + x」を押すことで今回のカスタマイズ用の拡張オプション画面が表示されます.
今回はhostnameの修正,SSHの有効化,ssh公開鍵の登録,Wi-Fi 設定,タイムゾーンの設定を行いました.
「SAVE」して「RASPBERRY PI OS LITE (32-BIT)」を書き込んでみました.
書き込みが終了しても1つ目のパーティション(/boot)がマウントされたままでした.これはバグかな?(1回しか試していないので勘違いかもしれない)
$ mount | grep /dev/mmcblk0p1 (1)
/dev/mmcblk0p1 on /media/matoken/boot type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
$ sudo umount /dev/mmcblk0p1 (2)
- 1つ目のパーティションがマウントされたまま
- アンマウントする
カスタマイズ内容確認
書き込まれたメディアの中を見ると /boot/firstrun.sh
が作成されていました.Raspberry Pi Imagerは直接設定を書き換えるわけではなく,OSイメージを書き込んだあと子のファイルを作って,Raspberry Pi OSの初回起動時にこのscriptを実行して設定を反映していくようです.
#!/bin/bash
set +e
CURRENT_HOSTNAME=`cat /etc/hostname | tr -d " \t\n\r"`
echo raspberrypi-custom >/etc/hostname
sed -i "s/127.0.1.1.*$CURRENT_HOSTNAME/127.0.1.1\traspberrypi-custom/g" /etc/hosts
FIRSTUSER=`getent passwd 1000 | cut -d: -f1`
FIRSTUSERHOME=`getent passwd 1000 | cut -d: -f6`
install -o "$FIRSTUSER" -m 700 -d "$FIRSTUSERHOME/.ssh"
install -o "$FIRSTUSER" -m 600 <(echo "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgwY9aZPxN/YoBBzd7TOcCk7EuGO0E9PuUjCHPtTuHP mk@x220") "$FIRSTUSERHOME/.ssh/authorized_keys"
echo 'PasswordAuthentication no' >>/etc/ssh/sshd_config
systemctl enable ssh
cat >/etc/wpa_supplicant/wpa_supplicant.conf <<WPAEOF
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=1
update_config=1
network={
ssid="matoken"
psk="○○○○○○○○○○○○"
}
WPAEOF
chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf
rfkill unblock wifi
for filename in /var/lib/systemd/rfkill/*:wlan ; do
echo 0 > $filename
done
rm -f /etc/xdg/autostart/piwiz.desktop
rm -f /etc/localtime
echo "Asia/Tokyo" >/etc/timezone
dpkg-reconfigure -f noninteractive tzdata
cat >/etc/default/keyboard <<KBEOF
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS=""
KBEOF
dpkg-reconfigure -f noninteractive keyboard-configuration
rm -f /boot/firstrun.sh
sed -i 's| systemd.run.*||g' /boot/cmdline.txt
exit 0
ちょっと雑かなと感じるところもありますが便利な感じです.
( /etc/wpa_supplicant/wpa_supplicant.conf
は wpa_passphrase
コマンドを通してpskにしておきたいとか)
自分はsd card書き込み前にPCでマウントしてパッケージを最新にしたりインストールしたりといったことをしているので,sd card書き込みをしなくてもこのファイルを書き出してくれると嬉しいかなと思いました.
アンインストール
$ sudo apt purge rpi-imager
$ rm -r ~/.config/Raspberry\ Pi/Imager.conf ~/.cache/Raspberry\ Pi/Imager
パッケージを削除して,設定ファイルとキャッシュを削除しました.
環境
$ dpkg-query -W rpi-imager
rpi-imager 1.6
$ lsb_release -dr
Description: Debian GNU/Linux bullseye/sid
Release: unstable
$ uname -m
x86_64
Raspberry Pi OS armhfでWidevineDRMビデオを観られるようになったので試す
Raspberry Pi OS armhfに libwidevinecdm0
パッケージが入ったようです.Raspberry Pi 3 Model Bでも動作したのでメモしておきます.
libwidevinecdm0
パッケージはWidevineというDRM付きコンテンツを閲覧するためのパッケージです.
Widevineは結構あちこちで見かけます.siteには以下のようなサービスが載っていました.
まずWidevineに非対応な状態でNetflixのコンテンツを閲覧しようとするとこのようなエラーになります.
Note
|
Netflixの会員じゃなくても次で試せます. TV番組・ドラマを無料で視聴 | Netflix お試し無料配信 |
ここで libwidevinecdm0
パッケージを導入してChromiumを起動しなおせばOKなはずですがうまく行きません.
chrome://components/
を見ても Widevine
が出てきません.
https://bitmovin.com/demos/drm にアクセスしてみると, Detected , using No DRM
と表示されDRMが使えないようです.
Raspberry Pi 4 Model B/400以外の事例が見当たらないのでもしかして何らかの要件が足りなくてRaspberry Pi 4 より前のバージョンでは動かないのかな?とか思ったのですが,もう少し調べるとRaspberry Pi OSのChromiumには chromium
と chromium-browser
の2つのパッケージがあるようです.
$ apt show chromium
Package: chromium
Version: 88.0.4324.146-1~deb10u1
Priority: optional
Section: web
Maintainer: Debian Chromium Team <chromium@packages.debian.org>
Installed-Size: 114 MB
Provides: gnome-www-browser, www-browser
Depends: libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatomic1 (>= 4.8), libatspi2.0-0 (>= 2.9.90), libavcode
c58 (>= 7:4.0), libavformat58 (>= 7:4.1), libavutil56 (>= 7:4.0), libc6 (>= 2.28), libcairo2 (>= 1.6.0), libcups2 (>= 1.7.0), libdbus-1-3 (>= 1.9
.14), libdrm2 (>= 2.4.38), libevent-2.1-6 (>= 2.1.8-stable), libexpat1 (>= 2.0.1), libflac8 (>= 1.3.0), libfontconfig1 (>= 2.12.6), libfreetype6
(>= 2.3.9), libgbm1 (>= 17.1.0~rc2), libgcc1 (>= 1:4.0), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.19.12), libha
rfbuzz0b (>= 2.2.0), libicu63 (>= 63.1-1~), libjpeg62-turbo (>= 1.5.0), libjsoncpp1 (>= 1.7.4), liblcms2-2 (>= 2.2+git20110628), libminizip1 (>=
1.1), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libopenjp2-7 (>= 2.2.0), libopus0 (>= 1.1), libpango-1.0-0 (>= 1.14.0), libpng16-16 (>= 1.6.2-
1), libpulse0 (>= 0.99.1), libre2-5 (>= 20160901), libsnappy1v5, libstdc++6 (>= 7), libvpx5 (>= 1.6.0), libwebp6 (>= 0.5.1), libwebpdemux2 (>= 0.
5.1), libwebpmux3 (>= 0.6.1-2), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libx
fixes3, libxml2 (>= 2.7.4), libxrandr2, libxslt1.1 (>= 1.1.25), zlib1g (>= 1:1.2.2), chromium-common (= 88.0.4324.146-1~deb10u1)
Recommends: chromium-sandbox
Suggests: chromium-l10n, chromium-shell, chromium-driver
Conflicts: libgl1-mesa-swx11, libnettle4, libsecret-1-0 (<< 0.18)
Breaks: chromium-lwn4chrome (<= 1.0-2), chromium-tt-rss-notifier (<= 0.5.2-2)
Homepage: http://www.chromium.org/Home
Download-Size: 48.9 MB
APT-Sources: http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages
Description: web browser
Web browser that aims to build a safer, faster, and more stable internet
browsing experience.
.
This package contains the web browser component.
$ apt show chromium-browser
Package: chromium-browser
Version: 88.0.4324.187-rpt1
Priority: optional
Section: web
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Installed-Size: 329 MB
Provides: chromium, chromium-browser-inspector, www-browser
Pre-Depends: dpkg (>= 1.15.6)
Depends: libasound2 (>= 1.0.16), libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.18), libcairo2 (>=
1.6.0), libcups2 (>= 1.7.0), libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.38), libexpat1 (>= 2.0.1), libgbm1 (>= 17.1.0~rc2), libgcc1 (>= 1:4.3), li
bgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.4), libgtk-3-0 (>= 3.21.5), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libpango-1.0-0 (>= 1
.14.0), libx11-6 (>= 2:1.4.99.1), libxcb1 (>= 1.9.2), libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxkbcommon0 (>
= 0.5.0), libxrandr2, libxtst6, bash (>= 4), xdg-utils, chromium-codecs-ffmpeg-extra (= 88.0.4324.187-rpt1) | chromium-codecs-ffmpeg (= 88.0.4324
.187-rpt1), libraspberrypi0, libgl1-mesa-dri
Recommends: chromium-browser-l10n
Suggests: webaccounts-chromium-extension, unity-chromium-extension, adobe-flashplugin
Conflicts: chromium, chromium-browser-inspector
Replaces: chromium, chromium-browser-inspector
Homepage: https://chromium.googlesource.com/chromium/src/
Download-Size: 103 MB
APT-Manual-Installed: no
APT-Sources: http://archive.raspberrypi.org/debian buster/main armhf Packages
Description: Chromium web browser, open-source version of Chrome
An open-source browser project that aims to build a safer, faster, and more
stable way for all Internet users to experience the web.
そしてうまく行かなかったのは chromium
でした.
chromium-browser
を入れて(排他なので chromim
パッケージは削除される)再度試すと,chrome://components/
に Widevine
が現れて,
https://bitmovin.com/demos/drm にアクセスしてみると, Detected , using widevine
と表示されるようになりNetflixのコンテンツも閲覧できました.
Note
|
攻殻機動隊 SAC_2045 より.なんだかOPがPortal感 |
ということで,Raspberry Pi 3 Model B + Raspberry Pi OS armhf でも libwidevinecdm0
パッケージと chromium-browser
パッケージを導入することでWidevineのDRMコンテンツが観られるようになりました :)
(DRMなしで閲覧できたほうが嬉しいですが)
$ sudo apt update
$ sudo apt install chromium-browser libwidevinecdm0
$ chromium-browser &
$ dpkg-query -W chromium-browser* libwidevinecdm0
chromium-browser 88.0.4324.187-rpt1
chromium-browser-inspector
chromium-browser-l10n 88.0.4324.187-rpt1
libwidevinecdm0 4.10.1679.0-1
$ lsb_release -dr
Description: Raspbian GNU/Linux 10 (buster)
Release: 10
$ uname -m
armv7l
$ cat /proc/device-tree/model ;echo
Raspberry Pi 3 Model B Rev 1.2
Raspberry Pi の温度管理をソフトウェアで頑張る
この記事は日本Androidの会秋葉原支部ロボット部 Advent Calendar 2020 の12/07分の記事です.
内容は 日本Androidの会秋葉原支部ロボット部 第96回勉強会 で発表した内容を加筆修正したものです.
はじめに
Raspberry Pi という英国発の教育向けとして2012年に発売された安価なシングルボードコンピュータがあります.教育向けとして発売されましたが趣味にもよく使われています.OSは標準ではLinux(DebianベースのRaspberry Pi OS)が採用されています.
私はもっぱら省電力のLinuxマシンとして使うことが多いです.
トラブル
今夏空調のない部屋の自宅サーバの横でRaspberry Pi 3 model B + Raspberry Pi OS arm64(β)で計算をさせていたのですが,しばらく動かしていると固まるようになりました.
再起動すればしばらく動きますがしばらくするとやはり固まります.これをどうにか出来ないかと調べてみました.
ログの取得
まずはログを録ってみます.
* * * * * printf "`date +\%s`,`cat /sys/class/thermal/thermal_zone0/temp`,`echo "obase=2; ibase=16; \`vcgencmd get_throttled | cut -f2 -dx\`" | bc`,`vcgencmd measure_clock arm|cut -f2 -d=`\n" >> ~/.temp.log
内容はこんな感じです.(外気温度も録ればよかった)
- UNIX Time
date +%s
- SoC温度
/sys/class/thermal/thermal_zone0/temp
- スロットリング周りのフラグ
vcgencmd get_throttled
- arm周波数
vcgencmd measure_clock arm
ログがファイルに書かれる間にフリーズしてデータが失われるのを防ぐために /etc/fstab
のマウントオプションに sync
オプションも付けておきます.(再起動かremountで反映)
ログを取得している状態で負荷を掛けます.今回は /dev/urandom
をcatすることで計算させました.今回のRaspberry Pi 3 model Bは4coreあるので4つ動かしています.
$ cat /dev/urandom > /dev/null & $ cat /dev/urandom > /dev/null & $ cat /dev/urandom > /dev/null & $ cat /dev/urandom > /dev/null &
熱が原因?
しばらく動かしてRaspberry Piが固まった後にログを確認してみます.
SoCの温度が85度を何度か記録した後に固まっているようです.
85度というのはRaspberry Pi OSでの標準のSoC制限温度のようです.この温度の5度前(標準では80度)からサーマルスロットリングが始まるようです.
サーマルスロットリングでクロックが下がって温度が下がれば問題無さそうだけど80度からクロックが下がっても85度を超えて固まってしまっているようです.
ベータ版のRaspberry Pi OS amd64を使っているせいかもしれないと思い,標準のRaspberry Pi OS armhf(32bit)版に変更して同様に試してみましたが同様の動きのようです.
正攻法としてはヒートシンク,ファンの増設や空調を入れるとよさそうですが,金欠なのでとりあえずソフトだけでどうにか出来ないかと試しました.
SoC制限温度を下げる
まずSoCの制限温度ですが,公式フォーラムで70度以下にしたほうがいいという書き込みを見かけました.逆に100度でも大丈夫という人も居るのですが安全側の70度にしてみます.
この設定は /boot/config.txt
でパラメータを設定できます.以下は70度に設定たときの例です.この状態で再起動すると反映されます.
temp_limit=70
再起動後以下のコマンドで設定が反映されているか確認が出来ます.
$ vcgencmd get_config int | grep ^temp_limit= temp_limit=70
この状態で負荷を掛けると70度を越えるくらいで固まりました.やはり制限温度を越えると固まってい舞うようです.
SoCの最大周波数を下げてみる
Raspberry Pi 3 model B のSoCは最大周波数1.2GHzです.これを下げてみます.
/boot/config.txt
の arm_freq=
で設定できます.以下は800MHzに設定したときの例です.再起動で反映されます.
arm_freq=800
再起動後に設定が反映されているか確認します.
$ vcgencmd get_config int | grep ^arm_freq= arm_freq=800
この状態で負荷を掛けるとやはり固まります.まあサーマルスロットリングが効いても固まるので仕方がない感じです.
SoCの最小周波数を下げてみる(これが効くのでは?)
次にSoC最小周波数を下げてみます.既定値は600MHzで,サーマルスロットリングでもここまで下がっているのでこれを更に下げると温度が下がりそうな気がします.
/boot/config.txt
の arm_freq_min=
で設定できます.以下は400MHzに設定したときの例です.再起動で反映されます.
arm_freq_min=400
しかし再起動後に確認してみると600MHzより下には設定できないみたいで600MHzになってしまいます.
$ vcgencmd get_config int | grep ^arm_freq_min= arm_freq_min=600
この状態で負荷を掛けるとやはり600Mhzまでしか下がらず固まります.
残念ながらRaspberry Pi のスロットリングでは無理そうです.
maxcpusでコアを制限してみる
Linuxのブートパラメータで maxcpus
を指定することでコアを制限できます.Raspberry Pi の場合は /boot/cmdline.txt
で設定できます.
設定後以下のコマンドで確認できます.
$ grep -o -E 'maxcpus=.{0,9} ' /proc/cmdline maxcpus=1 $ grep ^processor /proc/cpuinfo | wc -l 1
これでCPU core1津で動作しています.しかし最大周波数を600MHzかつ1coreでも同様にフリーズしてしまいました.
cpufreqでクロック制御
IntelCPUのNotePCなどではcoufreqを使ってこのあたりの制御をするのですが,これでも600mHzより下には下げられないようで駄目でした.
LimitCPUで指定プロセスの制限を行う
LimitCPUは指定プロセスを監視し,CPU利用率や%で制限するプログラムです.Linux, MacOS, *BSDなどのUNIX-Likesystemで利用できます.
Raspberry Pi OSではcpulimitパッケージとしてパッケージングされており,コマンドもcoulimitです.
$ sudo apt install cpulimit
cpulimitコマンドに制限したいプロセスIDやプロセス名と制限を指定することで動作します.
cat
からはじまるプロセスを50%に制限$ pgrep ^cat | xargs -n1 -I{} sh -c "cpulimit -p {} -l 50 -v &"
cpulimitで50%に制限してみたt頃温度が下がるのを確認できました.数日動かしても固まらなくなったようです.
定期的にSoCの温度を確認して制限を変更していくと良さそうでうs.
LimitCPUはCPUlimitの開発が止まった後のフォークですが,その後CPUlimitが新しく開発が始まっているようです.詳細は以下のページを参照してください.
cgroupでCPUリソース制限(未確認)
LimitCPUが効いたので恐らくcgroupでのCPUリソース制限でも大丈夫そうです.(未確認)
おわりに
現在は気温も下がり制限などしなくても問題ありません.でもきっと来夏にまた起こると思うのでそこでまた確認するつもりです.
しかし,今回の解決方法はCPUのリソースを制限して温度を下げて居るので計算量は減っています.空調を入れたりCPUファンを導入するのが正攻法になるのかなと思います.
CPUファンはサードパーティーから各種発売されているのでそれらを使うかDIYする感じになると思います.
そういえば最近Raspberry Pi OSの設定コマンドの raspi-config
の中に Set behaviour of GPIO fan
というメニューが出来たり,Raspberry Pi 4には公式のCPUファンが発売されているのでこれらを使うのが良さそうです.
Raspberry Pi Model Bの8GB RAM版の発売とRaspberry Pi OS
Raspberry Pi 4 Model Bの8GB RAM版が発表.同時に発売され,日本も同時発売になったようです.
日本だと今はこのあたりでしょうか.
- Raspberry Pi 4 Model B /8GB 発売のご案内 – Raspberry Pi Shop by KSY 8,200円(税抜)+送料550円 → 9,570円
- スイッチサイエンス 、「Raspberry Pi 4 Model B / 8GB」を2020年5月28日に発売 | NEWSCAST
- Raspberry Pi 4 Model B / 8GB – スイッチサイエンス 10,340 円(税込送料無料)
RAM が8GB あるとデスクトップ用途がRAM を気にせず使えるようになりそうですね.後は例えばビデオミーティングアプリのJitsi Meet をRaspberry Pi でホストしている人がいたりしますが,現在は設定を少し変えて省エネ設定で動かしていますが規定値の設定で動きそうです.
そして8GBもあると気になるのが標準OSのRaspbianがarmhf(32bit)にしか対応していないところ.
別のディストリビューションを使えばarm64(b4bit)は利用できますが標準OSが非対応なのはちょっと悲しいです.
私はDebian をよく使います.
これも今回発表がありました.64bit版のベータがリリースされました.
Not to be left out, today we’ve released an early beta of our own 64-bit operating system image.
Raspbianの名前も変わり,Raspberry Pi OS
と改められるようです.
Both our 32-bit and 64-bit operating system images have a new name: Raspberry Pi OS.
新しい64bitの Raspberry Pi OS
は以下から入手できます.
ダウンロードサイトのディレクトリもraspiosが出来ています.これまでの32bitは raspios_armhf
になるようです.
$ w3m -dump https://downloads.raspberrypi.org/ | grep -E 'raspbian|raspios' [DIR] raspbian/ 2020-02-25 16:50 - [DIR] raspbian_full/ 2020-02-14 13:52 - [DIR] raspbian_lite/ 2020-02-14 13:49 - [DIR] raspios_arm64/ 2020-05-28 04:38 - [DIR] raspios_armhf/ 2020-05-28 05:27 - [DIR] raspios_full_armhf/ 2020-05-28 05:28 - [DIR] raspios_lite_armhf/ 2020-05-28 05:27 - [ ] wp-slice-raspbian 2020-05-28 07:46 1.0K
armhfのリリースノートを観るとこれまでのものに今回のバージョンが追記されていました.(64biには未だ存在しない)
$ w3m -dump https://downloads.raspberrypi.org/raspios_armhf/release_notes.txt | grep ^2020-05-27:$ -A 33 2020-05-27: * Added Bookshelf application * Added Raspberry Pi Diagnostics application * Added magnifier plugin to taskbar - needs magnifier application installed from Recommended Software to enable * Added Magnifier application to Recommended Software * Added marketing questionnaire as initial Chromium tab * Version 0.25 of Scratch 2 included - uses external application to access IMU on SenseHAT * Version 1.0.5 of Scratch 3 included - uses external application to access IMU on SenseHAT * Version 32.0.0.371 of Flash player included * Version 1.0.6 of Node-RED included * Version 6.7.1 of VNC Server included * Version 6.20.113 of VNC Client included * Internal audio outputs enabled as separate ALSA devices * MagPi preinstall removed and replaced with Beginner’s Guide * MagPi weblink removed from main menu * Chromium made default application for PDF files * Common icon loading code for lxpanel plugins used * Italian translations added * Initial move of mouse pointer to menu button disabled * Padding at left of menu button removed * Focus behaviour changed so that focus moves to desktop if no windows are opened - improves reliability of Orca screen reader * Bug fix - focus bug in volume plugin * Bug fix - keyboard repeat interval bug in Mouse & Keyboard Settings * Bug fix - battery detection bug in battery plugin * Bug fix - spurious active areas on taskbar when plugins are hidden * Bug fix - occasional crash in file manager on file selection * Disk ID is now regenerated on first boot * Updated udev rules - Remove unused argon rule - Add vcsm-cma to video group - Add pwm to gpio group * i2cprobe: More flexible I2C/SPI alias mapping * Raspberry Pi firmware 21e1fe3477ffb708a5736ed61a924fd650031136 * Linux kernel 4.19.118
Raspberry Pi の Download ページを観るとここもアップデートされていました.
Raspberry Pi OS (previously called Raspbian) is our official operating system for all models of the Raspberry Pi.
この64bit beta版はRaspberry Pi 3 と 4 で動作するようです.(2 v1.2でも多分動く)
Note, the 64bit OS is only install-able on the Pi 3 and Pi 4 devices
ということでRaspberry Pi 3 なら持ってる!ということでダウンロードしてみました.
$ wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip.sha256 https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip.sig
$ sha256sum -c 2020-05-27-raspios-buster-arm64.zip.sha256
2020-05-27-raspios-buster-arm64.zip: OK
$ gpg --verify ./2020-05-27-raspios-buster-arm64.zip.sig
gpg: assuming signed data in './2020-05-27-raspios-buster-arm64.zip'
gpg: Signature made Thu 28 May 2020 01:05:10 PM JST
gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C
gpg: Good signature from "Raspberry Pi Downloads Signing Key" [expired]
gpg: Note: This key has expired!
Primary key fingerprint: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C
署名の確認をすると期限切れのようです.新しい鍵を貰ってきてインポートして再度署名確認します.(ダウンロードページあたりにリンクして欲しい)
$ wget https://www.raspberrypi.org/raspberrypi_downloads.gpg.key
$ gpg ./raspberrypi_downloads.gpg.key
gpg: WARNING: no command supplied. Trying to guess what you mean ...
pub rsa2048 2017-04-10 [SC] [expires: 2021-04-21]
54C3DD610D9D1B4AF82A37758738CD6B956F460C
uid Raspberry Pi Downloads Signing Key
sub rsa2048 2017-04-10 [E] [expires: 2021-04-21]
$ gpg --import ./raspberrypi_downloads.gpg.key
gpg: key 8738CD6B956F460C: 1 signature not checked due to a missing key
gpg: key 8738CD6B956F460C: "Raspberry Pi Downloads Signing Key" 3 new signatures
gpg: Total number processed: 1
gpg: new signatures: 3
:
$ gpg --verify ./2020-05-27-raspios-buster-arm64.zip.sig
gpg: assuming signed data in './2020-05-27-raspios-buster-arm64.zip'
gpg: Signature made Thu 28 May 2020 01:05:10 PM JST
gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C
gpg: Good signature from "Raspberry Pi Downloads Signing Key" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
とりあえず良さそうです.
sd card等に書き込みます.今回dd で書きましたが,公式のRaspberry Pi Imager を使ったほうがいいかもですね.
$ time zcat ./2020-05-27-raspios-buster-arm64.zip | pv | sudo dd of=/dev/sdz bs=16M conv=fdatasync
3.46GiB 0:02:34 [22.9MiB/s] [ <=> ]
0+92723 records in
0+92723 records out
3711959040 bytes (3.7 GB, 3.5 GiB) copied, 212.594 s, 17.5 MB/s
real 3m32.613s
user 0m30.584s
sys 2m12.420s
$ sync
これを使って起動してみると普通に起動します.
$ cat /proc/device-tree/model ;echo
Raspberry Pi 3 Model B Rev 1.2
$ uname -a
Linux raspberrypi 5.4.42-v8+ #1319 SMP PREEMPT Wed May 20 14:18:56 BST 2020 aarch64 GNU/Linux
$ LC_ALL=C dpkg-architecture --print-set
DEB_BUILD_ARCH=arm64; DEB_BUILD_ARCH_ABI=base; DEB_BUILD_ARCH_BITS=64; DEB_BUILD_ARCH_CPU=arm64; DEB_BUILD_ARCH_ENDIAN=little; DEB_BUILD_ARCH_LIBC=gnu; DEB_BUILD_ARCH_OS=linux;
DEB_BUILD_GNU_CPU=aarch64; DEB_BUILD_GNU_SYSTEM=linux-gnu; DEB_BUILD_GNU_TYPE=aarch64-linux-gnu; DEB_BUILD_MULTIARCH=aarch64-linux-gnu; DEB_HOST_ARCH=arm64; DEB_HOST_ARCH_ABI=ba
se; DEB_HOST_ARCH_BITS=64; DEB_HOST_ARCH_CPU=arm64; DEB_HOST_ARCH_ENDIAN=little; DEB_HOST_ARCH_LIBC=gnu; DEB_HOST_ARCH_OS=linux; DEB_HOST_GNU_CPU=aarch64; DEB_HOST_GNU_SYSTEM=li
nux-gnu; DEB_HOST_GNU_TYPE=aarch64-linux-gnu; DEB_HOST_MULTIARCH=aarch64-linux-gnu; DEB_TARGET_ARCH=arm64; DEB_TARGET_ARCH_ABI=base; DEB_TARGET_ARCH_BITS=64; DEB_TARGET_ARCH_CPU
=arm64; DEB_TARGET_ARCH_ENDIAN=little; DEB_TARGET_ARCH_LIBC=gnu; DEB_TARGET_ARCH_OS=linux; DEB_TARGET_GNU_CPU=aarch64; DEB_TARGET_GNU_SYSTEM=linux-gnu; DEB_TARGET_GNU_TYPE=aarch
64-linux-gnu; DEB_TARGET_MULTIARCH=aarch64-linux-gnu; export DEB_BUILD_ARCH DEB_BUILD_ARCH_ABI DEB_BUILD_ARCH_BITS DEB_BUILD_ARCH_CPU DEB_BUILD_ARCH_ENDIAN DEB_BUILD_ARCH_LIBC D
EB_BUILD_ARCH_OS DEB_BUILD_GNU_CPU DEB_BUILD_GNU_SYSTEM DEB_BUILD_GNU_TYPE DEB_BUILD_MULTIARCH DEB_HOST_ARCH DEB_HOST_ARCH_ABI DEB_HOST_ARCH_BITS DEB_HOST_ARCH_CPU DEB_HOST_ARCH
_ENDIAN DEB_HOST_ARCH_LIBC DEB_HOST_ARCH_OS DEB_HOST_GNU_CPU DEB_HOST_GNU_SYSTEM DEB_HOST_GNU_TYPE DEB_HOST_MULTIARCH DEB_TARGET_ARCH DEB_TARGET_ARCH_ABI DEB_TARGET_ARCH_BITS DE
B_TARGET_ARCH_CPU DEB_TARGET_ARCH_ENDIAN DEB_TARGET_ARCH_LIBC DEB_TARGET_ARCH_OS DEB_TARGET_GNU_CPU DEB_TARGET_GNU_SYSTEM DEB_TARGET_GNU_TYPE DEB_TARGET_MULTIARCH
$ dpkg-query -l|wc -l
1308
dpkg-query -l
)$ df -m
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/root 29938 2840 25832 10% /
devtmpfs 329 0 329 0% /dev
tmpfs 457 0 457 0% /dev/shm
tmpfs 457 1 457 1% /run
tmpfs 5 1 5 1% /run/lock
tmpfs 457 0 457 0% /sys/fs/cgroup
/dev/mmcblk0p1 253 54 200 22% /boot
tmpfs 92 0 92 0% /run/user/1000
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:46:60:13 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.182/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
valid_lft 258810sec preferred_lft 226410sec
inet6 fe80::2979:45f7:e3bf:a4d9/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b8:27:eb:13:35:46 brd ff:ff:ff:ff:ff:ff
$ bluetoothctl
Agent registered
[bluetooth]# list
Controller B8:27:EB:EC:CA:B9 raspberrypi [default]
[bluetooth]# quit
Raspberry Pi 3 Model B Rev 1.2 ┌─────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├──────────┐ │ │ │ 1 Change User Password Change password for the 'pi' user │ │ 2 Network Options Configure network settings │ │ 3 Boot Options Configure options for start-up │ │ 4 Localisation Options Set up language and regional settings to match your │ │ 5 Interfacing Options Configure connections to peripherals │ │ 6 Overclock Configure overclocking for your Pi │ │ 7 Advanced Options Configure advanced settings │ │ 8 Update Update this tool to the latest version │ │ 9 About raspi-config Information about this configuration tool │ │ │ │ │ │ │ │ │ │ <Select> <Finish> │ │ │ └──────────────────────────────────────────────────────────────────────────────┘
$ pfetch/pfetch
_____ pi@raspberrypi
/ __ \ os Debian GNU/Linux 10 (buster)
| / | host Raspberry Pi 3 Model B Rev 1.2
| \___- kernel 5.4.42-v8+
-_ uptime 52m
--_ pkgs 1313
memory 203M / 913M
て感じで試し始めました.
しばらく使ってみようかと思います.
あ,余ったRaspberry Pi があったらください :p
もし問題が見つかったら以下を確認して報告すると直るかもしれません.
Raspberry Pi公式のOS書き込みソフトウェアの Raspberry Pi Imager を少し試す
Instagram の動画がわかりやすいですね.
Raspberry Pi公式のOSイメージ書き込みソフトウェアです.少し試してみました.
導入
ダウンロードページにはWindows/macOSの他 Ubuntu amd64
向けの.debへのリンクしか無いのですが, https://downloads.raspberrypi.org/imager/
にアクセスすると AppImage と .sig がありました.
どちらも amd64 なので他のArchtectureじゃ使えないようです.Raspbianのarmhf版くらいは欲しいですね.
とりあえず Ubuntu 20.04 amd64 では .deb を,Debian sid amd64 では AppImage を試してみました.
ダウンロードして署名検証して dpkg -i
で導入したのですがpkgが足りなくてエラーが出力されました.足りないパッケージは apt install -f
で導入しました.足りなかったパッケージは qml-module-qt-labs-settings
と libdleyna-core-1.0-5
でした.(環境により変わるはず)
$ wget https://downloads.raspberrypi.org/imager/imager_amd64.deb https://downloads.raspberrypi.org/imager/imager_amd64.deb.sig
$ gpg --verify ./imager_amd64.deb.sig
gpg: assuming signed data in './imager_amd64.deb'
gpg: Signature made Fri Mar 6 20:49:08 2020 JST
gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C
gpg: Good signature from "Raspberry Pi Downloads Signing Key" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C
$ sudo dpkg -i ./imager_amd64.deb
$ sudo apt install -f
$ sudo rpi-imager
ダウンロードして署名検証して実行権を付けるだけです.
$ wget https://downloads.raspberrypi.org/imager/imager_amd64.AppImage https://downloads.raspberrypi.org/imager/imager_amd64.AppImage.sig
$ gpg --verify ./imager_amd64.AppImage.sig
gpg: assuming signed data in './imager_amd64.AppImage'
gpg: Signature made Fri 06 Mar 2020 10:34:08 PM JST
gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C
gpg: Good signature from "Raspberry Pi Downloads Signing Key" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C
$ chmod +x ./imager_amd64.AppImage
$ sudo ./imager_amd64.AppImage
$ ar x ./imager_amd64.deb
$ tar xf data.tar.xz
$ sudo ./usr/bin/rpi-imager
起動
root権が必要です.一般ユーザでも起動できるのですが,書き込み時にSD cardにアクセスできないエラーが出てしまいます.
OS list 取得エラー(一時的なサーバ側の問題)
現在サーバ側でSSLの問題があり大抵以下のようなエラーになります.9回に1回の割合で成功するらしいですが,私は30回ほど試してやっとうまく行きました.数日待てば治るそうなのでしばらく待ってから試す方がいいかもしれません.
Caleb says:5th Mar 2020 at 3:32 pm
Currently giving me a “Error downloading OS list from Internet” when running it on a raspberry pi 4bAvatar Gordon Hollingworth says:5th Mar 2020 at 5:05 pm
Yes, that’s because downloads.raspberrypi.org needs its SSL stuff updated. It should happen in the next few days!Otherwise keep loading it, there’s a 1 in 9 chance you’ll get through to the server that does work!
Gordon
ちなみにOS listが取得できなくても自分でダウンロードしたイメージの書き込みやSD cardの消去は出来ます.
Imagerの起動
起動するとこんな画面です.「CHOOSE OS」でOSイメージの選択(Raspbian各種とLibreELEC),ユーティリティ,消去,カスタムが選択できます.
「CHOOSE SD CARD」でSD cardやUSBメモリなどが選択できます.
OSイメージの選択
SD card等の選択「CHOOSE SD CARD」
この画面を表示してからSD cardやUSBメモリ等を挿入するとリアルタイムに表示さるのでわかりやすいです.内蔵diskは出てきませんが,マウント中のHDDなどは出てくるので間違えないように注意しましょう.
選択できるストレージは1度に1つだけのようです.複数のメディアに書き込む場合は複数回の実行が必要です.
OSイメージ書き込み
「WRITE」ボタンを押すことで書き込みが開始されます.SecureEraseを試みてイメージ書き込み,ベリファイを行います.終わるまでしばらく待ちましょう.
自動ダウンロードしたイメージ
deb版の方は ~root/.cache/Raspberry Pi/Imager/lastdownload.cache
として 最後に利用したものだけ が残るようです.なので同じイメージであれば2回目はダウンロードせずに済みます.
別のイメージを利用すると上書きされてそのイメージになります.
AppImage は /tmp/runtime-root
以下のようなので再起動したら消えてしまいますね.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root’
# sha256sum ./lastdownload.cache
80cd38e0a576f75caaecf511970ae563c5b605896074809643aecfdc91344bcf ./lastdownload.cache
# wget http://releases.libreelec.tv/LibreELEC-RPi.arm-9.2.0.img.gz
# sha256sum LibreELEC-RPi.arm-9.2.0.img.gz
80cd38e0a576f75caaecf511970ae563c5b605896074809643aecfdc91344bcf LibreELEC-RPi.arm-9.2.0.img.gz
# diff -as lastdownload.cache LibreELEC-RPi.arm-9.2.0.img.gz
Files lastdownload.cache and LibreELEC-RPi.arm-9.2.0.img.gz are identical
おわりに
てことで応用が聞かない感じなのでRaspberry Piを初めて使う人向けかなーと感じました.LibreELECなんかも同じようなツールを用意しているしOSイメージ書き込みで躓く人が多いのでツールが用意されているのかもしれないですね.
更に面倒だという人はOSイメージ入りのストレージを購入すると良さそうです.
個人的なおすすめは現在だとダウンロードは手動で書き込みには balenaEtcher
がいいかなと思います.これもマルチプラットホーム対応で更に同時に複数のストレージに書き込みも可能です.
試した環境
$ dpkg-query -W rpi-imager qml-module-qt-labs-settings libdleyna-core-1.0-5
libdleyna-core-1.0-5:amd64
qml-module-qt-labs-settings:amd64 5.12.5-5
rpi-imager 1.0
$ lsb_release -dr
Description: Ubuntu Focal Fossa (development branch)
Release: 20.04
$ uname -m
x86_64
$ lsb_release -dr Description: Debian GNU/Linux bullseye/sid Release: unstable $ uname -m x86_64
Raspberry Pi が起動しなくて困る(未解決・microSD不良?)
先日AmazonでmicroSD cardを購入しました.Samsung ドライブレコーダー向け microSDカード32GB 正規代理店保証品 MB-MJ32GA/ECというものです.
これにRaspberry Pi向けのイメージを書き込んで起動しようとすると,RaspberryPiでLEDがピカッピカー.って感じで2回光って消えます.そしてSerialには以下のメッセージが表示され起動しません.
Error: invalid dtb and unrecognized/unsupported machine ID r1=0x00000c42, r2=0x00000000 Available machine support: ID (hex) NAME ffffffff Generic DT based system ffffffff BCM2835 Please check your kernel config and/or bootloader.
はじめに試したイメージは自作のものだったのでそのせいかと思ったのですが,Raspbian Buster Lite 2019-09-26 でも同様の動きになります.
ボード側をRaspberry Pi Zero/ZeroW/A+と試しましたがどれでも同じ動作です.
でもmicroSDを交換すると起動します.microSDが怪しそうです.
f3で速度や容量を確認してみました.
容量は問題無さそうなのですが,
最大読み出し速度100MB/s、最大書き込み速度30MB/s
とのことですが実際は読み込み20MB/s前後,書き込み速度は10MB/s前後くらいなので遅すぎる感じがします.
ということでmicroSDが怪しいのでとりあえず返品しようかと思います…….
Raspberry Piのraspistilコマンドでジオタグ埋め込みを試すとエラーになる
Raspberry Pi の専用コマンドの中に raspistil
コマンドというものがあります.
(Raspbianの libraspberrypi-bin
パッケージ内にあります.)
このコマンドで専用カメラでの撮影が出来ます.
インターバル撮影してMapillaryにアップロードしてマッピングの足しに出来ないかなと少し試してみました.
何時もは撮影した画像に別撮りしたGPSデータを埋め込むのですが,raspistillのオプションを確認すると最近はgpsdから位置情報見て埋め込むオプションがあって便利そうです.
しかし,その -gps
オプションを利用するとエラーになります.
$ raspistill -gps -o test2.jpg libgps.so.22: cannot open shared object file: No such file or directory Unable to load the libGPS library
とりあえずリンク張ったら動きました.
$ sudo ln -s /usr/lib/arm-linux-gnueabihf/libgps.so.23.0.0 /usr/lib/arm-linux-gnueabihf/libgps.so.22
add)
バグ報告したらすぐ修正されました.しばらくしたら反映されるでしょう :)
しかしexifを確認しても位置情報は埋め込まれていません.室内でGPS弱いのでまた後で屋外で試してみます.
しかし,8MPのimx219ではピントが無限遠ではなく近くに設定されているようでそのままではちょっとダメそう.そして画角はもっと広角なのが欲しいです.
ピントの方は以下のページを参考に少し調整してみるとこんな感じに.もう少し行けそうだけど壊しそうで怖い.
画角も狭いしこういうものを買うと良さそう.誰か買って試してみてください.(そして飽きたら安く譲って😏)
$ dpkg-query -W gpsd libgps23 libraspberrypi-bin gpsd 3.17-7 libgps23:armhf 3.17-7 libraspberrypi-bin 1.20190925+1-1 $ lsb_release -dr Description: Raspbian GNU/Linux 10 (buster) Release: 10 $ uname -a Linux raspberrypi 4.19.75+ #1270 Tue Sep 24 18:38:54 BST 2019 armv6l GNU/Linux $ cat /proc/device-tree/model ;echo Raspberry Pi Model B Plus Rev 1.2
Raspbian Buster 2019-09-26
リリースされていました.
2019-09-26: * rpi-eeprom included - This will automatically update the SPI EEPROM on the Raspberry Pi 4 to the latest stable version. See https://rpf.io/eeprom for more information. * New icon theme for file manager icons * Appearance Settings - option for identical desktop on both monitors * Appearance Settings - option to show different desktop icons on both monitors * Taskbar automatically moved to monitor 0 if monitor 1 not found at boot * Switching of audio output between two HDMI devices added to volume plugin * Switching of audio input devices added to volume plugin * .asoundrc (ALSA config file) now uses 'plug' values to support more devices * Audio Settings tool modified to integrate more closely with volume plugin to reduce duplicated code * Screen Configuration tool now shows separate menus for resolution and refresh rate * Primary and active monitor settings removed from Screen Configuration tool * Overscan support added for FKMS driver * New keyboard shortcuts added - Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors * Latest changes to Bluez ALSA interface integrated to improve connection to Bluetooth audio devices * Mousepad used as simple text editor instead of leafpad * Version 3.2 of Thonny added * Version 74 of Chromium added * Version 3.0.8 of VLC added * Version 32.0.0.255 of Flash player added * Version 6.5.0 of RealVNC Server added * Version 6.19.715 of RealVNC Viewer added (full image only) * Version 12.0.1 of Mathematica added (full image only) * Version 0.20.8 of NodeRED added (full image only) * Version 3.1.0 of Sonic Pi added (full image only) * Scratch 3 added (full image only) * Bug fix - URL handling in Terminal * Bug fix - octal values in SSIDs in network plugin * Bug fix - remaining value in progress bar when transferring files * Bug fix - integration of xarchiver tool with file manager * Bug fix - start menu opening on incorrect monitor * Bug fix - minimised applications wrongly displayed on taskbar on second monitor * Bug fix - Bluetooth icon disappearing on x86 platforms when Bluetooth turned off * Bug fix - Screen Configuration tool not shown on x86 platforms and settings not being saved * Various translation updates * Various minor bug fixes * Epiphany/Web removed * ntfs-3g included * pciutils added * Linux kernel 4.19.75 * Raspberry Pi firmware 01508e81ec1e918448227ca864616d56c430b46d
このショートカットが便利かも?
- New keyboard shortcuts added – Ctrl-Alt-End brings up shutdown menu; Ctrl-Alt-M moves taskbar between monitors
とりあえず,liteだけダウンロードキューに入れておきました.
$ wget https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.torrent \ https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-09-30/2019-09-26-raspbian-buster-lite.zip.sig $ transmission-cli 2019-09-26-raspbian-buster-lite.zip.torrent
ADD: その後ダウンロードが終わったのでverify
$ gpg --verify ./2019-09-26-raspbian-buster-lite.zip.sig gpg: assuming signed data in './2019-09-26-raspbian-buster-lite.zip' gpg: Signature made Mon 30 Sep 2019 09:43:50 PM JST gpg: using RSA key 54C3DD610D9D1B4AF82A37758738CD6B956F460C gpg: Good signature from "Raspberry Pi Downloads Signing Key" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 54C3 DD61 0D9D 1B4A F82A 3775 8738 CD6B 956F 460C
#Raspberry Pi 4 model B も先週あたりに工事設計認証が総務省のリストに載ったようだし日本発売も間近?(所謂技適問題)
##電源バグも修正してくれると嬉しい
特定グループでのみ dmesg command を有効にする
Debian の linux 4.8.0 以降で一般ユーザによる dmesg が無効化されたので,kernelパラメータの kernel.dmesg_restrict を修正して dmesg command を一般ユーザでも実行できるようにしましたがこれだと全ユーザで実行できてしまいます.sudo を設定してログの読める adm
ユーザだけが dmesg command を実行できるようにしてみました.
dmesgを実行したいユーザをadm
group に登録する(loginし直して反映しておく)
$ sudo addgroup matoken adm
$ exit
visudo
command で /etc/sudoers
を編集して adm
group は NOPASSWD で dmesg
command を実行できるようにする(念の為編集前にもう1枚端末を開いて sudo -s
しておいたり,at等で5分後に /etc/sudoers
を巻き戻すようにしておくとミスっても安心)
$ sudo visudo
$ sudo git diff /etc/sudoers
diff --git a/sudoers b/sudoers
index d4cc632..ac3bd77 100644
--- a/sudoers
+++ b/sudoers
@@ -21,6 +21,7 @@ root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
+%adm ALL=NOPASSWD: /usr/bin/dmesg
# See sudoers(5) for more information on "#include" directives:
adm group のユーザでdmesg コマンドが追加されているのを確認
$ sudo -l | grep dmesg
(root) NOPASSWD: /usr/bin/dmesg
adm
group のユーザが認証無しで sudo dmesg
が実行できるのを確認
$ id | grep -o adm
adm
$ sudo dmesg -H | tail -1
[ +0.015080] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
このとき kernel.dmesg_restrict = 1
で sudo を通さないと dmesg は実行できない
$ cat /proc/sys/kernel/dmesg_restrict
1
$ dmesg
dmesg: read kernel buffer failed: Operation not permitted
$ LC_MESSAGES=ja_JP.UTF-8 dmesg
dmesg: read kernel buffer failed: 許可されていない操作です
~/.profile
にalias を設定
$ echo 'alias dmesg="sudo dmesg"' | tee -a ~/.profile
alias dmesg="sudo dmesg"
$ source ~/.profile
$ dmesg -H | tail -1
[ +0.015080] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
環境
$ dpkg-query -W sudo util-linux linux-image-*
linux-image-4.19.0-2-arm64 4.19.16-1
linux-image-4.19.0-2-arm64-unsigned
linux-image-arm64 4.19+102
sudo 1.8.27-1
util-linux 2.33.1-0.1
$ lsb_release -dr
Description: Debian GNU/Linux buster/sid
Release: testing
$ uname -a
Linux rpi3 4.19.0-2-arm64 #1 SMP Debian 4.19.16-1 (2019-01-17) aarch64 GNU/Linux
$ cat /proc/device-tree/model ;echo
Raspberry Pi 3 Model B Rev 1.2