Ho scritto un programma che spegne automaticamente un Raspberry Pi 3b (Ubuntu Server 16.04) non appena viene premuto un pulsante. Non è altro che un piccolo script bash che legge un pin GPIO del Pi ogni secondo e spegne il dispositivo se viene premuto il pulsante.
Tuttavia, ho commesso un errore e la condizione è sempre vera, il che significa che il programma spegne il Pi non appena viene avviato. A causa di un'incredibile stupidità, ho già collegato questo programma a systemd ("After=multi-user.target"). Significato:non appena il Pi ha terminato l'avvio, si spegne nuovamente. Non vedo alcuna possibilità di interrompere questo processo. C'è un modo per modificare '/boot/config.txt' in modo che alcuni processi 'systemd' vengano soppressi? Qualche altra idea su come potrei riparare questo sistema? Sul mio Mac vedo solo la partizione di avvio e il mio computer Linux non ha slot per schede SD.
PS:all'inizio ho eseguito il flashing di una di queste immagini sulla scheda SD https://ubuntu-pi-flavour-maker.org/download/ utilizzando 'dd'.
PS2:lo spegnimento è inizializzato da 'poweroff'
Risposta accettata:
Con systemd per init, la destinazione di salvataggio di systemd può essere raggiunta aggiungendo systemd.unit=rescue.target
(o emergency.target
se non riesce) alla riga di comando di avvio in /boot/cmdline.txt
.
Se questo non funziona per qualche motivo, o su un sistema non di sistema, aggiungi invece init=/bin/sh
alla fine della linea, che farà sì che il sistema ignori completamente qualsiasi cosa abbia a che fare con init.
Potrebbe essere necessario montare il filesystem in lettura e scrittura per apportare modifiche. Puoi farlo aggiungendo rw
alla riga di comando di avvio o emettere mount -o remount,rw /
all'avvio.