fix: fixes missing legacy cam stack in ubuntu

Ubuntu with kernel 5.15 moves its config.txt to
`/boot/firmware/config.txt`

This should fix #50 (fixes#50)

Signed-off-by: Stephan Wendel <me@stephanwe.de>
This commit is contained in:
Stephan Wendel 2022-11-24 12:56:31 +01:00
parent 53b4d52f93
commit 607bdda902
No known key found for this signature in database
GPG Key ID: F465B83ACBA45639

View File

@ -416,6 +416,39 @@ enable_legacy_cam() {
fi fi
} }
## Ubuntu on RPI Workaround
## Using seperate function to not distract existing behavior
enable_buntu_cam() {
local cfg
local -a model
cfg="$(find /boot/ -type f -name "config.txt" -printf "%p\n")"
model=(pi3 pi4)
if [[ -f "${cfg}" ]]; then
# Helper func
get_val() {
crudini --get "${cfg}" "${1}" gpu_mem 2> /dev/null
}
echo -en "Enable legacy camera stack ... \r"
sed -i "s/camera_auto_detect=1/#camera_auto_detect=1/" "${cfg}"
if [[ "$(grep -c "start_x" "${cfg}")" = "0" ]]; then
crudini --set --inplace "${cfg}" all start_x 1 &> /dev/null
fi
for d in "${model[@]}"; do
if [[ "$(get_val "${d}")" -lt "129" ]]; then
crudini --set --inplace "${cfg}" "${d}" gpu_mem 256 &> /dev/null
fi
done
if [[ "$(get_val pi0)" -lt "129" ]]; then
sudo crudini --set --inplace "${cfg}" pi0 gpu_mem 160 &> /dev/null
fi
echo -e "Enable legacy camera stack ... [${CN_OK}]"
fi
}
## enable service ## enable service
enable_service() { enable_service() {
echo -en "Enable crowsnest.service on boot ...\r" echo -en "Enable crowsnest.service on boot ...\r"
@ -492,6 +525,13 @@ main() {
enable_legacy_cam enable_legacy_cam
fi fi
### buntu workaround
### see L#422
if [[ "$(get_os_version buntu)" != "0" ]] &&
[[ "$(is_raspberry_pi)" = "1" ]]; then
enable_buntu_cam
fi
## Step 8: Install service File ## Step 8: Install service File
install_service_file install_service_file