Raspberry Pi Zero W Hを久々に使ってみようとしたときに躓いたOS問題を備忘として残しておきます。
結論から申し上げると、Raspberry Pi Zero W Hは最新のbookworm OSには対応していないため、Legacyのbullseye OS 32-bitをMicroSDに書き込む必要があるということです。
今さらRaspberry Pi Zero W Hを使い始める人はほとんどいないと思いますが、どなたかの役に立てば嬉しいです。
エラー内容
sudo apt upgradeを実行すると、こちらのエラーが表示されてProgress: [ 81%]で固まり、Internal error oops 8000000dとなって、カーネルクラッシュ?の状態となります。
unable to handle kernel paging request at virtual address ...
…
Internal error Oops: 800000s [#1] ARM
…
対処法
私のケースでは、Raspberry Pi OS (Legacy) Lite 32-bitをMicroSDに書き込んで解消しました。

MicroSDやRaspberry Pi Zero 2Wをわざわざ買い直して検証していましたが、結局はOSの問題で、お金と時間がとにかくかかりました。
Raspberry PiハードとOSの種類が多いことがややこしい原因です。Raspberry Pi Zero Wに関してはbullseyeのRaspberry Pi OS (Legacy) Lite 32-bitが推奨OSであること理解不足でした。
Raspberry Pi Zero W | Raspberry Pi Zero 2W | |
Raspberry Pi OS with desktop 64-bit ※Bookworm | × | ○ |
Raspberry Pi OS Lite 64-bit ※Bookworm | × | ○ |
Raspberry Pi OS (Legacy) with desktop 32-bit ※bullseye | △(重い) | ○ |
Raspberry Pi OS (Legacy) Lite 32-bit ※bullseye | ○ | ○ |
Raspberry Pi Imagerが最新のOSを参照しているか疑心暗鬼になっていたので、Use customで手元にダウンロードしたRaspberry Pi OS (Legacy) Lite 32-bitをMicroSDに書き込みました。

カメラの有効化
BullseyeベースのRaspberry Pi Zero W Hでカメラを用いるときは、設定画面からEnableにするだけで使うことができます。
(BookwormベースのRaspberry Pi Zero 2Wではconfig.txtの書き換えが必要で、いろいろ大変です。)
sudo raspi-config

vcgencmd get_camera
“supported=1 detected=1″と表示されていれば、接続&認識OKです。libcamera interfaces=0は気にする必要ありません。以下のコードでテスト撮影が可能です。
sudo raspistill -o image.jpg
OpenCVで写真撮影
OpenCV の import時はパッケージのインストールエラーが発生しうるので、表示されるエラーごとに一つ一つインストールして解決していきました。
sudo apt install libopenjp2-7-dev
sudo apt install libavcodec-extra58
sudo apt install libavformat58
sudo apt install libswscale5
sudo apt install libgtk-3-0
sudo apt install libatlas-base-dev
Ffmpeg系が不足していたようで、import cv2を実行するだけでこんなに大変とは、、、
カメラで撮影した画像を時刻名で保存するプログラムになります。
import cv2
from datetime import datetime
# カメラを開く
cap = cv2.VideoCapture(0)
# 画像をキャプチャする
ret, frame = cap.read()
# 画像を時刻名で保存する
date = datetime.now().strftime("%Y%m%d_%H%M%S")
path = "./" + date + ".png"
cv2.imwrite(path, frame)
# カメラを閉じる
cap.release()
コメント