[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Fixing the missing serial console after installation issue



On 10/01/2017 12:54 PM, Samuel Thibault wrote:
>> But is that information available in finish-installation.d/90console?
> 
> The point is: it doesn't need to be.  We need 90console for non-systemd
> systems because sysvinit etc. are not able to automatically get the
> console configuration from the kernel commande line.  Systemd, however,
> is, and thus doesn't need anything in 90console.

Hmm. But do we always have "console=$device" explicitly specified on
the command line on all targets when installing a new system? It's
not the case on sparc64, for example. But /var/run/console-device
contains /dev/ttyS0.

>>> Well, your solution is somehow a "quick hack": enabling serial console
>>> automatically already works "for all archs", there is just something
>>> which doesn't happen to work in your case, and AIUI it's writing on the
>>> installed system the kernel parameters which were passed to boot d-i.
>>
>> Are you sure that's the case?
> 
> Yes.

Hmm, ok. I need to test that on other targets than sparc64.

>> It's there for upstart and sysvinit but not for systemd. By default,
>> systemd does not start a serial getty unless you pass console=ttyS0 on
>> the kernel command line or enable the service explicitly.
> 
> Yes, that's on purpose: it has to be there on the command line for
> kernel messages to get printed on ttyS0 anyway.

On sparc64, the kernel messages are printed on the serial console
after a fresh installation. But systemd does not start a getty
on the serial console. So users are unable to login.

>> Are you getting a serial console enabled by default on a fresh systemd
>> installation?
> 
> What do you mean by "serial console enabled by default"?  Perhaps that's
> where there is misunderstanding.

A serial console with a getty which allows to login.

>>> Or is there really no way on your system for d-i to be able to write
>>> down the parameters to be passed to the kernel for the installed system?
>>
>> Well, I have just adopted this particular script for systemd and effectively
>> used the same mechanism as for sysvinit and upstart. Would you have preferred
>> a completely different mechanism?
> 
> I don't "prefer" something, I'm just saying how things are currently
> supposed to work: somehow the kernel for d-i has console=ttyS0 on its
> command line so that d-i gets its output on ttyS0, and d-i normally
> copies what is passed to its kernel command line into the installed
> system, so that the installed system behaves just like d-i behaved,
> which is normally what the user expects.

Do you mean that d-i is always booting with "console=ttyS0"?

>> There is nothing special about sparc64 in this regard.
> 
> Perhaps that "enabled by default" thing.

The difference would be that d-i is not booting with console=ttyS0
but it's still using the serial console on sparc64.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


Reply to: