J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.
5138 links
J'ai migré mon Raspberry Pi4 4Gb sous Xubuntu 20.04 (en passant par une version serveur). Ça fonctionne beaucoup mieux qu'avec la version Raspian pourtant officielle et les logiciels sont à jour. Je suis vraiment content de la bascule. Seuls quelques logiciels ne peuvent être installés car pas développés pour les processeurs ARM (SublimeText, Redshift). J'ai pu, jusqu'à présent, installer tous les autres logiciels que j'utilise habituellement sans souci.
When you install Bionic or use a cloud image of Bionic a file will appear in /etc/netplan
depending on the renderer in use. Here is a breakdown of the various types:
Install Type | Renderer | File |
---|---|---|
Server ISO | systemd-networkd | /etc/netplan/01-netcfg.yaml |
Cloud Image | systemd-networkd | /etc/netplan/50-cloud-init.yaml |
Desktop ISO | NetworkManager | /etc/netplan/01-network-manager-all.yaml |
Do note that configuration files can exist in three different locations with the precidence from most important to least as follows:
/run/netplan/*.yaml
/etc/netplan/*.yaml
/lib/netplan/*.yaml
Alphabetically later files, no matter what directory they are in, will amend keys if the key does not already exist and override previous keys if they do.
The best method for demonstrating what netplan can do is by showing some examples. Keep in mind that these are very simple examples that do not demonstrate complex situations that netplan can handle.
The following configures four devices:
ethernets:
enp3s0:
dhcp4: true
enp4s0:
addresses:
- 192.168.0.10/24
gateway4: 192.168.0.1
mtu: 1480
nameservers:
addresses:
- 8.8.8.8
- 9.9.9.9
net1:
addresses:
- fe80::a00:10a/120
gateway6: fe80::a00:101
match:
macaddress: 52:54:00:12:34:06
net2:
dhcp4: true
dhcp6: true
match:
macaddress: 52:54:00:12:34:07
mtu: 9000
Voir aussi le wiki d'ubuntu.
Si Blueman ne démarre pas, il faut supprimer tout le dossier /var/lib/bluetooth
et redémarrer le système systemctl reboot
.
J'utilisais jusqu'à présent une Raspian Buster sur un Pi4 4Gb et un écran VGA (à l'aide d'un adaptateur VGA/HDMI).
Suite à l'article de SebSauvage, j'ai voulu tester la version Ubuntu Mate. Sauf qu'elle n'est pas disponible pour le Pi4. Je me suis donc rabattu sur la version server (qui est en version 20 alors que la Mate est en version 18).
Bien que la clé sur laquelle le système est installée ait été flashée à l'aide de l'imager officiel, une fois installée dans le pi, le démarrage était impossible.
Il existe une autre méthode si l'on a téléchargé l'archive en .xz
: https://ubuntu.com/tutorials/create-an-ubuntu-image-for-a-raspberry-pi-on-ubuntu#1-overview.
Dans un premier temps, je me suis dit que cela venait de mon écran VGA/HDMI. J'ai donc forcé le signal HDMI dans le fichier usercfg.txt
:
hdmi_force_hotplug=1
hdmi_drive=2
Effectivement, le signal n'était pas envoyé. Par contre, au lieu d'avoir un boot normal, le pi me disait qu'il ne trouvait pas le réseau et qu'il tentait de démarrer sur l'USB en m'affichant le message suivant :
No ethernet found
Starting USB
No working controller found
#Info: input data size = 6 = 0x6 Hit
U-bount > S (...)
J'ai tronqué la fin du message car il s'agissait d'une suite de carrés blancs (non, ce n'était pas du porn, joke pour vieux inside).
Il fallait donc modifier la manière dont le pi cherchait à démarrer. J'ai suivi le tuto sur le wiki d'ubuntu pour la version 18.
Voir les notes sur la version FocalFossa
En fait, le problème vient du ventilateur que j'utilise (celui de Pimoroni). Il réutilise les broches de la console série sur le GPIO pour contrôler sa LED RGB. Il envoie un signal régulièrement qui fait que le boot ne se fait pas car cela équivaut à presser une touche durant le démarrage. Pour résoudre le problème, il faut désactiver la console série en mettant le paramètre enable_uart
à 0 dans le fichier /boot/firmware/syscfg.txt
ce qui permet une séquence de démarrage complete (bug 1873520).
Dans le fichier /system-boot/config.txt
, j'ai modifié les lignes comme suit :
(note : je laisse l'exemple suivant pour l'historique mais ne pas en tenir compte)
# Please DO NOT modify this file; if you need to modify the boot config, the
# "usercfg.txt" file is the place to include user changes. Please refer to
# the README file for a description of the various configuration files on
# the boot partition.
# The unusual ordering below is deliberate; older firmwares (in particular the
# version initially shipped with bionic) don't understand the conditional
# [sections] below and simply ignore them. The Pi4 doesn't boot at all with
# firmwares this old so it's safe to place at the top. Of the Pi2 and Pi3, the
# Pi3 uboot happens to work happily on the Pi2, so it needs to go at the bottom
# to support old firmwares.
[pi4]
#kernel=uboot_rpi_4_32b.bin
#max_framebuffers=2
kernel=vmlinuz
initramfs initrd.img followkernel
# Pour démarrer en mode 64 bits
arm_64bit=1
#device_tree_address=0x03000000
[pi2]
kernel=uboot_rpi_2.bin
[pi3]
kernel=uboot_rpi_3_32b.bin
[all]
#device_tree_address=0x03000000
# The following settings are "defaults" expected to be overridden by the
# included configuration. The only reason they are included is, again, to
# support old firmwares which don't understand the "include" command.
enable_uart=1
cmdline=nobtcmd.txt
include syscfg.txt
include usercfg.txt
Dans le fichier /system-boot/cmdline.txt
, j'ai également modifié le root=LABEL=writable
pour root=/dev/mmcblk0p2
(ce qui signifie multimedia card block 0 partition 2
) afin que le Pi ne cherche pas à démarrer sur l'USB.
Une fois la carte réinsérée, le pi a démarré.
Pour activer le wifi, il faut au préalable paramétrer le fichier /system-boot/network-config
:
# This file contains a netplan-compatible configuration which cloud-init
# will apply on first-boot. Please refer to the cloud-init documentation and
# the netplan reference for full details:
#
# <a href="https://cloudinit.readthedocs.io/">https://cloudinit.readthedocs.io/</a>
# <a href="https://netplan.io/reference">https://netplan.io/reference</a>
#
# Some additional examples are commented out below
version: 2
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
dhcp4: true
optional: true
access-points:
myhomewifi:
password: "S3kr1t"
Bien sûr, le nom de votre wifi et son mot de passe doivent être personnalisés...
Mais ça peut ne pas fonctionner. Il faut donc écrire dans le fichier /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
la ligne suivante :
network: {config: disabled}
Et dans le fichier /etc/netplan/50-cloud-init.yaml
(/etc/netplan/01-network-manager-all.yaml
pourra être modifié ultérieurement quand le bureau sera installé) :
network:
version: 2
renderer: NetworkManager
wifis:
wlan0:
dhcp4: true
dhcp6: true
optional: true
access-points:
"******":
password: "**********"
Pour que la configuration soit prise en compte, il faut ensuite lancer les commandes suivantes :
sudo netplan --debug generate
sudo netplan apply
Et redémarrer le pi en lançant un reboot
ou la commande :
sudo shutdown -r now
J'ai ainsi pu faire les mises à jour et installer xubuntu avec :
sudo apt-get install xubuntu-desktop
Pour plus de précisions, voir mon post https://bookmarks.ecyseo.net/?_daILQ.
Il y a quelques erreurs qui apparaissent de ci de là. Je n'ai pas eu le temps d'investiguer plus avant pour l'instant.
Quoiqu'il en soit, j'ai une installation fonctionnelle. Au bout d'une journée de recherche, sans en valait la peine. J'ai enfin un système à jour moins vieillot que Raspian.
Reste à voir ce que ça va donner dans la durée...
[Edit] Ce post sera mis à jour régulièrement au fur et à mesure de mes investigations et paramétrages.
Quelqu'un d'ubuntu est ouvert et disponible pour les autres, dévoué aux autres, ne se sent pas menacé parce que les autres sont capables et bons car il ou elle possède sa propre estime de soi — qui vient de la connaissance qu'il ou elle a d'appartenir à quelque chose de plus grand — et qu'il ou elle est diminué quand les autres sont diminués ou humiliés, quand les autres sont torturés ou opprimés.
— Desmond Tutu