Escribí un programa que apaga automáticamente una Raspberry Pi 3b (Ubuntu Server 16.04) tan pronto como se presiona un botón. No es más que un pequeño script bash que lee un pin GPIO del Pi cada segundo y apaga el dispositivo si se presiona el botón.
Sin embargo, cometí un error y la condición siempre es verdadera, lo que significa que el programa apaga la Pi tan pronto como se inicia. Debido a una estupidez increíble, ya vinculé este programa a systemd ('After=multi-user.target'). Significado:tan pronto como el Pi terminó de arrancar, se apaga de nuevo. No veo ninguna posibilidad de interrumpir este proceso. ¿Hay alguna manera de editar '/boot/config.txt' de manera que se supriman ciertos procesos 'systemd'? ¿Alguna otra idea de cómo podría arreglar este sistema? En mi Mac solo veo la partición de arranque y mi computadora Linux no tiene ranura para tarjeta SD.
P.D.:mostré una de estas imágenes en la tarjeta SD al principio https://ubuntu-pi-flavour-maker.org/download/ usando 'dd'.
P.D.2:el apagado se inicializa con 'poweroff'
Respuesta aceptada:
Con systemd para init, se puede alcanzar el objetivo de rescate de systemd agregando systemd.unit=rescue.target
(o emergency.target
si eso falla) a la línea de comandos de arranque en /boot/cmdline.txt
.
Si esto no funciona por algún motivo, o en un sistema que no sea systemd, agregue init=/bin/sh
hasta el final de la línea, lo que hará que el sistema omita por completo cualquier cosa que tenga que ver con init.
Es posible que deba montar el sistema de archivos de lectura y escritura para realizar modificaciones. Puede hacer esto agregando rw
a la línea de comando de arranque, o emita mount -o remount,rw /
al arrancar.