# Ubuntu server sur Raspberry Pi 4 {{INLINETOC}} ## Installation Installer Ubuntu sur Raspberry Pi est facile: * Télécharger l'image Ubuntu * Décompresser l'image * Insérer la carte SD * Utiliser l'une des méthodes décrites [[prive:rpi-patch|ici]] pour graver l'image sur la carte SD. **Ubuntu Desktop 21.10 plante sur Raspberry Pi 4:** Ubuntu Desktop version 21.10 sur Raspberry Pi 4 (4 Go) ne cesse de planter le file system après une extinction. Parfois, il se bloque après l'avoir utilisé pendant quelques minutes, d'autres fois, il a dépassé une heure d'utilisation avant de se bloquer.\\ \\ Ubuntu server est bien plus stable. [[https://wiki.deskpi.com/deskpi/|Deskpi Pro]] est un kit matériel pour convertir une Raspberry PI 4 standard à partir d'un SBC nu, avec un stockage limité, en un mini PC complet avec un bouton d'alimentation, un refroidissement, de meilleurs ports et un Mass Storage via SATA USB3 ou M.2.\\ Pour l'installer sur Ubuntu 64bit procéder ainsi:\\ \\ `cd ~`\\ `git clone https://github.com/DeskPi-Team/deskpi.git`\\ `cd ~/deskpi/`\\ `chmod +x install-ubuntu-64.sh`\\ `sudo ./install-ubuntu-64.sh` ## Configuration ### Terminal sur le port série Lorsqu'on n'a pas accès à une connexion Ethernet, on peut connecter un adaptateur 3,3V UART vers USB ou 3,3V UART vers RS-232 au port série du Pi (TX (GPIO14) et RX (GPIO15)). Installer **screen** sur l'ordinateur: ``` sudo apt install screen ``` Ensuite, ouvrir le port série avec **screen**: ``` screen /dev/ttyUSB0 115200 ``` Remplacer /dev/ttyUSB0 par le tty auquel le Pi est connecté. 115200 est le débit en bauds. Maintenant qu'on a accès au Pi, on peut commencer à configurer le réseau. ### Configuration de Netplan La configuration du WiFi avec est en fait assez simple et voici les étapes: On a besoins de 3 informations pour configurer le WiFi : - Nom de la carte sans fil Raspberry Pi sur le système ; - le nom du routeur WiFi auquel on essaye de se connecter (SSID) et - Mot de passe de connexion Wi-Fi Trouver le nom de la carte Wi-Fi : ``` $ ls /sys/class/net eth0 lo wlan0 ``` Modifier le fichier de configuration réseau pour ajouter des informations WiFi : ``` sudo nano /etc/netplan/50-cloud-init.yaml ``` on verra ce qui suit dans le fichier d'origine : ``` # This file is generated from information provided by the datasonrce. Changes # IP to it wIll not persist across an instance reboot. To disable clond-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: [config: disabled] network: ethernets: eth0: dhcp4: true optional: true version: 2 ``` Après avoir ajouté les informations Wi-Fi de manière à ce qu'elles ressemblent à ce qui suit : ``` # This file is generated from information provided by the datasonrce. Changes # IP to it wIll not persist across an instance reboot. To disable clond-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/9-disable-network-config.cfg with the followin, # network: [config: disabled] network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlanO: optional: true access-points: "MyWiFi" password: "MyPass" dhcp4: true ``` S'assurer que les 3 informations ci-dessus sont remplacées par celles collectées dans les étapes précédentes: * wlan0 * MyWiFi * MyPass Il faut être très prudent pour saisir les informations ci-dessus avec le format exact au démarrage du fichier d'origine, et tous les retraits doivent être saisis avec des espaces (4 espaces à chaque niveau), PAS des tabulations. Enregistrer le fichier et redémarrer, on doit avoir la configuration WiFi lorsque la machine est à nouveau opérationnelle. Par défaut, Ubuntu Server utilise Cloud Init pour configurer automatiquement le réseau. Ceci est utile lorsqu'on l'installe sur un serveur auquel on n'a pas d'accès physique, mais lorsqu'on veut configurer le réseau soit-même, il faut le désactiver\\ \\ Pour cela créer un fichier /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg et y mettre la ligne suivante: \\ `network: {config: disabled}` ### Configurer le WiFi sans accès à la console du Pi Lorsqu'on ne peut pas accéder à la console du Pi, car on n'a pas de connexion Ethernet et qu'on ne peut pas non plus se connecter au port série, on peut configurer le réseau en éditant les fichiers sur la carte SD. Ceci doit être effectué avant le premier démarrage sur la carte SD, sinon on risque de casser le système de fichiers Monter la partition inscriptible de la carte SD sur un ordinateur, et suivre les mêmes étapes que dans le cas où vous a accès à la console. ``` sudo bash -c "echo 'network: {config: disabled}' > /media/$USER/writable/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg" sudo nano /media/$USER/writable/etc/netplan/10-my-config.yaml ``` Fermer maintenant le terminal et retirer la carte SD en toute sécurité. Il n'est pas besoin d'exécuter de commandes netplan, la configuration sera appliquée automatiquement lorsqu'on démarrere le Pi.