|
カテゴリ:ソフト開発日誌
Raspberry Pi OS trixie を QEMU Raspberry Pi model 3B Emulator で動かすためにbcm2835 power off driver (dkms driver の tar.gz file)を作ることにした。power off をするだけのドライバだ。QEMU の command line option か image file の中に含まれている /etc/systemd/system.conf の設定で watchdog を止めて power off 機能を維持する方法を発見できていない。
device tree の watchdog node の compatible property の文字列を "brcm,bcm2835-pm-power-off" に変更して引き当てるドライバを作ったドライバにする。 --- bcm2710-rpi-3-b.dts 2025-12-09 01:03:29.282524500 +0900 +++ bcm2710-rpi-3-b-qemu.dts 2025-12-13 22:38:50.123397200 +0900 @@ -868,7 +868,7 @@ }; watchdog@7e100000 { - compatible = "brcm,bcm2835-pm\0brcm,bcm2835-pm-wdt"; + compatible = "brcm,bcm2835-pm-power-off"; #power-domain-cells = <0x01>; #reset-cells = <0x01>; reg = <0x7e100000 0x114 0x7e00a000 0x24>; @@ -876,6 +876,7 @@ clocks = <0x08 0x15 0x08 0x1d 0x08 0x17 0x08 0x16>; clock-names = "v3d\0peri_image\0h264\0isp"; system-power-controller; + status = "okay"; phandle = <0x2c>; }; QEMU で動いている Raspberry Pi OS にbcm2835 power off dkms driver (リンク先はドライバの tar.gz file)を組み込む。 sudo apt install dkms build-essential kmod sudo tar -C /usr/src -xvf /down-loaded/bcm2835-power-off-dkms-1.0.tar.gz sudo dkms build bcm2835-power-off-dkms/1.0 sudo dkms install bcm2835-power-off-dkms/1.0 Makefileは command line から dkms を使わなくても使える様にしてある。 dkms で組み込めば(恐らくコマンドラインで手動で組み込んでも)起動したときに device-tree の compatible property からドライバを自動的に引き当てる様になる。 やりたいことに対して大掛かり過ぎる感はある。 「一つ解決策を見つけておく、上手い方法は他の誰かが見つけるさ」 色々と開発を経験してきて採るようになった自分なりの開発方針だ。 お気に入りの記事を「いいね!」で応援しよう
最終更新日
2025.12.15 10:18:44
コメント(0) | コメントを書く
[ソフト開発日誌] カテゴリの最新記事
|
|