Raspberry Pi 4

For information, Recalbox IS NOT compatible with Raspberry Pi 4 yet.
Pour information, Recalbox N'EST PAS encore compatible avec le Raspberry Pi 4.

The Recalbox Team.

loadkeys missing from recalbox 6.1.1 environment



  • Snooping around the /recalbox/share/system/logs/recalbox.log file I realized that the loadkeys program is missing: trying to set up the keyboard layout (I do many customizations through keyboard and directly on the OS config files or scripts), the system exits with an error. Loadkeys is invoked by /etc/init.d/S26recalboxsystem around line 60 or so. Am I missing something?

    If not, I should whip up a quick building env to compile kbd into the pi, which is a pain. I've downloaded DragonBlaze 6.1.1 for the RPi zero (v1.3, which has no network support). As far as I know (and according to the log) loadkeys never existed in the first place, not even during the first boot.



  • forgot to post the log yesterday, here it is

    =========================
    [first boot]
    [ 7.01] /boot/recalbox-backup.conf not found
    [ 49.57] [ 7.01] /boot/recalbox-backup.conf n
    [ snip ]
    [ 82.97] starting new log
    [ 82.99] converting dos to unix carriage return characters
    [ 83.33] setting audio volume to 90
    [ 83.36] setting hostname to RECALBOX
    [ 83.47] setting keyboard layout to en
    [ 83.49] /etc/init.d/S26recalboxsystem: line 66: loadkeys: command not found
    [ 83.62] ---- recalbox-config.sh ----
    [ 83.63] setting timezone to Europe/Paris
    [ 83.73] setting audio volume : 90
    [ 83.44] Simple mixer control 'PCM',0
    [ 83.44] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 83.44] Playback channels: Mono
    [ 83.44] Limits: Playback -10239 - 400
    [ 83.44] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip ]
    [ 84.14] Setting volume for numid=4
    [ 84.19] Restoring ALSA mixers configuration
    [ 84.27] setting audio to auto
    [ 84.34] ---- recalbox-config.sh ----
    [ 84.40] setting audio output mode : auto
    [ 84.31] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 84.31] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 84.31] : values=0
    [ 84.61] starting emulationstation with lang = en_US
    [ 85.73] ---- recalbox-config.sh ----
    [ 92.67] starting xarcade2jstick
    [ 92.85] xarcade2jstick : no official stick found, looking for keyboard encoder now ...
    [ 94.13] Starting S92switch
    [ 94.17] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 95.18] Starting S94manager
    [ 95.35] ... Starting manager v2
    [ snip + restart ]
    [ 13.86] setting keyboard layout to it
    [ 13.92] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 13.93] ---- recalbox-config.sh ----
    [ 13.98] setting audio volume : 90
    [ 13.81] Simple mixer control 'PCM',0
    [ 13.81] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 13.81] Playback channels: Mono
    [ 13.81] Limits: Playback -10239 - 400
    [ 13.81] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip ]
    [ 14.42] Setting volume for numid=4
    [ 14.48] Restoring ALSA mixers configuration
    [ 14.58] setting audio to auto
    [ 14.67] ---- recalbox-config.sh ----
    [ 14.74] setting audio output mode : auto
    [ 14.63] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 14.63] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 14.63] : values=0
    [ 15.05] starting emulationstation with lang = en_US
    [ 16.55] ---- recalbox-config.sh ----
    [ 22.98] starting xarcade2jstick
    [ 23.08] xarcade2jstick : no official stick found, looking for keyboard encoder now ...
    [ 26.60] Starting S92switch
    [ 26.63] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 27.01] Starting S94manager
    [ 27.09] ... Starting manager v2
    [ snip + restart ]
    [ 11.93] starting new log
    [ 11.96] converting dos to unix carriage return characters
    [ 12.38] setting timezone to Europe/Paris
    [ 12.42] setting audio volume to 78
    [ 12.43] setting hostname to RECALBOX
    [ 12.58] setting keyboard layout to it
    [ 12.64] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 12.67] ---- recalbox-config.sh ----
    [ 12.72] setting audio volume : 78
    [ 12.57] Simple mixer control 'PCM',0
    [ 12.57] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 12.57] Playback channels: Mono
    [ 12.57] Limits: Playback -10239 - 400
    [ 12.57] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip ]
    [ 13.06] Setting volume for numid=4
    [ 13.11] Restoring ALSA mixers configuration
    [ 13.18] setting audio to auto
    [ 13.26] ---- recalbox-config.sh ----
    [ 13.31] setting audio output mode : auto
    [ 13.23] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 13.23] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 13.23] : values=0
    [ 13.53] starting emulationstation with lang = en_US
    [ 14.61] ---- recalbox-config.sh ----
    [ 21.46] starting xarcade2jstick
    [ 21.52] xarcade2jstick : no official stick found, looking for keyboard encoder now ...
    [ 22.27] Starting S92switch
    [ 22.31] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 22.70] Starting S94manager
    [ 22.77] ... Starting manager v2
    [ snip ]
    [ 11.55] starting new log
    [ 11.58] converting dos to unix carriage return characters
    [ 12.02] setting hostname to RECALBOX
    [ 12.06] setting timezone to Europe/Paris
    [ 12.07] setting audio volume to 78
    [ 12.27] setting keyboard layout to it
    [ 12.34] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 12.35] ---- recalbox-config.sh ----
    [ 12.40] setting audio volume : 78
    [ 12.25] Simple mixer control 'PCM',0
    [ 12.25] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 12.25] Playback channels: Mono
    [ 12.25] Limits: Playback -10239 - 400
    [ 12.25] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip ]
    [ 12.77] Setting volume for numid=4
    [ 12.82] Restoring ALSA mixers configuration
    [ 12.90] setting audio to auto
    [ 12.98] ---- recalbox-config.sh ----
    [ 13.03] setting audio output mode : auto
    [ 12.94] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 12.94] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 12.94] : values=0
    [ 13.27] starting emulationstation with lang = en_US
    [ 14.49] ---- recalbox-config.sh ----
    [ 21.36] starting xarcade2jstick
    [ 21.43] xarcade2jstick : no official stick found, looking for keyboard encoder now ...
    [ 22.37] Starting S92switch
    [ 22.42] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 22.79] Starting S94manager
    [ 22.85] ... Starting manager v2
    [ snip ]
    [ 11.57] starting new log
    [ 11.61] converting dos to unix carriage return characters
    [ 12.10] setting timezone to Europe/Paris
    [ 12.12] setting audio volume to 78
    [ 12.15] setting hostname to RECALBOX
    [ 12.34] setting keyboard layout to it
    [ 12.40] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 12.42] ---- recalbox-config.sh ----
    [ 12.47] setting audio volume : 78
    [ 12.31] Simple mixer control 'PCM',0
    [ 12.31] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 12.31] Playback channels: Mono
    [ 12.31] Limits: Playback -10239 - 400
    [ 12.31] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip ]
    [ 12.86] Setting volume for numid=4
    [ 12.91] Restoring ALSA mixers configuration
    [ 13.00] setting audio to auto
    [ 13.08] ---- recalbox-config.sh ----
    [ 13.15] setting audio output mode : auto
    [ 13.04] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 13.04] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 13.04] : values=0
    [ 13.40] starting emulationstation with lang = en_US
    [ 14.64] ---- recalbox-config.sh ----
    [ 21.40] starting xarcade2jstick
    [ 21.47] xarcade2jstick : no official stick found, looking for keyboard encoder now ...
    [ 22.37] Starting S92switch
    [ 22.40] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 22.78] Starting S94manager
    [ 22.87] ... Starting manager v2
    [ snip ]
    [ 11.56] starting new log
    [ 11.59] converting dos to unix carriage return characters
    [ 12.07] setting audio volume to 78
    [ 12.10] setting hostname to RECALBOX
    [ 12.14] setting timezone to Europe/Paris
    [ 12.32] setting keyboard layout to it
    [ 12.42] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 12.43] ---- recalbox-config.sh ----
    [ 12.50] setting audio volume : 78
    [ 12.30] Simple mixer control 'PCM',0
    [ 12.30] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 12.30] Playback channels: Mono
    [ 12.30] Limits: Playback -10239 - 400
    [ 12.30] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip ]
    [ 12.85] Setting volume for numid=4
    [ 12.90] Restoring ALSA mixers configuration
    [ 12.98] setting audio to auto
    [ 13.05] ---- recalbox-config.sh ----
    [ 13.11] setting audio output mode : auto
    [ 13.01] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 13.01] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 13.01] : values=0
    [ 13.34] starting emulationstation with lang = en_US
    [ 14.48] ---- recalbox-config.sh ----
    [ 21.41] starting xarcade2jstick
    [ 21.51] xarcade2jstick : no official stick found, looking for keyboard encoder now ...
    [ 22.49] Starting S92switch
    [ 22.52] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 22.92] Starting S94manager
    [ 23.02] ... Starting manager v2
    [ snip ]
    [ 12.52] starting new log
    [ 12.55] converting dos to unix carriage return characters
    [ 12.97] setting hostname to RECALBOX
    [ 13.01] [ 13.02] setting audio volume to 80
    setting timezone to Europe/Paris
    [ 13.20] setting keyboard layout to it
    [ 13.26] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 13.29] ---- recalbox-config.sh ----
    [ 13.34] setting audio volume : 80
    [ 13.24] Simple mixer control 'PCM',0
    [ 13.24] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 13.24] Playback channels: Mono
    [ 13.24] Limits: Playback -10239 - 400
    [ 13.24] Mono: Playback 0 [96%] [0.00dB] [on]
    [ snip - and so on... ]
    [ last boot ]
    [ 8.60] No need to upgrade configuration files
    [ 8.83] Will not start S13fbcp : system.fbcp.enabled is set to 0
    [ 9.25] Running MIGRATIONS…
    [ snip ]
    [ 10.62] starting new log
    [ 10.64] converting dos to unix carriage return characters
    [ 10.92] setting audio volume to 79
    [ 10.95] setting hostname to RECALBOX
    [ 10.97] setting timezone to Europe/Paris
    [ 11.08] setting keyboard layout to it
    [ 11.15] /etc/init.d/S26recalboxsystem: line 61: loadkeys: command not found
    [ 11.20] ---- recalbox-config.sh ----
    [ 11.34] starting emulationstation with lang = en_US
    [ 11.35] setting audio volume : 79
    [ 11.05] Simple mixer control 'PCM',0
    [ 11.05] Capabilities: pvolume pvolume-joined pswitch pswitch-joined
    [ 11.05] Playback channels: Mono
    [ 11.05] Limits: Playback -10239 - 400
    [ 11.05] Mono: Playback 0 [96%] [0.00dB] [on]
    [ 11.75] ---- recalbox-config.sh ----
    [ 11.96] Setting volume for numid=3
    [ 12.13] Setting volume for numid=2
    [ 12.28] Setting volume for numid=1
    [ 12.46] Setting volume for numid=5
    [ 11.05] amixer: Control default element write error: Operation not permitted
    [ 11.05]
    [ 12.62] Setting volume for numid=4
    [ 12.63] Starting S92switch
    [ 12.68] script /recalbox/scripts/powerswitch.sh [ STARTED ]
    [ 12.81] Restoring ALSA mixers configuration
    [ 13.06] setting audio to hdmi
    [ 13.24] ---- recalbox-config.sh ----
    [ 13.40] setting audio output mode : hdmi
    [ 13.14] numid=3,iface=MIXER,name='PCM Playback Route'
    [ 13.14] ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
    [ 13.14] : values=2
    [ 919.57] Stopping S92switch
    [ 919.59] script /recalbox/scripts/powerswitch.sh already stopped !
    [ 919.68] Stopping Emulationstation
    [ 919.81] Saving ALSA mixers configuration
    [ 920.08] Stopping S13fbcp
    [ 920.26] recalbox.conf saved to /boot partition

    =========================


  • Staff
    Moderator
    Team

    @walter-comunello There seems to be something wrong with your install.
    The loadkeys command actually exists in Recalbox, and I've no such error in my recalbox.log on a fresh 6.1.1 install.



  • thanks for the reply

    and what could the error be? could you also tell me where it's located exactly?

    as far as I can understand, loadkeys (or more generally the kbd package) should be located somewhere in the install environment, or somewhere in the OS image before installing. If so, I should be able to retrieve it manually by mounting the image and copying the files to the recalbox env. Is this feasible?

    Edit: not mounting the image, but rather flashing another uSD and see what it's inside

    Edit 2: dd'd the img file into a fresh flash, data UNTOUCHED and STILL can't find the executable.



  • Digging around the forum I discovered that people had problems by using any SD etching software other than balenaEtcher, things like "missing files". I used Win32DiskImager and by taking a peek at the partition table with sfdisk it seems pretty messed up. I'm going to back up some stuff, do a brand new flashing and see what changes. Also going to do a sha1 check on the downloaded archive.

    Edit: SHA1 matches. Downloaded image is healthy.

    Edit 2: nope. Used BalenaEtcher and still loadkeys doesn't show up with find, and the partition table is STILL messed up. As I said, I'm using the image for the Raspberry Pi Zero - wondering which Pi you're using, or more generally, which system image you have installed, therefore wondering IF all images are equal in their basic installed programs - straight question: is loadkeys present in EVERY system image? Could somebody please check if they're having similar problems?



  • Checking the buildroot standard .config file (straight from the docker building container as suggested here), kbd isn't selected when trying to build the rpi1 variant of recalbox.

    My opinion is that kbd was straight up forgotten, and so it was loadkeys. Very weird, since /etc/init.d/S26recalboxsystem still invokes it. I'll be building a variant which includes kbd and some other minor tweaks for my rpi0.

    I'll consider this issue as [solved].


  • Staff
    Team
    Moderator
    Translator

    @walter-comunello if you consider some packages are missing on the rpi0/1 build, please create a MR for those on gitlab.



  • @paradadf Don't know how to submit a MR. I am actually working on the configure env for the kernel, busybox and buildroot. Will report as soon as the image is ready and stable on my rpi0.


  • Staff
    Team
    Moderator
    Translator

    @walter-comunello wirh a gitlab account, you can easily do it from the browser (there are endless tutorials for that), or at lease open an issue, describe the problem and post the solution. A developer will pick it and merge them if it fixes/improves something.



Want to support us ?

155
Online

62114
Users

18656
Topics

140126
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.