
我有一個運行 Ubuntu 22.04 伺服器(核心 5.15)的 Raspberry Pi 4b 4GB,我在上面運行 ROS2 Humble 以實現機器人技術(需要 22.04)。我最近購買了 Raspberry Pi 相機模組 3 用作我的機器人的相機,但它在此作業系統上無法正常運作。我透過運行 Raspbian 驗證了這個硬體組合,相機運作得很好。
在這個 GitHub 問題我試圖弄清楚如何使其工作,並被告知我正在運行的核心不包含索尼 IMX758 感測器所需的驅動程式。我被告知更新的核心版本可能會解決我的問題並內建驅動程式。
到目前為止,我一直在複製更改樹莓派/Linux到Ubuntu提供了linux-raspi內核在樹枝上Applied/ubuntu/jammy-updates 5.15.0-1035.38(已套用補丁)。這僅部分起作用,並沒有最終啟用相機。
我可以在 ubuntu 22.04 (jammy) 上運行高於 5.15 的核心嗎?我注意到 Ubuntu rpi-kernel 儲存庫中有一個 6.2.X 內核,標記為 mantic (23.10) 和lunar (23.04)。如果是這樣,我是否從以下位置獲取更新的核心有什麼關係嗎?樹莓派/Linux(它有 6.1y 分支,我想我必須重新編譯,或者 Ubuntu 的linux-raspi 內核,這兩種選擇會更好嗎?
AFAIK 核心可以進行任何發行版特定的定制,所以理論上我可以簡單地編譯 6.1y樹莓派/Linux並將 .deb 補丁應用於 Ubuntu?
如果有人可以就後續步驟提出建議,那就太好了。我的連結中有錯誤日誌GitHub問題和更多診斷。
答案1
我能夠透過安裝軟體包將核心更新到 6.2.0-1004-raspilinux-image-6.2.0-1004-raspi使用 apt.這用預編譯的映像更新了我的核心。
我能夠透過將 Ubuntu 月球源添加到/etc/apt/sources-list
.我添加了以下幾行:
# adding this to get the new 6.2.x kernel from lunar
deb http://ports.ubuntu.com/ubuntu-ports lunar main restricted
deb http://ports.ubuntu.com/ubuntu-ports lunar-updates main restricted
deb http://ports.ubuntu.com/ubuntu-ports lunar universe
deb http://ports.ubuntu.com/ubuntu-ports lunar-updates universe
deb http://ports.ubuntu.com/ubuntu-ports lunar multiverse
deb http://ports.ubuntu.com/ubuntu-ports lunar-updates multiverse
deb http://ports.ubuntu.com/ubuntu-ports lunar-backports main restricted
universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports lunar-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports lunar-security universe
deb http://ports.ubuntu.com/ubuntu-ports lunar-security multiverse
然後我簡單地執行了sudo apt update
和sudo apt install linux-image-6.2.0-1004-raspi
,並在安裝完成後重新啟動。
atticus@rospi:~
$ uname -a
Linux rospi 6.2.0-1004-raspi #5-Ubuntu SMP PREEMPT Mon Apr 3 11:15:14 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
更新的核心並沒有解決我打算解決的問題,因為儘管存在正確的驅動程序,但我的 Raspberry Pi 相機模組 3 仍然無法在此 Ubuntu 安裝上工作,但我將就此創建一個新帖子。
atticus@rospi:~
$ libcamera-hello
Preview window unavailable
[0:13:33.922153143] [5185] INFO Camera camera_manager.cpp:284 libcamera v0.1.0+19-960d0c1e
[0:13:33.961853643] [5186] ERROR V4L2 v4l2_device.cpp:93 'imx708': Failed to open V4L2 device '': No such file or directory
[0:13:33.961984865] [5186] ERROR RPI vc4.cpp:209 Failed to register camera imx708: -22
ERROR: *** no cameras available ***