ตามที่ระบุในเหตุใดเอาต์พุตเสียง (เสียง) ของฉันจึงไม่ทำงาน ในการเริ่มต้นโปรแกรมควบคุมเสียงคุณต้องเรียกใช้sudo modprobe snd_bcm2835
ทุกครั้งที่คุณต้องการส่งสัญญาณเสียง
ฉันจะให้มันทำงานอย่างไรเมื่อบูต? (เช่นก่อนลงชื่อเข้าใช้และไม่มีอินพุต)
ตามที่ระบุในเหตุใดเอาต์พุตเสียง (เสียง) ของฉันจึงไม่ทำงาน ในการเริ่มต้นโปรแกรมควบคุมเสียงคุณต้องเรียกใช้sudo modprobe snd_bcm2835
ทุกครั้งที่คุณต้องการส่งสัญญาณเสียง
ฉันจะให้มันทำงานอย่างไรเมื่อบูต? (เช่นก่อนลงชื่อเข้าใช้และไม่มีอินพุต)
คำตอบ:
การโหลดโมดูลเมื่อบู๊ตแตกต่างจากการรันคำสั่งเริ่มต้นเล็กน้อย
เพิ่มชื่อโมดูลเป็นบรรทัดใหม่ใน /etc/modules
เพิ่มชื่อโมดูลให้กับอาร์เรย์โมดูลใน/etc/rc.conf
บรรทัดควรมีลักษณะเช่นนี้:
modules=(snd_bcm2835)
หรือสำหรับการกำหนดค่า systemd ใหม่:
echo "snd_bcm2835" | sudo tee -a /etc/modules-load.d/snd_bcm2835.conf
snd_bcm2835
ใน/etc/modules
ไฟล์ใน Xbian ของฉันแล้ว แต่นั่นสร้างลูปเมื่อบู๊ตเครื่อง ดูเหมือนว่าจะไม่ได้รับอนุญาตเมื่อเริ่มต้น OSMC
เพื่อตอบคำถามเฉพาะเกี่ยวกับsudo modprobe snd_bcm2835
เพิ่มโมดูล/etc/modules
และรีบูต (คุณจะต้องroot
ทำสิ่งนี้)
Debian ใช้ initscripts เพื่อเริ่มต้นระบบและคุณสามารถใช้มันเพื่อรันคำสั่งโดยพลการ /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 "$1" 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
คุณควรตรวจสอบให้แน่ใจว่ามันสามารถรันได้และเป็นเจ้าของโดยรูท
sudo chmod 755 /etc/init.d/blah
sudo chown root:root /etc/init.d/blah
จากนั้นคุณต้องลงทะเบียนเพื่อให้ทำงานเมื่อเริ่มต้น
sudo update-rc.d blah defaults
มีโหลดของวิธีการเรียกใช้คำสั่งเป็นที่เริ่มต้นขึ้นใน Linux แต่วิธีการที่ชื่นชอบของฉันคือการสร้างสคริปต์ initialisation ในและลงทะเบียนใช้/etc/init.d
update-rc.d
วิธีนี้จะเริ่มต้นแอปพลิเคชันและหยุดโดยอัตโนมัติเมื่อระบบบูท / ปิดเครื่อง
ดูโพสต์นี้สำหรับชุดของคำแนะนำเกี่ยวกับวิธีสร้างหนึ่งใน Raspberry Pi
systemd
หรือระบบอื่น ๆ ได้อย่างไร?
วิธีที่ฉันต้องการคือการเพิ่มคำสั่งการตั้งค่าไปที่ /etc/rc.local ซึ่งจะเริ่มต้นเมื่อสิ้นสุดการบูตก่อนที่คุณจะถูกขอให้เข้าสู่ระบบ