我试图在最小化的Wheezy版本上使用raspi相机。命令raspi-config不可用。到目前为止,我可以通过编辑/boot/config.txt或使用apt-get安装缺少的软件来执行所有操作。

不幸的是,在我所看到的所有地方,相机上的所有教程(包括官方的RaspiCam-Documentation.pdf)都说首先要使用raspi-config启用它。那么,raspi-config对我可以手动复制的Pi实际做了什么?

评论

仅供参考,在config.txt中使用start_x = 1阻止我的xbian引导,并导致sd卡损坏,这意味着必须将一个新映像刷新到sd卡中。

#1 楼

好。 raspi-config实际上有点bash,因此很容易看到它的作用:

#  is 0 to disable camera, 1 to enable it
set_camera() {
  # Stop if /boot is not a mountpoint
  if ! mountpoint -q /boot; then
    return 1
  fi

  [ -e /boot/config.txt ] || touch /boot/config.txt

  if [ "" -eq 0 ]; then # disable camera
    set_config_var start_x 0 /boot/config.txt
    sed /boot/config.txt -i -e "s/^startx/#startx/"
    sed /boot/config.txt -i -e "s/^start_file/#start_file/"
    sed /boot/config.txt -i -e "s/^fixup_file/#fixup_file/"
  else # enable camera
    set_config_var start_x 1 /boot/config.txt
    CUR_GPU_MEM=$(get_config_var gpu_mem /boot/config.txt)
    if [ -z "$CUR_GPU_MEM" ] || [ "$CUR_GPU_MEM" -lt 128 ]; then
      set_config_var gpu_mem 128 /boot/config.txt
    fi
    sed /boot/config.txt -i -e "s/^startx/#startx/"
    sed /boot/config.txt -i -e "s/^fixup_file/#fixup_file/"
  fi
}


/boot/config.txt中显然有一个名为start_x的条目必须将其设置为1才能启用相机,并且gpu(gpu_mem)至少需要128 MB的内存。仔细检查似乎可以确认。

评论


如果有人感兴趣,这里是完整的源代码。该函数现在似乎称为do_camera。

–塞林
16-10-11在2:50



#2 楼

编辑/boot/config.txt文件,并确保以下几行如下所示:

start_x=1             # essential
gpu_mem=128           # at least, or maybe more if you wish
disable_camera_led=1  # optional, if you don't want the led to glow


reboot

#3 楼

raspi-config所做的是更改/boot/config.txt。禁用相机后,该文件中会有一个字符串,内容为start_x=0。将其更改为start_x=1将启用相机。编辑文件后,您将必须重新启动。

我创建了一个脚本,该脚本在/boot/config.txt中搜索字符串“ start_x = 0”,如果找到,则将其更改为“ start_x = 1”。使用以下代码,不要忘记使用chmod + x并使用sudo运行。

#!/bin/bash
grep "start_x=1" /boot/config.txt
if grep "start_x=1" /boot/config.txt
then
        exit
else
        sed -i "s/start_x=0/start_x=1/g" /boot/config.txt
        reboot
fi
exit


评论


+1第一个grep的用途是什么?而且是否有可能在第一次启动之前就没有start_x = *这样的行?

–Gabber
17年6月15日在21:24



第一个grep可能对调试有用。脚本的操作不需要它。在我的Raspbian Stretch config.txt文件中,我在config.txt中找不到start_x行,因此该脚本无法按原样工作。

– Diomidis Spinellis
17/12/26在7:55

#4 楼

raspi-config似乎支持非交互模式:您可以使用nonint命令设置camera

# raspi-config nonint do_camera %d
# %d - Integer input - 0 is in general success / yes / selected, 1 is failed / no / not selected

sudo raspi-config nonint do_camera 0


有关更多详细信息,请检查选项的完整列表:
https: //github.com/l10n-tw/rc_gui/blob/master/src/rc_gui.c#L50-L100

#5 楼

它的Jayson

用于带有ubuntu 20的Raspberry pi 4

为csi启用v4l2

sudo nano /boot/firmware/config.txt

添加以下行:

gpu_mem=512 disable_camera_led=1 start_file=start4x.elf fixup_file=fixup4x.dat