состояния паникует, если console=tty0 не находится в командной строке

я настроил свою систему Ubuntu 18.04 для использования ранней консоли начальной загрузки, изменив параметры командной строки ядра на:

console=uart,mmio32,0xd091c000 console=tty0

Это дает мне раннюю консоль начальной загрузки по последовательному порту до определенного момента во время начальной загрузки, затем переключается на передающие регистрации ядра к /dev/tty0, и затем система подходит очень хорошо.

, Так как я хочу весь регистрации ядра столкнуться со своим последовательным портом, я удалил console=tty0.

console=uart,mmio32,0xd091c000

проблема теперь состоит в том, что существует паника ядра:

Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100

нет ничего в регистрации, которая, кажется, указывает на ошибку.

, Что этот параметр командной строки потребовался бы, чтобы загружать?

0
задан 2 March 2021 в 05:44

1 ответ

Вот моя теория. Консоль на основе UART не является настоящим TTY. Намерение для ядра переключается на регулярное последовательное устройство позже, согласно документам для консоли = (добавлено акцент):

начать рано, опрос Консоль режима на 8250/16550 UART на указанном порте ввода / вывода или MMIO-адреса переключается на соответствующее устройство Ttys позже .

Однако это не произошло в то время, когда начинается / init :

[    3.329451] Run /init as init process

Название устройства назначается намного позже:

[    6.759113] 0000:00:1e.3: ttyS4 at MMIO 0xd091c000 (irq = 18, base_baud = 2764800) is a 16550A
0
ответ дан 18 March 2021 в 23:29

Другие вопросы по тегам:

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