J'ai écrit un programme qui éteint automatiquement un Raspberry Pi 3b (Ubuntu Server 16.04) dès qu'un bouton est enfoncé. Ce n'est rien d'autre qu'un petit script bash qui lit une broche GPIO du Pi toutes les secondes et éteint l'appareil si le bouton est enfoncé.
Cependant, j'ai fait une erreur et la condition est toujours vraie, ce qui signifie que le programme arrête le Pi dès qu'il est démarré. À cause d'une stupidité incroyable, j'ai déjà lié ce programme à systemd ('After=multi-user.target'). Signification :dès que le Pi a fini de démarrer, il s'éteint à nouveau. Je ne vois aucune chance d'interrompre ce processus. Existe-t-il un moyen de modifier le fichier "/boot/config.txt" de manière à supprimer certains processus "systemd" ? Une autre idée de comment je pourrais réparer ce système ? Sur mon Mac, je ne vois que la partition de démarrage et mon ordinateur Linux n'a pas d'emplacement pour carte SD.
P.S. :J'ai flashé une de ces images sur la carte SD au début https://ubuntu-pi-flavour-maker.org/download/ en utilisant 'dd'.
P.S.2 :l'arrêt est initialisé par 'poweroff'
Réponse acceptée :
Avec systemd pour init, la cible de sauvetage de systemd peut être atteinte en ajoutant systemd.unit=rescue.target
(ou emergency.target
si cela échoue) à la ligne de commande de démarrage dans /boot/cmdline.txt
.
Si cela ne fonctionne pas pour une raison quelconque, ou sur un système non-systemd, ajoutez à la place init=/bin/sh
à la fin de la ligne, ce qui fera que le système contournera complètement tout ce qui concerne init.
Vous devrez peut-être monter le système de fichiers en lecture-écriture afin d'apporter des modifications. Vous pouvez le faire en ajoutant rw
à la ligne de commande de démarrage, ou émettez mount -o remount,rw /
au démarrage.