1

I have a Board which uses a High-speed UART instead of some legacy hardware thats compiled into the kernel. The serial device only gets detected after loading the kernel module intel_lpss_pci. I am on debian "buster" which uses systemd to manage everything-

This means that enabling output and a getty login is not working as expected.

  • console=ttyS0,115200n8 console=tty0 will not cause systemd to open a getty login
  • kernel messages are delayed as well (and incomplete)
  • systemd will open the getty prompt if I manually add the target
  • That target does not work for rescue mode
  • That target does nothing for the init-ramdisk

Workaround for the normal System

I found that manually telling systemd to open a login via getty works: systemctl enable serial-getty@ttyS0.service This still adds some notable delay to displaying the first kernel messages, but I can atleast login.

Adding the module to initramfs (did not help) I added the intel_lpss_pci module to /etc/initramfs-tools/modules, rebuilt the init-ramfs and verified the module was copied there. This did not make a difference

Required behaviour I want the serial console to work (as I don't have a screen), straight from the Ramdisk - without recompiling a kernel. Is there anyone knowledgeable what I am missing? Do I need to add a script to init-ramfs to load this module as early as possible, and if so - how does this work with the initramfs-tools?

  • Related questions are https://unix.stackexchange.com/questions/248287/ , https://unix.stackexchange.com/questions/278842/ , and tangentially https://unix.stackexchange.com/questions/194197/ . – JdeBP May 22 '18 at 17:50
  • nope, the dependency on kernel modules to make the tty's appear late seem to be the additional trouble that's not handled in any of these – Norbert Lange May 22 '18 at 20:07

0 Answers0