я настроил свою систему 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
нет ничего в регистрации, которая, кажется, указывает на ошибку.
, Что этот параметр командной строки потребовался бы, чтобы загружать?
Вот моя теория. Консоль на основе 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