You are not logged in.

#1 2012-01-06 23:41:38

masteryod
Member
Registered: 2010-05-19
Posts: 433

[SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Hello, it didn't bother me much before cause I always had DAEMON_LOCALE=NO, but with recent upgrade new rc.conf was introduced with DAEMON_LOCALE set by default to YES. Now my messages are like this:

Checking Filesystems    [BUSY] /dev/sda2: czysty, 183465/647168 plików, 2083335/2588473 bloków

Questions are: is it supposed to be half message in english half in polish? and how to repair those missing characters? (loading console font is done after those messages)

BTW this is on virtualbox guest with all testing + kde-unstable repos enabled

Last edited by masteryod (2012-06-06 10:46:45)

Offline

#2 2012-01-06 23:53:47

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Cannot reproduce it

KEYMAP="pl"
CONSOLEFONT="Lat2-Terminus16"
CONSOLEMAP="8859-2"
LOCALE="pl_PL.UTF-8"
DAEMON_LOCALE="yes"

Please post your rc.conf.


Yes, it seems not every message is localized so the output is half English, half Polish.

Offline

#3 2012-01-07 00:00:31

Gusar
Member
Registered: 2009-08-25
Posts: 3,605

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

I don't think there's away around it because, as you said, the font gets loaded later. It's just cosmetic, but if it bothers you, set DAEMON_LOCALE to "no" again. Or maybe there's a way to put a custom font into the kernel, but that would require compiling your own kernel. Or maybe some initramfs magic is possible?

Offline

#4 2012-01-07 00:12:49

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

As I wrote, I don't have any problems with getting the right characters:

Sat Jan  7 00:47:01 2012: :: Adjusting system time and setting kernel timezone    [BUSY]    [DONE] 
Sat Jan  7 00:47:01 2012: :: Starting UDev Daemon    [BUSY]    [DONE] 
Sat Jan  7 00:47:01 2012: :: Triggering UDev uevents    [BUSY]    [DONE] 
Sat Jan  7 00:47:01 2012: :: Waiting for UDev uevents to be processed    [BUSY]    [DONE] 
Sat Jan  7 00:47:01 2012: :: Bringing up loopback interface    [BUSY]    [DONE] 
Sat Jan  7 00:47:01 2012: :: Checking Filesystems    [BUSY] /dev/sda3: czysty, 99701/480496 plików, 827457/1921775 bloków
Sat Jan  7 00:47:01 2012: /dev/sda1: czysty, 30/26208 plików, 20869/104420 bloków
Sat Jan  7 00:47:01 2012: /dev/sda4: czysty, 65716/1941504 plików, 5312473/7755378 bloków

Offline

#5 2012-01-07 15:15:31

masteryod
Member
Registered: 2010-05-19
Posts: 433

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Thanks for the response, good to know it's not normal behavior

#
# /etc/rc.conf - Main Configuration for Arch Linux
#
# See 'man 5 rc.conf' for more details
#

# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
HARDWARECLOCK="UTC"
TIMEZONE="Europe/Warsaw"
KEYMAP="pl"
CONSOLEFONT="lat2-16"
CONSOLEMAP=
LOCALE="pl_PL.UTF-8"
DAEMON_LOCALE="yes"
USECOLOR="yes"

# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
MODULES=(vboxguest vboxsf vboxvideo)

UDEV_TIMEOUT=30

USEDMRAID="no"

USEBTRFS="no"

USELVM="no"

# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
HOSTNAME="yoda-PC"

#interface=eth0
#address=
#netmask=
#broadcast=
#gateway=

# Setting this to "yes" will skip network shutdown.
# This is required if your root device is on NFS.
NETWORK_PERSIST="no"

# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
DAEMONS=(!hwclock @kdm @syslog-ng !network !netfs @crond @cupsd @alsa dbus networkmanager)

I also tried, but with no success:

CONSOLEFONT="Lat2-Terminus16"
CONSOLEMAP="8859-2"

Offline

#6 2012-01-08 20:06:44

electric_indigo
Member
Registered: 2011-05-12
Posts: 89

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Have you added the “consolefont” hook to the “HOOKS” section in your /etc/mkinitcpio.conf? If not, try doing this, then run mkinitcpio. I use the lat2-16 font.

Offline

#7 2012-01-08 23:12:38

masteryod
Member
Registered: 2010-05-19
Posts: 433

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

@electric_indigo, thanks adding "consolefont" worked smile but mkinicpio.conf wiki page doesn't list "consolefont" as a hook, it points "keymap" (which I had enabled) as responsible for keymap and consolefont so what's that all about? Should we fix wiki page?

running "mkinitcpio -p linux" gives me:

...
-> Parsing hook: [keymap]
input in flex scanner failed
...

what's that? removing "keymap" from mkinitcpio.conf gives clean output but I kinda need it

Offline

#8 2012-01-09 05:05:49

electric_indigo
Member
Registered: 2011-05-12
Posts: 89

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Take a look here.

Offline

#9 2012-01-09 05:25:35

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

electric_indigo wrote:

Take a look here.

I have just

[karol@black ~]$ grep ^HOOKS /etc/mkinitcpio.conf
HOOKS="base udev autodetect pata scsi sata filesystems consolefont"

Offline

#10 2012-01-09 18:12:25

masteryod
Member
Registered: 2010-05-19
Posts: 433

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

thanks all of you guys for help

to sum up:
adding 'consolefont" to HOOKs in /etc/mkinitcpio.conf solved missing letters in early boot (I guess it's never to late to learn something wink)

