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.
Tags plymouth linux beagleboneblack