pfsense – Beep entfernen vs. Read-Only Filesystem

Die OpenSource Firewall pfsense ist wirklich eine Klasse Software. Sie läuft sowohl auf etwas älterer Hardware (je nach Anforderung) oder auch auf Embedded Systems wie ein Alix Board oder – wie in meinem Falle – auf einem neuen APU Board.

Was (mich zumindest) tierisch nervt, ist der störende Beep Ton bei Starten bzw. Stoppen des Systems – aber es gibt Abhilfe!

Hinterlegt ist dieser Beep Ton im System in der Datei:

/usr/local/bin/beep.sh

Diese lässt sich einfach via SSH Zugriff (z.B.) bearbeiten.

Meine Datei sieht nun wie folgt aus:

#!/bin/sh
BEEP=`/usr/bin/grep -c disablebeep /conf/config.xml`
if [ $BEEP -gt 0 ]; then
        exit;
fi

# Standard note length
NOTELENGTH="25"

# Embedded uses 100HZ
if [ "$PFSENSETYPE" = "embedded" ]; then
        NOTELENGTH="10"
fi

# this is super annoying in VMware, exit if in VMware
if [ -f /var/log/dmesg.boot ]; then
        VMWCOUNT=`/usr/bin/grep -c VMware /var/log/dmesg.boot`
        if [ $VMWCOUNT -gt 0 ]; then
                exit;
        fi
fi

# Check for different HZ
if [ -f /boot/loader.conf ]; then
        HZ=`/usr/bin/grep -c kern.hz /boot/loader.conf`
        if [ "$HZ" = "1" ]; then
                NOTELENGTH="10"
        fi
fi

if [ -c "/dev/speaker" ]; then
                if [ "$1" = "start" ]; then
                        #/usr/local/bin/beep -p 500 $NOTELENGTH
                        #/usr/local/bin/beep -p 400 $NOTELENGTH
                        #/usr/local/bin/beep -p 600 $NOTELENGTH
                        #/usr/local/bin/beep -p 800 $NOTELENGTH
                        /usr/local/bin/beep -p 800 $NOTELENGTH
                fi
                if [ "$1" = "stop" ]; then
                        #/usr/local/bin/beep -p 600 $NOTELENGTH
                        #/usr/local/bin/beep -p 800 $NOTELENGTH
                        #/usr/local/bin/beep -p 500 $NOTELENGTH
                        #/usr/local/bin/beep -p 400 $NOTELENGTH
                        /usr/local/bin/beep -p 400 $NOTELENGTH
                fi
fi

[important]Hinweis:

Läuft die pfsense auf einem Embedded System mit einer CF-Card, ist das Dateisystem „Read-Only“!

Vor einer Änderung z.B. an der o.g. Datei, muss das Filesystem als Read-Write remounted werden.

Um das Filesystem als Read-Write zu mounten:

/etc/rc.conf_mount_rw

Um es anschließend wieder als Read-Only zu mounten:

/etc/rc.conf_mount_ro

[/important]

Viel Spass nun beim testen …