PS mkinicpio wiki pagestates that "keymap" hook is responsible for both keymap and consolefonts, but fonts wiki page suggesting adding consolefont as well, should we fix that?

Last edited by masteryod (2012-01-09 18:13:49)

Offline

#11 2012-01-09 18:30:28

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

masteryod wrote:

PS mkinicpio wiki pagestates that "keymap" hook is responsible for both keymap and consolefonts, but fonts wiki page suggesting adding consolefont as well, should we fix that?

I think so.

Offline

#12 2012-01-21 16:18:40

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

I'm going to fix the HOOKS table, but first I wanted to see if I'm not missing something, so I just posted to the talk page: https://wiki.archlinux.org/index.php?ti … did=168996

Offline

#13 2012-01-22 10:59:09

masteryod
Member
Registered: 2010-05-19
Posts: 433

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

karol wrote:

I'm going to fix the HOOKS table, but first I wanted to see if I'm not missing something, so I just posted to the talk page: https://wiki.archlinux.org/index.php?ti … did=168996

Thanks for that - discussion seems to be good idea

Offline

#14 2012-06-05 00:47:50

mloskot
Member
From: London, United Kingdom
Registered: 2012-06-01
Posts: 86
Website

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Folks,

I see no discusion followed karol's talk on the Wiki. What's the status of this solution?

I have followed the instruction in this thread, in the Wiki and still no luck with Polish fonts set in console mode during boot.
In spite of that I see the following messages on boot (copied from /var/log/boot):

Tue Jun  5 02:14:21 2012: :: Setting Consoles to UTF-8 mode    [BUSY]    [DONE] 
Tue Jun  5 02:14:21 2012: :: Loading Keyboard Map: pl    [BUSY]    [DONE] 
Tue Jun  5 02:14:21 2012: :: Loading Console Font: lat2-16    [BUSY]    [DONE] 

I'm not getting Polish consolefont/keymap properly set.

Interestingly, I noticed that if I add nomodeset option to kernel line in my /boot/grub/menu.lst, then I get console font/keymap working well (obviously, without framebuffer).
I wonder if this observation is relevant here.

Last edited by mloskot (2012-06-05 01:53:01)


Mateusz Loskot | github | archlinux-config
Arch (x86-64) | ThinkPad T400  | Intel P8600| Intel i915
Arch (x86-64) | ThinkPad W700 | Intel T9600 | NVIDIA Quadro FX 2700M

Offline

#15 2012-06-05 08:45:07

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Whenever you edit the "/etc/mkinitcpio.conf" file (ie. add "consolefont" to the HOOKS line), don't forget to regenerate your initramfs image!

# mkinitcpio -p linux

https://wiki.archlinux.org/index.php/Initramfs#HOOKS

It still wasn't fixed? Then try adding keymap (which says there that it "Adds keymap and consolefonts from rc.conf."), and don't forget to regenerate your initramfs image!


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#16 2012-06-05 23:10:16

