diff options
author | Andrey Borzenkov <arvidjaar@gmail.com> | 2010-11-07 00:14:49 +0300 |
---|---|---|
committer | Harald Hoyer <harald@redhat.com> | 2010-11-10 15:53:04 +0100 |
commit | 161da365e23cd4ac85f06e928a799f3427d8009d (patch) | |
tree | e50169b5e8786cbd0ae75846a35a84c9fb3e1082 | |
parent | dbcc4e94c54dd386f09ba0709cb42592cc739502 (diff) | |
download | dracut-161da365e23cd4ac85f06e928a799f3427d8009d.tar.gz dracut-161da365e23cd4ac85f06e928a799f3427d8009d.tar.bz2 dracut-161da365e23cd4ac85f06e928a799f3427d8009d.zip |
i18n: do not use systemd-vconsole-setup
systemd-vconsole-setup was not designed to be run from udevd.
It checks locale environment to decide, whether UNICODE should
be enabled or disabled. Normally environment is setup by
systemd; but the only environment available in udev rules is
those from device properties. It means systemd-vconsole-setup
always assumes default C locale and disables UNICODE.
Revert to using built-in console_init which explicitly
imports locale settings from /etc/vconsole.conf. Alternative
is to revert 6545b9d7 and call console_init directly :)
Additionally patch fixes console_init to use new namespace as
well as ensures that default font is always installed.
Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
-rwxr-xr-x | modules.d/10i18n/console_init | 10 | ||||
-rwxr-xr-x | modules.d/10i18n/install | 18 |
2 files changed, 13 insertions, 15 deletions
diff --git a/modules.d/10i18n/console_init b/modules.d/10i18n/console_init index e6f2da40..bdd39b00 100755 --- a/modules.d/10i18n/console_init +++ b/modules.d/10i18n/console_init @@ -4,7 +4,7 @@ [ -e /etc/vconsole.conf ] && . /etc/vconsole.conf -DEFAULT_SYSFONT=LatArCyrHeb-16 +DEFAULT_FONT=LatArCyrHeb-16 DEFAULT_KEYMAP=/etc/sysconfig/console/default.kmap set_keyboard() { @@ -42,11 +42,11 @@ set_keymap() { set_font() { local dev=$1; local trans=''; local uni='' - [ -z "${SYSFONT}" ] && SYSFONT=${DEFAULT_SYSFONT} - [ -n "${CONTRANS}" ] && trans="-m ${CONTRANS}" - [ -n "${UNIMAP}" ] && uni="-u ${UNIMAP}" + [ -z "${FONT}" ] && FONT=${DEFAULT_FONT} + [ -n "${FONT_MAP}" ] && trans="-m ${FONT_MAP}" + [ -n "${FONT_UNIMAP}" ] && uni="-u ${FONT_UNIMAP}" - setfont ${SYSFONT} -C ${dev} ${trans} ${uni} + setfont ${FONT} -C ${dev} ${trans} ${uni} } dev_close() { diff --git a/modules.d/10i18n/install b/modules.d/10i18n/install index d8647c09..96d563d6 100755 --- a/modules.d/10i18n/install +++ b/modules.d/10i18n/install @@ -73,13 +73,7 @@ gather_vars() { install_base() { dracut_install setfont loadkeys kbd_mode stty - if [ -x /lib/systemd/systemd-vconsole-setup ]; then - dracut_install /lib/systemd/systemd-vconsole-setup - inst_dir /lib/udev - ln -s /lib/systemd/systemd-vconsole-setup "${initdir}/lib/udev/console_init" - else - inst ${moddir}/console_init /lib/udev/console_init - fi + inst ${moddir}/console_init /lib/udev/console_init inst_rules ${moddir}/10-console.rules inst_hook cmdline 20 "${moddir}/parse-i18n.sh" } @@ -123,9 +117,13 @@ install_local_i18n() { inst_opt_decompress ${KEYMAPS} - [[ ${FONT} ]] || FONT=${DEFAULT_FONT} - FONT=${FONT%.psf*} - inst_opt_decompress ${kbddir}/consolefonts/${FONT}.* + inst_opt_decompress ${kbddir}/consolefonts/${DEFAULT_FONT}.* + + if [[ ${FONT} ]] + then + FONT=${FONT%.psf*} + inst_opt_decompress ${kbddir}/consolefonts/${FONT}.* + fi if [[ ${FONT_MAP} ]] then |