Napsal jsem program, který automaticky vypne Raspberry Pi 3b (Ubuntu Server 16.04), jakmile je stisknuto tlačítko. Není to nic než malý bash skript, který každou sekundu přečte GPIO pin Pi a vypne zařízení, pokud je stisknuto tlačítko.
Udělal jsem však chybu a podmínka je vždy pravdivá, to znamená, že program vypne Pi ihned po spuštění. Kvůli neuvěřitelné hlouposti jsem již propojil tento program se systemd (‘After=multi-user.target‘). To znamená:jakmile Pi dokončí bootování, opět se vypne. Nevidím žádnou šanci tento proces přerušit. Existuje způsob, jak upravit „/boot/config.txt“ tak, aby byly potlačeny určité procesy „systemd“? Nějaký další nápad, jak bych mohl opravit tento systém? Na mém Macu vidím pouze spouštěcí oddíl a můj počítač se systémem Linux nemá slot pro SD kartu.
P.S.:Jeden z těchto obrázků jsem na začátku nahrál na SD kartu https://ubuntu-pi-flavour-maker.org/download/ pomocí 'dd'.
P.S.2:Vypnutí je inicializováno 'vypnutím'
Přijatá odpověď:
S systemd for init lze cíl záchrany systemd dosáhnout připojením systemd.unit=rescue.target
(nebo emergency.target
pokud to selže) na příkazový řádek boot v /boot/cmdline.txt
.
Pokud to z nějakého důvodu nefunguje nebo na nesystémovém systému, přidejte místo toho init=/bin/sh
na konec řádku, což způsobí, že systém zcela obejde cokoli, co souvisí s init.
Možná budete muset připojit souborový systém pro čtení a zápis, abyste mohli provést jakékoli úpravy. Můžete to provést připojením rw
na příkazový řádek spouštění nebo zadejte příkaz mount -o remount,rw /
při spuštění.