Normally locale addon must be installed but users don't know that. Simplify this with adding default C.UTF-8 locale in image. Users can still install addon to use some other locale.
fixes Python3 error
UnicodeEncodeError: 'ascii' codec can't encode characters in position 40-41: ordinal not in range(128)
like
https://github.com/croneter/PlexKodiConnect/issues/1447https://forum.libreelec.tv/thread/23116-pvr-recorder-unsuppored-locale/?postID=147453
from Kodi Python
before
sys.getdefaultencoding(): utf-8
sys.getfilesystemencoding(): ascii
after
sys.getdefaultencoding(): utf-8
sys.getfilesystemencoding(): utf-8
from SSH console
before
# locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
after
# locale
LANG=C.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
When running kernel-overlays-setup as a systemd service we have
a short window where /lib/firmware isn't available.
This causes drm edid override to occasionally fail if the edid file
is requested between switching to sysroot and completion of the
kernel-overlays-setup script.
Setting up firmware and module overlays in init, before switching
to sysroot, closes the gap and also has the benefit that we no longer
need to care about the rather tedious systemd unit ordering.
Signed-off-by: Matthias Reichl <hias@horus.com>
The ancient approach of symlinking /var/log to /storage/log doesn't
play nice with systemd as it doesn't setup proper dependencies and
unmounting /storage during shutdown may fail because systemd doesn't
know that it's needed for /var/log.
Use a conditional bind mount instead so systemd can automatically
create proper dependencies and unmount filesystems in the correct order.
Also store the persistent logfiles on /storage in a .cache/log
directory instead of log to avoid confusing users - users can access
logfiles via /var/log.
Note: we can't use tmpfiles.d to create the .cache/log directory on
/storage because that would run after local-fs.target but we need
the .log directory before that so it has to be done via a one-shot
service.
Signed-off-by: Matthias Reichl <hias@horus.com>
This allows us to use the default debug-shell.service provided
by systemd and cut down on custom made services. This will also
always provide a debug shell as there is no reason we shouldn't
have access to one.
this makes no sense and may stop systemd-tmpfiles-setup,
journald-flush, sshd, irserver from starting
===
Jan 18 18:23:03 openelec systemd[1]: Found ordering cycle on systemd-tmpfiles-setup.service/start
Jan 18 18:23:03 openelec systemd[1]: Found dependency on systemd-journal-flush.service/start
Jan 18 18:23:03 openelec systemd[1]: Found dependency on var-log-debug.service/start
Jan 18 18:23:03 openelec systemd[1]: Found dependency on systemd-tmpfiles-setup.service/start
Jan 18 18:23:03 openelec systemd[1]: Breaking ordering cycle by deleting job systemd-journal-flush.service/start
===
units with DefaultDependencies=no should be always properly ordered.