如“为什么我的音频(声音)输出不起作用?”中所述,要初始化声音驱动程序,每次要输出声音时都必须运行sudo modprobe snd_bcm2835。 ? (即登录之前且没有任何输入)

评论

这是另一个可以被认为是题外话的问题。它可能更适合U&L。

@Jivings:仅仅是因为它在Unix和Linux上是热门话题,并不能使其成为Raspberry Pi的热门话题?
@OliverSalzburg:我认为这个特定问题有太多重叠之处。关于这个问题的任何内容都没有使它专门针对Raspberry Pi。

meta.raspberrypi.stackexchange.com/questions/24/…上的决定是否意味着这个问题在这里很好?

@Jivings谢谢,只想为以后的访问者澄清一下,因为评论指向解决问题。也许应该删除所有评论?

#1 楼

在引导时加载模块与运行启动命令略有不同。
在Debian中:
/etc/modules中添加模块名称作为新行
在Arch Linux中:
添加模块名称到/etc/rc.conf中的模块阵列,该行应如下所示:
modules=(snd_bcm2835)

或对于新的systemd配置:
echo "snd_bcm2835" | sudo tee -a /etc/modules-load.d/snd_bcm2835.conf


评论


我将snd_bcm2835添加到了Xbian上的/ etc / modules文件中,但是在启动时创建了一个循环。启动OSMC时似乎不允许这样做

–rubo77
15年6月17日在15:55

@ rubo77有趣!您是否触底?

–活动
15年6月22日在8:11

不确定。也许是巧合。整个安装现在似乎有点破...

–rubo77
15年6月22日在11:27

#2 楼

Boot上的Modprobe-Debian

要回答有关sudo modprobe snd_bcm2835的特定问题,请将模块添加到/etc/modules并重新启动。 (您必须是root才能执行此操作。)启动服务-Debian

Debian使用初始化脚本来初始化系统,您可以使用它们来运行任意命令。您需要在/etc/init.d中安装与以下脚本类似的脚本。

#! /bin/sh
# /etc/init.d/blah
#

# Some things that run always
touch /var/lock/blah

# Carry out specific functions when asked to by the system
case "" in
  start)
    echo "Starting script blah "
    echo "Could do more here"
    ;;
  stop)
    echo "Stopping script blah"
    echo "Could do more here"
    ;;
  *)
    echo "Usage: /etc/init.d/blah {start|stop}"
    exit 1
    ;;
esac

exit 0


您应确保该脚本可运行并由root拥有。

然后您需要注册它才能在启动时运行。

sudo chmod 755 /etc/init.d/blah
sudo chown root:root /etc/init.d/blah


参考文献


http ://www.debian-administration.org/articles/28


评论


这些都不是Debian独有的。同样,初始化脚本不是您应该用于加载模块的脚本。仅第一部分与该问题有关。

–活动
2012年6月27日7:32



他们都不能在Arch上运行,不确定QtonPi。

–亚历山大·张伯伦
2012年6月27日7:34

他们当然会的。

–活动
2012年6月27日7:34

哦...为什么您的Arch回答不同?

–亚历山大·张伯伦
2012年6月27日上午7:35

因为Arch为启动事件定义了一个方便的抽象。

–活动
2012年6月27日7:36

#3 楼

在Linux中,有许多种在启动时运行命令的方法,但是我偏爱的方法是在/etc/init.d中创建初始化脚本并使用update-rc.d注册它。这样,当系统启动/关闭时,应用程序将自动启动和停止。

有关如何在Raspberry Pi上创建应用程序的一组说明,请参阅此文章。

评论


欢迎使用Raspberry Pi Beta!尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。

–霍赫斯塔普勒(Der Hochstapler)
2012年10月1日9:33



您将如何通过systemd或其他系统来做到这一点?

–ArchHaskeller
2012年10月2日,0:16

#4 楼

我的首选方法是将设置命令添加到/etc/rc.local中,该命令将在启动时在提示您登录之前初始化。