bluerobotics / bluerobotics/BlueOS
bug: Raspi Kernel 6.12.34 breaks Ardupilot board detection
- Dominant language
- Vue
- Stars
- 453
- Forks
- 151
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 174
Description
### Bug description
Was originally testing with a Raspberry Pi 5 with a vanilla "Bookworm 64-bit lite" image from Raspi Imager (rather than a pre-built BlueOS image), then manually installing per the [bootstrap instructions](https://github.com/bluerobotics/BlueOS/tree/master/install).
The current version of this image installs the 6.12.34 kernel packages.
Ardupilot would not work on these installations with
```
Unknown board
```
in the ardupilot_manager log.
Per [ardupilot#30769](https://github.com/ArduPilot/ardupilot/issues/30769), Ardupilot's [`UtilRPI::_get_board_type_using_peripheral_base`](https://github.com/ArduPilot/ardupilot/blob/12ab5a9804838bdae53ef18185a19712ee346042/libraries/AP_HAL_Linux/Util_RPI.cpp#L39) function queries `/proc/device-tree/soc/ranges`
However, in the latest kernel image the directory in the DTB is renamed to `/proc/device-tree/soc@107c000000`, breaking board detection.
This bug does not affect the pre-built images from BlueOS, which contain the older 6.6.x kernels. However if you `apt-get upgrade` it will install the newer image.
### Steps to reproduce
1. Create BlueOS SD card using 1.4.2 image
2. Boot Pi5, running kernel 6.6.31
3. BlueOS successfully starts Ardupilot 4.5.3
5. On command line, `sudo apt-get update && sudo apt-get upgrade`
For me, this installs `linux-image-6.12.34+rpt-rpi-2712` and dependencies.
5. Reboot
6. Confirm system is running 6.12.34
7. System cannot start Ardupilot:
### Primary pain point(s)
Nothing to prevent inadvertent upgrade to Pi OS, breaking system.
### Additional context
_No response_
### Prerequisites
- [x] I have checked to make sure that a similar request has not already been filed or fixed.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.