Path: ...!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!newsfeed.bofh.team!paganini.bofh.team!not-for-mail From: Anton Shepelev Newsgroups: comp.sys.raspberry-pi,alt.os.linux.debian Subject: Execution of setupcon at boot Date: Sun, 15 Sep 2024 21:20:37 -0000 (UTC) Organization: To protect and to server Sender: K6jYr/KRs1bJbN+ht7HkKw Message-ID: Injection-Date: Sun, 15 Sep 2024 21:20:37 -0000 (UTC) Injection-Info: paganini.bofh.team; logging-data="249326"; posting-host="e5rN4gzt5OynarproGyj1g.user.paganini.bofh.team"; mail-complaints-to="usenet@bofh.team"; posting-account="9dIQLXBM7WM9KzA+yjdR4A"; User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.10.8-100.fc39.x86_64 (x86_64)) X-Notice: Filtered by postfilter v. 0.9.3 Bytes: 3797 Lines: 65 Hello, all On RPi OS Bookworm, console and keyboard initialisation via `setupcon' seem doubly duplicated (sic), and I am x-posting this to .debian because it may not be speific to Pi OS: 1. in that systemd services and init.d scripts do the same thing: /etc/init.d: console-setup.sh -> /lib/console-setup/console-setup.sh keyboard-setup.sh -> /lib/console-setup/keyboard-setup.sh /usr/lib/systemd/system: console-setup.service -> /lib/console-setup/console-setup.sh keyboard-setup.service -> /lib/console-setup/keyboard-setup.sh 2. in that /lib/console-setup/console-setup.sh includes both console and keyboard setup, making keyboard-setup.sh redundant. This is futher complicated by what I consider two crutches in /lib/console-setup/keyboard-setup.sh : 1. `setupcon' is invoked if and only if at least one of following conditions is met: 1. this is /not/ the first time after reboot that the script runs -- a special case misleadingly annotated in the source as skipping an invocation "after boot," without an explanation why it should be skipped. Nor does it always /skip/ the invocation, because this is only one of the two sufficient (OR'ed) conditions . 2. the cache (from a previous invocation with --size) does not exist or is older than the default configuration in /etc/default/console-setup. 2. it invokes `setupcon' with the --size option, which causes it to cache the necessary data files under /etc/console-setup so that they are available to subsequent invocations before /usr is mounted, e.g. at an early state of the boot process. In the script, however, --size seems redunadant, because: 1. if at the time of invocation /usr is not yet mounted, `setupcon' will take its data from the cache, and --size will have no effect, (expect, perhaps, rewriting the cache with the same contents). 2. if at the time invocation /usr is already mounted, `setupcon' will build the data based on its config file, /etc/default/console-setup , and the files in /usr . Therefore, I think that all this confusing complexity can be reduced to a very simple invocation that configures both keyboard and console: if [ -f /etc/default/locale ]; then # In order to permit auto-detection of the charmap when # console-setup-mini operates without configuration file. . /etc/default/locale export LANG fi setupcon and is invoked by a single systemd service requiring that /usr be mounted, as the current services already do. Perhaps it is a newbie's wishful thinking, so what is the reason for current setup? Also, are able to configure your Bookworms to set the font in your TTYs without changing the aforementioned shell scripts? I was not, and had to simplify the process as described above.