Plymouthd no BeagleBone Black O initramfs falha com “Não foi possível configurar o ambiente operacional básico”

0

Eu configurei um initramfs BeagleBone Black com o objetivo de usar o pacote Plymouth de código aberto para exibir um splash inicial no início da saída HDMI / dev / fb0 do BeagleBone.

Estou tentando configurá-lo de acordo com estas instruções: link

Quando eu inicializo, o initramfs executa o shell e eu manualmente executo o plymouthd. Ele falha imediatamente com o seguinte erro:

sh-4.4# export FRAMEBUFFER=y
sh-4.4# env
ACTION=add
OLDPWD=/
PWD=/
HOME=/
FRAMEBUFFER=y
TERM=linux
SHLVL=1
_=/usr/bin/env
sh-4.4# /sbin/plymouthd --mode=boot
plymouthd: could not setup basic operating environment: No such file or directory

Meu initramfs contém os seguintes arquivos relacionados a plymouth:

sh-4.4# find . -name plymouth*
./etc/plymouth
./etc/plymouth/plymouthd.conf
./sbin/plymouthd
./bin/plymouth
./var/spool/plymouth
./var/lib/plymouth
./usr/share/plymouth
./usr/share/plymouth/plymouthd.defaults
./usr/sbin/plymouth-set-default-theme
./usr/lib/plymouth
./usr/lib/dracut/modules.d/50plymouth/plymouth-pretrigger.sh
./usr/lib/dracut/modules.d/50plymouth/plymouth-populate-initrd.sh
./usr/lib/dracut/modules.d/50plymouth/plymouth-newroot.sh
./usr/lib/dracut/modules.d/50plymouth/plymouth-emergency.s

O código-fonte contém a mensagem de impressão aqui:

/* before do anything we need to make sure we have a working
         * environment.
         */
        if (!initialize_environment (&state)) {
                if (errno == 0) {
                        if (daemon_handle != NULL)
                                ply_detach_daemon (daemon_handle, 0);
                        return 0;
                }

                ply_error ("plymouthd: could not setup basic operating environment: %m");
                if (daemon_handle != NULL)
                        ply_detach_daemon (daemon_handle, EX_OSERR);
                return EX_OSERR;
}

Relacionado com:

static bool
initialize_environment (state_t *state)
{
        ply_trace ("initializing minimal work environment");

        if (!get_kernel_command_line (state))
                return false;

        if (!state->default_tty)
                if (getenv ("DISPLAY") != NULL && access (PLYMOUTH_PLUGIN_PATH "renderers/x11.so", F_OK) == 0)
                        state->default_tty = "/dev/tty";
        if (!state->default_tty) {
                if (state->mode == PLY_MODE_SHUTDOWN)
                        state->default_tty = SHUTDOWN_TTY;
                else
                        state->default_tty = BOOT_TTY;

                ply_trace ("checking if '%s' exists", state->default_tty);
                if (!ply_character_device_exists (state->default_tty)) {
                        ply_trace ("nope, forcing details mode");
                        state->should_force_details = true;

                        state->default_tty = find_fallback_tty (state);
                        ply_trace ("going to go with '%s'", state->default_tty);
                }
        }

        check_verbosity (state);
        check_logging (state);

        ply_trace ("source built on %s", __DATE__);

        state->keystroke_triggers = ply_list_new ();
        state->entry_triggers = ply_list_new ();
        state->entry_buffer = ply_buffer_new ();
        state->messages = ply_list_new ();

        if (!ply_is_tracing ())
                redirect_standard_io_to_dev_null ();

        ply_trace ("Making sure " PLYMOUTH_RUNTIME_DIR " exists");
        if (!ply_create_directory (PLYMOUTH_RUNTIME_DIR))
                ply_trace ("could not create " PLYMOUTH_RUNTIME_DIR ": %m");

        ply_trace ("initialized minimal work environment");
        return true;
}

Como posso fazer isso funcionar? Obrigado.

    
por PhilBot 19.07.2018 / 21:43

0 respostas