Замер при запуске с ошибкой "fb: switching to radeondrmfb from EFI VGA"

Две стороны оператора трубы идут параллельно. Для этого обе стороны запускаются в отдельных процессах. (Это был единственный способ сделать это в исходной оболочке Unix, и это все еще единственный способ сделать это в современных оболочках.) Рассмотрим фрагмент вроде

testb=left | testb=right
echo $testb

. В zsh правая часть оператора конвейерной передачи выполняется в исходный процесс, а левая часть выполняется в подоболочке . Подоболочка обычно реализуется через отдельный процесс; даже если оболочка оптимизирует выполнение и не использует отдельный процесс, она гарантирует, что любые изменения состояния оболочки (переменные, перенаправление и т. д.) ограничиваются подоболочкой для согласованности. Таким образом, приведенный выше фрагмент печатает справа .

(Другие оболочки также могут запускать правую часть канала в подоболочке. Среди обычных оболочек только zsh и ATT ksh запускают правую часть в исходном контексте. Левая часть всегда выполняется в подоболочке.)

Если вы хотите передавать данные по конвейеру без создания подоболочки, вы можете использовать замену процесса . Подстановка процесса создает канал в подоболочке и дает контроль над тем, подключен ли исходный контекст к входной или выходной стороне канала.

test "testa" > >(cat)

(Обратите внимание на пробел между > и > (…) : >> (cat) будет анализироваться как подстановка процесса в режиме добавления, что передаст путь к каналу в качестве второго аргумента test . Здесь мы хотим перенаправить вывод вызова функции в канал.)

5
21.06.2018, 16:27
1 ответ

Таким образом, установка режима — это система, в которой ядро ​​изменяет графические режимы, а не ваш X-сервер. Это был первый шаг, необходимый для того, чтобы X-сервер (или другая система отображения )не обязательно запускались от имени пользователя root, а драйверы для большинства современных аппаратных средств используют настройку режима для изменения графических настроек.

Однако проблема заключается в том, что для того, чтобы установка режима работала, аппаратное обеспечение должно иметь все необходимое для правильной работы. В случае некоторых графических процессоров AMD это означает, что ядру необходимо загрузить прошивку в графический процессор; иначе экран больше не сможет обновляться. Обратите внимание, что только приводит к зависанию экрана; это не авария. Таким образом, если ваша система является сервером, вы можете игнорировать это; но для настольных компьютеров или ноутбуков это явно не очень хорошо.

Поскольку рассматриваемая микропрограмма не является свободным программным обеспечением в соответствии с определением Debian , ее нельзя упаковать в «основные» репозитории Debian. Однако это не означает, что он вообще не упакован; вместо этого он просто упакован в репозиторий non-free. Это также означает, что он недоступен в программе установки.

Чтобы решить эту проблему, все, что вам нужно сделать, это:

  • загрузитесь с помощьюnomodeset(или ssh в машину)
  • включить не -свободный репозиторий, отредактировав /etc/apt/sources.listи добавив contrib non-freeпосле main, который уже есть в некоторых строках
  • запустить apt -получить обновление
  • установите пакет firmware-amd-graphics, который теперь будет извлечен из non-free.
  • перезагрузка, на этот раз без nomodeset, чтобы активировать прошивку.
5
27.01.2020, 20:41

Теги

Похожие вопросы