summaryrefslogtreecommitdiffstats
path: root/modules.d/10i18n
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/10i18n')
-rwxr-xr-xmodules.d/10i18n/console_init.sh2
-rwxr-xr-xmodules.d/10i18n/module-setup.sh19
2 files changed, 17 insertions, 4 deletions
diff --git a/modules.d/10i18n/console_init.sh b/modules.d/10i18n/console_init.sh
index 3ca0ac1..7349817 100755
--- a/modules.d/10i18n/console_init.sh
+++ b/modules.d/10i18n/console_init.sh
@@ -49,7 +49,7 @@ set_font() {
setfont "${FONT-${DEFAULT_FONT}}" \
-C "${1}" \
${FONT_MAP:+-m "${FONT_MAP}"} \
- ${FONT_UNIMAP:+-u "${FONT_UNIMAP}"}
+ ${FONT_UNIMAP:+-u "${FONT_UNIMAP}"} 2> /dev/null
}
dev_close() {
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
index ac45611..960c41d 100755
--- a/modules.d/10i18n/module-setup.sh
+++ b/modules.d/10i18n/module-setup.sh
@@ -38,13 +38,13 @@ install() {
local CMD
local FN
- if [[ -f $dracutsysrootdir$1 ]]; then
+ if [[ -f $1 ]]; then
MAPS=("$1")
else
MAPNAME=${1%.map*}
mapfile -t -d '' MAPS < <(
- find "${dracutsysrootdir}${kbddir}"/keymaps/ -type f \( -name "${MAPNAME}" -o -name "${MAPNAME}.map*" \) -print0
+ find "${dracutsysrootdir}${kbddir}"/keymaps/ -type f,l \( -name "${MAPNAME}" -o -name "${MAPNAME}.map*" \) -print0
)
fi
@@ -160,6 +160,7 @@ install() {
install_local_i18n() {
local map
+ local maplink
# shellcheck disable=SC2086
eval "$(gather_vars ${i18n_vars})"
@@ -216,7 +217,19 @@ install() {
done
for keymap in "${!KEYMAPS[@]}"; do
- inst_opt_decompress "${keymap}"
+ if [[ -L ${keymap} ]]; then
+ maplink=$(readlink -f "${keymap}")
+ # skip symlinked directories
+ [[ -d ${maplink} ]] && continue
+
+ inst_opt_decompress "${maplink}"
+ # create new symlink to decompressed keymap
+ maplink=${maplink%.gz}
+ keymap=${keymap%.gz}
+ ln -srn "${initdir}${maplink#"$dracutsysrootdir"}" "${initdir}${keymap#"$dracutsysrootdir"}"
+ else
+ inst_opt_decompress "${keymap}"
+ fi
done
inst_opt_decompress "${kbddir}"/consolefonts/"${DEFAULT_FONT}".*