Como posso iniciar um shell se a inicialização falhar?

1

Durante a inicialização, estou procurando uma maneira de obter acesso a um terminal se a inicialização falhar.

Como está acontecendo comigo em este bug .

    
por nelaaro 30.03.2017 / 09:42

1 resposta

2

De acordo com este documento, as pessoas inteligentes que já são já colocaram em prática um console de resgate

link

$ systemctl enable debug-shell.service  
Created symlink /etc/systemd/system/sysinit.target.wants/debug-shell.service → /lib/systemd/system/debug-shell.service.

Isso é ativado em tty9. Você pode acessar pressionando Ctrl alt F9 ou Ctrl alt [esquerda / direita] para alternar para o tty correto conforme a necessidade.

cat /lib/systemd/system/debug-shell.service 
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Early root shell on /dev/tty9 FOR DEBUGGING ONLY
Documentation=man:sushell(8)
DefaultDependencies=no
IgnoreOnIsolate=yes
ConditionPathExists=/dev/tty9

[Service]
Environment=TERM=linux
ExecStart=/bin/bash
Restart=always
RestartSec=0
StandardInput=tty
TTYPath=/dev/tty9
TTYReset=yes
TTYVHangup=yes
KillMode=process
IgnoreSIGPIPE=no
# bash ignores SIGTERM
KillSignal=SIGHUP

# Unset locale for the console getty since the console has problems
# displaying some internationalized messages.
Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=

[Install]
WantedBy=sysinit.target
    
por nelaaro 30.03.2017 / 09:42