1

I was using the BBB (BeagleBone Black) for a while now but with Arch Linux. Now that Debian also supports systemd I decided to give it a try. So I followed this guide and used the eMMC flasher image to distribute a fresh debian on to the BBB.

After successfully rebooting I wanted to set my locale but all queries to localectl timed out. systemctl status systemd-localed.service revealed that the service entered a failed state.

The output says:

Failed to read locale data: No such file or directory

But nothing more. When looking into the journal with journalctl -r -u systemd-localed.servicethere is the same message but no clue about which file is missing.

Doing some research with man systemd-localed revealed two possible config files

/etc/vconsole.conf

and

/etc/locale.conf

Both files did not exist in the image but even after creating them with Google's guidance (as far as their content is concerned) the error persists.

Has anyone experienced a similar behavior of the Debian 8.1 image on the BBB? Or are there other known places where to look at those missing file?

Regards

3
  • Ubuntu Vivid doesn't have those two files, but running localectl status works. – saiarcot895 Jul 1 '15 at 20:21
  • I am running Debian 8.1, don't have these files neither and localectl status works as well. Try to run dpkg-reconfigure locales as root. – Jodka Lemon Jul 1 '15 at 21:50
  • I made a reminder to try dpkg-reconfigure locales next time I have Debian 8.1 on the BBB if the error occurs again. Right now I switched back to ArchLinux. But many thanks anyways @JodkaLemon. – IlikePepsi Jul 2 '15 at 11:09
2

I encountered the same problem:

The systemd-localed service launches the binary /lib/systemd/systemd-localed, which then tries to read /etc/locale.conf, /etc/vconsole.conf and — even though that doesn't seem to be documented anywhere — /etc/default/keyboard:

# strace /lib/systemd/systemd-localed
[…]
open("/etc/locale.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6
[…]
open("/etc/vconsole.conf", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6
[…]
open("/etc/default/keyboard", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6

/etc/default/keyboard is usually generated by the keyboard-configuration package. You'll probably also want to install the "Linux console font and keytable utilities" in the kbd package and the keymaps from the console-data package:

apt-get install keyboard-configuration kbd console-data
dpkg-reconfigure console-data
dpkg-reconfigure keyboard-configuration

Since your system uses an ARM architecture, you will have to select your keymap from the "full" list when console-data is configured.

That will generate /etc/default/keyboard and allow systemd-localed to start and localectl to be used, even though it doesn't seem to recognize the keymaps installed with console-data. You can manually set something like localectl set-keymap us-latin1, but I couldn't check if that has any effect.

Also, while localectl shows the correct locale, it doesn't seem to be set globally, so locale still shows "POSIX" and programs like tmux and htop will still use ASCII.
I'm not sure if that's an actual Debian bug or just an effect of installing a system via debootstrap (like it is usually done to create SD card images for embedded boards) instead of running the full installer (which might automatically create some of those required files above).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.