我可以在 Raspberry Pi 4b 上的 Ubuntu 22.04 上運行高於 5.15 的核心嗎?

我可以在 Raspberry Pi 4b 上的 Ubuntu 22.04 上運行高於 5.15 的核心嗎?

我有一個運行 Ubuntu 22.04 伺服器(核心 5.15)的 Raspberry Pi 4b 4GB,我在上面運行 ROS2 Humble 以實現機器人技術(需要 22.04)。我最近購買了 Raspberry Pi 相機模組 3 用作我的機器人的相機,但它在此作業系統上無法正常運作。我透過運行 Raspbian 驗證了這個硬體組合,相機運作得很好。

這個 GitHub 問題我試圖弄清楚如何使其工作,並被告知我正在運行的核心不包含索尼 IMX758 感測器所需的驅動程式。我被告知更新的核心版本可能會解決我的問題並內建驅動程式。

到目前為止,我一直在複製更改樹莓派/LinuxUbuntu提供了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 updatesudo 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 ***

相關內容