mloskot
Member
From: London, United Kingdom
Registered: 2012-06-01
Posts: 86
Website

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

DSpider wrote:

Whenever you edit the "/etc/mkinitcpio.conf" file (ie. add "consolefont" to the HOOKS line), don't forget to regenerate your initramfs image!

# mkinitcpio -p linux

Yes, I know and I do execute it every time I touch the "/etc/mkinitcpio.conf"

DSpider wrote:

It still wasn't fixed? Then try adding keymap (which says there that it "Adds keymap and consolefonts from rc.conf."), and don't forget to regenerate your initramfs image!

I have tried that and still no luck:

1. Edit CONSOLE* settings in /etc/rc.conf

[root@dog etc]# grep ^CONSOLE rc.conf 
CONSOLEFONT="lat2-16"
CONSOLEMAP="8859-2"

2. Add consolefont and keymap to HOOKS in /etc/mkinitcpio.conf

[root@dog etc]# grep ^HOOKS mkinitcpio.conf
HOOKS="base udev autodetect sata filesystems fsck consolefont keymap"

3. Run mkinitcpio

[root@dog etc]# mkinitcpio -p linux
==> Building image from preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.3.7-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [sata]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
  -> Running build hook: [consolefont]
  -> Running build hook: [keymap]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.3.7-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [sata]
  -> Running build hook: [filesystems]
  -> Running build hook: [fsck]
  -> Running build hook: [consolefont]
  -> Running build hook: [keymap]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful

I have dug the problem deeper and checked what is going on in the /etc/rc.* scripts. Everything seems to be in order, but the loading of consolefont/keymap on boot is not having any effect in my case:

1. System boots, then
2. Loging in as root
3. Typing in some Polish pangram as test: zażółć gęślą jaźń
4. Observing lack of Polish diacritics printed
5. Re-executing the rc.sysinit steps releated to consolefont/keymap settings:

# source /etc/rc.conf
# source /etc/rc.d/functions
# set_consolefont
:: Loading Console Font: lat2-16 

6. Trying the Polish pangram test again.
7. Success, all Polish characters are rendered correctly.

Here is screenshot which presents the simple test explained above:

7158148321_c42bfca7be_t.jpg

Now, this test suggests to me that the rc.sysinit procedure of configuring consolefont/keymap seems correct.
However, something seems to get messed during rc.sysinit, so the configuration is later overriden and doesn't persist afterwards.

Does anyone have an idea what may be wrong? Does it qualify to be reported as a bug?

Last edited by mloskot (2012-06-06 00:34:10)


Mateusz Loskot | github | archlinux-config
Arch (x86-64) | ThinkPad T400  | Intel P8600| Intel i915
Arch (x86-64) | ThinkPad W700 | Intel T9600 | NVIDIA Quadro FX 2700M

Offline

#17 2012-06-06 00:48:01

mloskot
Member
From: London, United Kingdom
Registered: 2012-06-01
Posts: 86
Website

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

mloskot wrote:

Does anyone have an idea what may be wrong? Does it qualify to be reported as a bug?

It looks the problem is known:

FS#29781 - [initscripts] consolefont is reset to default after loading udev

As mentioned in the comments below the bug report, adding the i915 module to MODULES in /etc/mkinitcpio.conf solves the problem (I have Intel card on Lenovo T400).

Update 2013-03-16: I've installed Arch on Lenovo W700 with NVIDIA and, regardless it's systemd already, I had to add add nouveau to the MODULES for early start in order to get the keys and fonts loaded properly.


I should have checked the bugs database earlier smile

p.s. Would it be a good idea to mark the subject with [SOLVED] ?

Last edited by mloskot (2013-03-16 00:04:05)


Mateusz Loskot | github | archlinux-config
Arch (x86-64) | ThinkPad T400  | Intel P8600| Intel i915
Arch (x86-64) | ThinkPad W700 | Intel T9600 | NVIDIA Quadro FX 2700M

Offline

#18 2012-06-06 10:47:50

masteryod
Member
Registered: 2010-05-19
Posts: 433

Re: [SOLVED] No polish characters during boot with DAEMON_LOCALE=YES

Thanks for your input mloskot, marked as solved.

Offline

Board footer

Powered by FluxBB