summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Borzenkov <arvidjaar@gmail.com>2010-11-07 00:14:49 +0300
committerHarald Hoyer <harald@redhat.com>2010-11-10 15:53:04 +0100
commit161da365e23cd4ac85f06e928a799f3427d8009d (patch)
treee50169b5e8786cbd0ae75846a35a84c9fb3e1082
parentdbcc4e94c54dd386f09ba0709cb42592cc739502 (diff)
downloaddracut-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-xmodules.d/10i18n/console_init10
-rwxr-xr-xmodules.d/10i18n/install18
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