Deutsch   English   Français   Italiano  
<vc7j35$7jfe$1@paganini.bofh.team>

View for Bookmarking (what is this?)
Look up another Usenet article

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 <ant@tilde.culb>
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: <vc7j35$7jfe$1@paganini.bofh.team>
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.