Arch Linux – No Login Prompt on Serial Console

arch linuxgettyserial-console

I have connected a USB-to-serial cable from OS X to a Banana Pi board running Arch Linux ARM, distributed by Lemaker. The connection itself works well – I see all the boot messages on startup, I can drop to U-Boot and issue commands etc.; I assume that the connection itself is working as expected.

However, as soon as the boot sequence finishes and I should be prompted for my credentials, the screen goes blank (clearing previous entries) and no login prompt appears.

Googling around revealed that I should:

  1. Enable getty on the serial console: systemctl enable getty@ttyS0.service
  2. Ensure that the kernel boot argument console=ttyS0,115200 is the last console parameter

Doing that, I still do not get the login prompt. Checking the logs reveals that systemd for some reason cannot start dev-ttyS0.device:

Nov 25 20:20:27 pi-server systemd[1]: Timed out waiting for device dev-ttyS0.device.
Nov 25 20:20:27 pi-server systemd[1]: Dependency failed for Serial Getty on ttyS0.

journalctl -u dev-ttyS0.device does not reveal any additional information – only that it timed out. systemctl start dev-ttyS0.device also times out.

What am I missing? Why can't systemd start the device? And more importantly, why is the login prompt missing?

Running Linux pi-server 3.4.90 #2 SMP PREEMPT Tue Aug 5 14:11:40 CST 2014 armv7l GNU/Linux

Thank you for your assistance and guidance!

Best Answer

After reading more on the internets I found out that a newer version of systemd requires a kernel with configuration option CONFIG_FHANDLE=y - however, this option is not present on the kernel version included in the official banana-pi ArchLinux image (3.4.90).

I recompiled the kernel with the option included and now the login prompt appears as expected -> everything is great.

For those interested in compiling the newer kernel (3.4.103+ at the time of this writing) I followed the instructions provided here on a virtual Ubuntu Server 14.04. Did not encounter any problems. I only followed to a point where I had kernel compiled - I did not create a new SD image.

Update

The official Banana Pi Arch Linux image now contains the new kernel version 3.4.103 so there is no need to recompile.

Related Question