Table des matières
Raspberry 4
Mise à jour 2021-09-15
Utilisant une carte microSD 64 GB. Possible qu'il soit nécessaire de formater la carte avant avec le SD Card Formatter.
Utilisation de Raspberry Imager pour récupérer l'image d'Ubuntu Server 20.04 (LTS) et le mettre sur la carte SD.
Dans Ubuntu, le login par défaut est ubuntu
:ubuntu
. Une invite permettra de changer le mot de passe.
Quelques étapes pour setuper le tout:
- Changer le hostname :
$ sudo nano /etc/hostname
- Installation et setup de ZSH.
- Installation de exfat-utils et samba.
Raspbian
Pour connaitre la version actuelle:
$ cat /etc/os-release
Configuration:
$ raspi-config
VPN sur PI
Dans la configuration de Raspbian (commande sudo raspi-config
):
- mettre un nouveau password à l'utilisateur
pi
. - On peut changer le hostname (optionel dans ce contexte)
- Boot options, le mettre à
B1 Console
- Mettre le bon timezone
- Donner 16MB au GPU (le minimum).
- Enabler le ssh (dans Interfacing Options)
Modifier le fichier /etc/network/interfaces
et éditer la partie de eth0
:
auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameserver 8.8.8.8 8.8.4.4
Installer openvpn:
$ sudo apt-get install openvpn
Ensuite les fichiers de configuration de PIA:
$ wget https://www.privateinternetaccess.com/openvpn/openvpn.zip $ unzip openvpn.zip -d openvpn $ sudo cp crl.rsa.2048.pem /etc/openvpn $ sudo cp ca.rsa.2048.crt /etc/openvpn $ sudo cp US\ New\ York\ City.ovpn /etc/openvpn/US.conf
Mettre les creds de PIA dans le fichier /etc/openvpn/login
:
username password
Redémarrer.
Vérifier que openvpn fonctionne:
$ sudo openvpn --config /etc/openvpn/US.conf
Créer la tâche système:
$ sudo systemctl enable openvpn@US
Décommenter la ligne net.ipv4.ip_forward=1
dans le fichier /etc/sysctl.conf
:
$ sudo nano /etc/sysctl.conf
Ensuite enable this:
$ sudo sysctl -p
Changer la configuration iptables:
sudo iptables -A INPUT -i lo -m comment --comment "loopback" -j ACCEPT sudo iptables -A OUTPUT -o lo -m comment --comment "loopback" -j ACCEPT sudo iptables -I INPUT -i eth0 -m comment --comment "In from LAN" -j ACCEPT sudo iptables -I OUTPUT -o tun+ -m comment --comment "Out to VPN" -j ACCEPT sudo iptables -A OUTPUT -o eth0 -p udp --dport 1198 -m comment --comment "openvpn" -j ACCEPT sudo iptables -A OUTPUT -o eth0 -p udp --dport 123 -m comment --comment "ntp" -j ACCEPT sudo iptables -A OUTPUT -p UDP --dport 67:68 -m comment --comment "dhcp" -j ACCEPT sudo iptables -A OUTPUT -o eth0 -p udp --dport 53 -m comment --comment "dns" -j ACCEPT sudo iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i eth0 -o tun+ -m comment --comment "LAN out to VPN" -j ACCEPT sudo iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE
Sauvegarder les règles iptables:
$ sudo apt-get install iptables-persistent $ sudo systemctl enable netfilter-persistent
Pour sauvegarder des règles à nouveau:
$ sudo netfilter-persistent save
Installer Client No-IP
- Créer un répertoire où mettre no-ip client :
mkdir /home/pi/noip
. - Aller dans ce répertoire,
cd /home/pi/noip
. - Téléchager le client :
wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
. - Décompresser le fichier :
tar vzxf noip-duc-linux.tar.gz
. - Aller dans le répertoire décompressé, exemple :
cd noip-2.1.9-1
, mais peut différer. - Installer :
sudo make
et ensuitesudo make install
. - Entrer les informations demandées : nom du compte, mot de passe, domaines à mettre à jour, temps de mise àa jour (en minutes), etc.
- Pour réexécuter la config, on peut faire :
sudo /usr/local/bin/noip2 -C
.
- Démarrer le client :
sudo /usr/local/bin/noip2
. - Pour vérifier que le client roule bien :
sudo /usr/local/bin/noip2 -S
.
Démarrage automatique lors du démarrage
- Éditer le fichier
/etc/rc.local
:sudo nano /etc/rc.local
. - Mettre la ligne
/usr/local/bin/noip2
après lefi
et avant leexit 0
.
Chromium
Il n'est pas possible d'installer directement Chrome. Il faut plutot installer Chromium.
$ sudo apt-get install chromium
Monter un disque-dur externe
Installer pilote NTFS
- Mettre à jour
apt-get
si nécessaire. - Installer avec :
$ sudo apt-get install ntfs-3g
.
Monter le disque-dur
- Brancher le disque-dur externe via USB et s'assurer qu'il est bien alimenté.
- Dans l'exemple ci-haut, le disque-dur apparaît comme
/dev/sda
avec deux partitions. - Créer un répertoire où monter le volume, exemple
/media/USBHDD
. - On va monter
/dev/sda2
puisqu'il s'agit de la partition NTFS qui sera utilisée pour y mettre les fichiers :$ sudo mount -t auto /dev/sda2 /media/USBHDD
.
Démonter
$ sudo umount /media/pi/SEAGATE8TB
S'il est utilisé (target is busy
, vu que Samba l'utilise):
$ sudo umount -l /media/pi/SEAGATE8TB
Configurer Samba
$ sudo apt-get install samba samba-common-bin
Raspberry PI 3 Model B
Utiliser Noobs pour installer des OS. Sert aussi à la sélection de l'OS.
Divers
Commande pour température de CPU sous Ubuntu:
$ cat /sys/class/thermal/thermal_zone0/temp
Screen resolutions (marche pas):
$ xrandr --newmode $(cvt 1280 1024 60 | grep Mode | sed -e 's/.*"/1280x1024/')
Ubuntu 18.04 Server
Pour faire un Media Server avec Plex.
Installations:
- zsh
- exFAT
- Exécuter
$ sudo apt-get install exfat-utils
- Plex Media Server Media Server download
Mount HDD
Voir la liste des devices:
$ sudo fdisk -l $ sudo mount -t exfat /dev/sda1 /media/external
GPIO
- Output: provides constant 3.3V at 16mA max
- Input: “listen” to current, 3.3V = 1, 0V = 0
3 Protocoles
- SPI: 3 data lines, faster, master-slave
- I2C: 2 data lines, slower, master + ∞ slaves
- UART: Async
Composantes
Écrans
5.0" 40-pin TFT
Il s'agit d'un écran touchscreen de 5.0“ avec 800×480 pixels. Cet écran idéalement doit être piloté par le RA8875 Driver Board et programmé avec sa librairie.