BlueZ-5.72
Introduction à BlueZ
Le paquet BlueZ contient la pile
de protocole Bluetooth pour Linux.
This package is known to build and work properly using an LFS 12.1
platform.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://www.kernel.org/pub/linux/bluetooth/bluez-5.72.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 : fcacd4d6d65f7da141977a2beb1ba78f
-
Taille du téléchargement : 2,3 Mo
-
Estimation de l'espace disque requis : 81 Mo (plus
84 Mo pour les tests)
-
Estimation du temps de construction : 0,4 SBU (avec
parallélisme = 4 ; avec les tests)
Téléchargements supplémentaires
Dépendances de BlueZ
Requises
dbus-1.14.10, GLib-2.78.4 et libical-3.0.17
Facultatives
docutils-0.20.1 (pour générer les pages de
manuel)
Configuration du noyau
Si vous construisez ce paquet pour utiliser des appareils bluetooth
(plutôt qu'en tant que dépendance), activez les options suivantes
dans la configuration du noyau, ainsi que les options de la section
« API
cryptographique » si vous voulez lancez les
tests, et recompilez le noyau si nécessaire :
General setup --->
# If it is disabled, [TIMERFD] and [EVENTFD] will be hidden and
# enabled implicitly. We DO NOT recommend to enable [EXPERT]
# unless you are really an expert user:
[ /*] Configure standard kernel features (expert users) ---> [EXPERT]
[*] Enable timerfd() system call [TIMERFD]
[*] Enable eventfd() system call [EVENTFD]
[*] Networking support ---> [NET]
<*/M> Bluetooth subsystem support ---> [BT]
[*] Bluetooth Classic (BR/EDR) features [BT_BREDR]
<*/M> RFCOMM protocol support [BT_RFCOMM]
[*] RFCOMM TTY support [BT_RFCOMM_TTY]
<*/M> BNEP protocol support [BT_BNEP]
[*] Multicast filter support [BT_BNEP_MC_FILTER]
[*] Protocol filter support [BT_BNEP_PROTO_FILTER]
<*/M> HIDP protocol support [BT_HIDP]
Bluetooth device drivers --->
# Select the appropriate drivers for your bluetooth hardware.
# There are more vendor-specific drivers not listed here:
< /*/M> HCI USB driver [BT_HCIBTUSB]
< /*/M> HCI SDIO driver [BT_HCIBTSDIO]
< /*/M> HCI UART driver [BT_HCIUART]
<*/M> RF switch subsystem support ---> [RFKILL]
-*- Cryptographic API ---> [CRYPTO]
Crypto core or helper --->
<*/M> Userspace cryptographic algorithm configuration [CRYPTO_USER]
Block ciphers --->
<*/M> AES (Advanced Encryption Standard) [CRYPTO_AES]
AEAD (authenticated encryption with associated data) ciphers --->
<*/M> CCM (Counter with Cipher Block Chaining-MAC) [CRYPTO_CCM]
Hashes, digests, and MACs --->
<*/M> CMAC (Cipher-based MAC) [CRYPTO_CMAC]
Userspace interface --->
<*/M> Hash algorithms [CRYPTO_USER_API_HASH]
<*/M> Symmetric key cipher algorithms [CRYPTO_USER_API_SKCIPHER]
<*/M> AEAD cipher algorithms [CRYPTO_USER_API_AEAD]
Installation de BlueZ
Maintenant, effectuez quelques changements requis pour les systèmes
SystemV :
patch -Np1 -i ../bluez-5.72-obexd_without_systemd-1.patch
Installez BlueZ en exécutant les
commandes suivantes :
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-library \
--disable-manpages \
--disable-systemd &&
make
Pour tester les résultats, tapez : make check
.
Maintenant, en tant qu'utilisateur root
:
make install &&
ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin
Installez le fichier principal de configuration en tant
qu'utilisateur root
:
install -v -dm755 /etc/bluetooth &&
install -v -m644 src/main.conf /etc/bluetooth/main.conf
Si vous le souhaitez, installez la documentation de l'API en tant
qu'utilisateur root
:
install -v -dm755 /usr/share/doc/bluez-5.72 &&
install -v -m644 doc/*.txt /usr/share/doc/bluez-5.72
Explication des commandes
--disable-manpages
:
ce paramètre désactive la génération des pages de manuel à cause de
la dépendance à « rst2man » de docutils. Supprimez ce
paramètre si vous avez installé docutils-0.20.1 et souhaitez générer les
pages de manuel.
--enable-library
:: Ce
paramètre active la construction de la bibliothèque de
compatibilité BlueZ 4 qui est
requises par certaines applications.
--disable-systemd
: Ce
paramètre est nécessaire car systemd ne fait pas partie de LFS/BLFS. Si
vous utilisez systemd, enlevez ce paramètre.
ln -svf
../libexec/bluetooth/bluetoothd /usr/sbin :
Cette commande donne accès au démon bluetooth de façon plus
cohérente.
Configuration de BlueZ
Fichiers de
configuration
/etc/bluetooth/main.conf
est
installé automatiquement pendant l'installation. En supplément,
il y a trois fichiers de configuration en plus.
/etc/sysconfig/bluetooth est installé comme une partie des
scripts de démarrage. De plus, vous pouvez éventuellement
installer la suite en tant qu'utilisateur root
:
cat > /etc/bluetooth/rfcomm.conf << "EOF"
# Start rfcomm.conf
# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
# Use one line per command
# See the rfcomm man page for options
# End of rfcomm.conf
EOF
cat > /etc/bluetooth/uart.conf << "EOF"
# Start uart.conf
# Attach serial devices via UART HCI to BlueZ stack
# Use one line per device
# See the hciattach man page for options
# End of uart.conf
EOF
Scripts de démarrage
Pour démarrer automatiquement le démon bluetoothd quand le système est
redémarré, installez le script de démarrage /etc/rc.d/init.d/bluetooth
depuis le paquet
blfs-bootscripts-20240209.
make install-bluetooth
Contenu
Programmes installés:
bluemoon, bluetoothctl, bluetoothd (lien
symbolique), btattach, btmon, hex2hcd, l2ping, l2test,
mpris-proxy et rctest
Bibliothèque installée:
libbluetooth.so
Répertoires installés:
/etc/bluetooth,
/usr/{include,libexec}/bluetooth et
/usr/share/doc/bluez-5.72
Descriptions courtes
bluemoon
|
est un utilitaire de configuration de Bluemoon
|
bluetoothctl
|
est le programme de contrôle interactif de Bluetooth
|
bluetoothd
|
est le démon Bluetooth
|
btmon
|
fournit l'accès à l'infrastructure de surveillance de
Bluetooth pour lire les traces HCI
|
hex2hcd
|
est utilisé pour convertir un fichier utilisé par les
périphériques Broadcom au format hcd (Broadcom bluetooth
firmware)
|
l2ping
|
est utilisé pour envoyer des demandes d'écho L2CAP à
l'adresse MAC Bluetooth donné en notation hexadécimale
|
l2test
|
est le programme de tests de L2CAP
|
rctest
|
est utilisé pour tester les communications RFCOMM de la
pile Bluetooth
|
libbluetooth.so
|
contient les fonctions de l'API de BlueZ 4
|