Unix - Systemd: базовый c .target - PullRequest
0 голосов
/ 15 марта 2020

Я случайно установил в качестве цели systemctl по умолчанию значение basi c, пытаясь переключиться с многопользовательской на графическую цель на моем Raspberry Pi 3B, работающем под управлением Raspbian OS. С тех пор, когда я загружаю свой RPi, он не запускается и отображает только приветственный экран. Я пытался редактировать файлы config и cmdline в режиме восстановления, чтобы попытаться получить доступ к командной строке, но не смог. Может кто-нибудь объяснить мне, что является основной целью c, потому что я искал в Интернете часами и не могу найти правильное объяснение? Нужно ли мне сейчас форматировать RPi или я могу каким-то образом получить доступ к командной строке, чтобы переключиться на многопользовательскую цель? Заранее спасибо.

1 Ответ

0 голосов
/ 22 марта 2020

Документация по всем системным так называемым специальным устройствам доступна на справочной странице systemd.special(7) (или в соответствующей онлайн-версии ).

basic.target - это точка синхронизации с ранней загрузкой, упорядоченная еще до initrd, поэтому служба для запросов входа в систему просто не запускается, поэтому нет командной строки для работы. Это хорошо описано и визуализировано на справочной странице bootup (7) .

Вы можете временно переопределить цель по умолчанию из командной строки ядра, используя аргумент systemd.unit= ( systemd (1) , раздел Командная строка ядра ).

В вашем случае добавление systemd.unit=multi-user.target в командную строку ядра должно быть достаточным, чтобы вы могли загрузиться обратно в rPi и затем сделать изменение цели постоянным, вызвав systemctl set-default multi-user.target (или graphical.target, как это кажется быть оригинальным способом, которым вы пытались следовать).

...