Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request: display multiple issue files/directories through agetty #1041

Closed
rfairley opened this issue May 19, 2020 · 3 comments
Closed

Comments

@rfairley
Copy link

In Fedora CoreOS (FCOS), similar to MOTD in #1034, we plan to generate runtime issue fragments to display through agetty, which should remain visible to the serial console before login at any time after boot - an example. Currently in FCOS this is handled through console-login-helper-messages, which generates a combined runtime snippet and symlinks from /etc/issue.d for agetty to display. Ideally, we would like to write snippets directly to /run/issue.d without symlinking.

Currently in agetty, /run/issue and /run/issue.d are read as a backup if /etc/issue does not exist, but --issue-file will override and read the specified file or directory.

Could --issue-file be extended to accept a list of files/directories, which would all be displayed in the order given? That way, FCOS (and other distributions) could pass something like agetty --issue-file=/etc/issue:/etc/issue.d:/run/issue:/run/issue.d:/usr/lib/issue:/usr/lib/issue.d when setting up the serial console.

An alternative, which would also fit our use case, could be adding an --issue-fallthrough flag, which would display all of the default {issue,issue.d} files under {/etc,/run,/usr/lib}, i.e. not stopping if /etc/issue is found. Extending --issue-file to accept multiple directories may be a more natural addition though.

Passing either of the two proposed options would mean all of the snippets under /run and /usr/lib would be displayed in addition to under /etc, overriding the default behavior added in #828 where /run/issue is only shown as a backup for /etc/issue. Is there any reason that distributions generally should not do this (override the default "backup" behavior in this way)?

@karelzak
Copy link
Collaborator

The current agetty issue file semantic is complicated because "no file" has been standard way how to disable issue file printing at all (so, admins used "rm /etc/issue" rather than touch agetty setting...).

Extending --issue-file to accept multiple files/directories sounds good and it's possible to implement it in a backwardly compatible way.

karelzak added a commit that referenced this issue May 19, 2020
The current default behavior is to print the first issue file/dir and
all alternative locations are used as a backup solution only. If something
is found than the rest is ignored. The --issue-file allow to overwrite
this default behavior, but currently it supports only one file/dir.

This patch extend --issue-file to support ':' separated list of paths
and *all* the files (if exist and no empty) in the list are printed.

 agetty --issue-file=/etc/issue:/etc/issue.d:/run/issue:/run/issue.d:/usr/lib/issue:/usr/lib/issue.d

Addresses: #1041
Signed-off-by: Karel Zak <kzak@redhat.com>
@karelzak
Copy link
Collaborator

Implemented. It will be in v2.36.

@rfairley
Copy link
Author

Thanks @karelzak!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants