Plymouth on BeagleBoneBlack

Zach Jacobs zach at faradinesystems.com
Wed Feb 10 13:49:45 UTC 2016


Hello,

I'm trying to configure plymouth so I can display a splash screen on boot up but I just see a blank screen and evidence of a crash in my logs.  I believe plymouth is having trouble connecting to the /dev/fb0 but I'm unsure of where to start.  I want a minimal image so I started with the latest Jessie console snapshot from http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Jessie_Snapshot_console <http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Jessie_Snapshot_console>.  I have the latest plymouth 0.9.0-9 installed as well.  I have added the following kernel parameters to my /boot/uEnv.txt file:


optargs=splash plymouth:debug plymouth.ignore-serial-consoles
Without "ignore-serial-consoles" I see the "details" theme displayed on boot as I expect since it falls back to details when it detects a serial console.  When changing to a different theme, the boot hangs for quite a while and I notice plymouth errors.  Also, looking at the debug log that it created, it looks like plymouth found my screen and connected to it properly but it just crashed...



[main.c:1943]                                 check_logging:checking if console messages should be redirected and logged
[main.c:1952]                                 check_logging:logging will be enabled!
[main.c:2031]                        initialize_environment:source built on Nov 17 2014
[main.c:2040]                        initialize_environment:Making sure /run/plymouth exists
[ply-utils.c:709]                          ply_create_directory:directory '/run/plymouth' already exists
[main.c:2044]                        initialize_environment:initialized minimal work environment
[main.c:1741]                     attach_to_running_session:creating new terminal session
[ply-terminal-session.c:372]                   ply_terminal_session_attach:ptmx not passed in, creating one
[ply-terminal-session.c:237]                           open_pseudoterminal:opening device '/dev/ptmx'
[ply-terminal-session.c:243]                           open_pseudoterminal: opened device '/dev/ptmx'
[ply-terminal-session.c:245]                           open_pseudoterminal:creating pseudoterminal
[ply-terminal-session.c:254]                           open_pseudoterminal:done creating pseudoterminal
[ply-terminal-session.c:256]                           open_pseudoterminal:unlocking pseudoterminal
[ply-terminal-session.c:264]                           open_pseudoterminal:unlocked pseudoterminal
[ply-terminal-session.c:383]                   ply_terminal_session_attach:redirecting system console to terminal device
[ply-terminal-session.c:393]                   ply_terminal_session_attach:done redirecting system console to terminal device
[ply-terminal-session.c:526]            ply_terminal_session_start_logging:logging incoming console messages
[main.c:687]                       get_cache_file_for_mode:returning cache file '/var/lib/plymouth//boot-duration'
[main.c:273]                                 load_settings:Trying to load /etc/plymouth//plymouthd.conf
[ply-key-file.c:171]                       ply_key_file_load_group:trying to load group Daemon
[ply-key-file.c:268]                      ply_key_file_load_groups:key file has no more groups
[main.c:295]                                 load_settings:Splash delay is set to 5.000000
[main.c:411]                    find_system_default_splash:System configured theme file is '/usr/share/plymouth/themes/solar/solar.plymouth'
[main.c:273]                                 load_settings:Trying to load /usr/share/plymouth//plymouthd.defaults
[ply-key-file.c:171]                       ply_key_file_load_group:trying to load group Daemon
[ply-key-file.c:268]                      ply_key_file_load_groups:key file has no more groups
[main.c:426]              find_distribution_default_splash:Distribution default theme file is '/usr/share/plymouth/themes/text/text.plymouth'
[main.c:844]           plymouth_should_show_default_splash:checking if plymouth should show default splash
[main.c:877]           plymouth_should_show_default_splash:using default splash because kernel command line has option "splash"
[ply-device-manager.c:675]                   create_seats_from_terminals:checking for consoles
[ply-device-manager.c:680]                   create_seats_from_terminals:ignoring all consoles but default console because explicitly told to.
[ply-device-manager.c:394]                         watch_for_udev_events:watching for udev graphics device add and remove events
[ply-device-manager.c:759]                 watch_for_coldplug_completion:udev coldplug completed already
[ply-device-manager.c:705]                        create_seats_from_udev:Looking for devices from udev
[ply-device-manager.c:284]                    create_seats_for_subsystem:creating seats for drm devices
[ply-device-manager.c:303]                    create_seats_for_subsystem:found device /sys/devices/platform/ocp/4830e000.lcdc/drm/card0
[ply-device-manager.c:311]                    create_seats_for_subsystem:device is initialized
[ply-device-manager.c:322]                    create_seats_for_subsystem:found node /dev/dri/card0
[ply-device-manager.c:178]                   create_seat_for_udev_device:device is for local console: no
[ply-device-manager.c:191]                   create_seat_for_udev_device:device subsystem is drm
[ply-device-manager.c:195]                   create_seat_for_udev_device:found DRM device /dev/dri/card0
[ply-device-manager.c:641]    create_seat_for_terminal_and_renderer_type:creating seat for /dev/dri/card0 (renderer type: 1) (terminal: none)
[ply-renderer.c:234]                      ply_renderer_open_plugin:trying to open renderer plugin /usr/lib/arm-linux-gnueabihf/plymouth/renderers/drm.so
[./plugin.c:379]                                create_backend:creating renderer backend for device /dev/dri/card0
[./plugin.c:464]                                   load_driver:Opening '/dev/dri/card0'
[./plugin.c:581]                   find_controller_for_encoder:Found already lit monitor
[./plugin.c:669]                      get_index_of_active_mode:Looking for connector mode index of active mode 800x480
[./plugin.c:648]                            find_index_of_mode:Found connector mode index 0 for mode 800x480
[./plugin.c:149]               ply_renderer_head_add_connector:Adding connector with id 20 to 800x480 head
[./plugin.c:192]                         ply_renderer_head_new:Creating 800x480 renderer head
[./ply-renderer-generic-driver.c:177]                       ply_renderer_buffer_new:returning 1x1 buffer with stride 4
[ply-renderer.c:256]                      ply_renderer_open_plugin:opened renderer plugin /usr/lib/arm-linux-gnueabihf/plymouth/renderers/drm.so
[ply-seat.c:80]                            add_pixel_displays:Adding displays for 1 heads
The service file output shows that it seems to have ended rather abruptly:


Feb 09 22:58:38 beaglebone plymouthd[230]: [main.c:1902]                               check_verbosity:redirecting debug output to /dev/tty7
Feb 09 22:58:38 beaglebone plymouth[235]: [ply-event-loop.c:775]               ply_event_loop_stop_watching_fd:stopping watching fd 6
Feb 09 22:58:38 beaglebone plymouth[235]: [ply-event-loop.c:792]               ply_event_loop_stop_watching_fd:removing destination for fd 6
Feb 09 22:59:08 beaglebone plymouth[235]: [ply-event-loop.c:1088]   ply_event_loop_handle_disconnect_for_source:calling disconnected_handler 0x129b1 for fd 6
Feb 09 22:59:08 beaglebone plymouth[235]: [ply-event-loop.c:775]               ply_event_loop_stop_watching_fd:stopping watching fd 6
Feb 09 22:59:08 beaglebone plymouth[235]: [ply-event-loop.c:785]               ply_event_loop_stop_watching_fd:source for fd 6 is already disconnected
Feb 09 22:59:08 beaglebone plymouth[235]: error: unexpectedly disconnected from boot status daemon
Feb 09 22:59:08 beaglebone plymouth[235]: [./plymouth.c:453]                                 on_disconnect:disconnect
Feb 09 22:59:08 beaglebone plymouth[235]: [ply-event-loop.c:1092]   ply_event_loop_handle_disconnect_for_source:done calling disconnected_handler 0x129b1 for fd 6
Feb 09 22:59:08 beaglebone plymouth[235]: [ply-event-loop.c:1175]   ply_event_loop_free_destinations_for_source:freeing destination (0, (nil), 0x129b1) of fd 6
Feb 09 22:59:08 beaglebone plymouth[235]: [ply-event-loop.c:1175]   ply_event_loop_free_destinations_for_source:freeing destination (1, 0x12469, (nil)) of fd 6
Feb 09 22:59:08 beaglebone systemd[1]: plymouth-start.service: main process exited, code=killed, status=11/SEGV
Feb 09 22:59:08 beaglebone plymouth[235]: [./ply-boot-client.c:830]        ply_boot_client_detach_from_event_loop:detaching from event loop
Feb 09 22:59:08 beaglebone systemd[1]: Failed to start Show Plymouth Boot Screen.
Feb 09 22:59:08 beaglebone systemd[1]: Unit plymouth-start.service entered failed state.


Boot record below:

U-Boot 2016.01-00001-g4eb802e (Jan 13 2016 - 11:14:31 -0600), Build: jenkins-github_Bootloader-Builder-313

       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
Reset Source: Global warm SW reset has occurred.
Reset Source: Power-on reset has occurred.
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1   

Using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether

Press SPACE to abort autoboot in 2 seconds
Card did not respond to voltage select!
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
Card did not respond to voltage select! 
Card did not respond to voltage select! 
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc1(part 0) is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt ...
Checking for: /boot.scr ...
Checking for: /boot/boot.scr ...
Checking for: /boot/uEnv.txt ...
gpio: pin 55 (gpio 55) value is 1
1857 bytes read in 16 ms (113.3 KiB/s)  
Loaded environment from /boot/uEnv.txt  
Using: dtb=am335x-boneblack.dtb ...
Checking if uname_r is set in /boot/uEnv.txt...
gpio: pin 56 (gpio 56) value is 1
Running uname_boot ...
loading /boot/vmlinuz-4.1.15-ti-rt-r43 ...
7800752 bytes read in 445 ms (16.7 MiB/s)
loading /boot/dtbs/4.1.15-ti-rt-r43/am335x-boneblack.dtb ...
60524 bytes read in 42 ms (1.4 MiB/s)  
loading /boot/initrd.img-4.1.15-ti-rt-r43 ...
8769888 bytes read in 499 ms (16.8 MiB/s)
debug: [console=ttyO0,115200n8 splash plymouth:debug plymouth.ignore-serial-consoles bone_capemgr.disable_partno= bone_capemgr.enable_partno=BB-UART4 root=UUID=76ef0a60-1241-4d76-ab30-4deff1dc1a24 ro rootfstype=ext4 rootwait coherent_pool=1M quiet cape_universal=enable] .
..

debug: [bootz 0x82000000 0x88080000:85d160 0x88000000] ...

Kernel image @ 0x82000000 [ 0x000000 - 0x7707b0 ]

## Flattened Device Tree blob at 88000000

   Booting using the fdt blob at 0x88000000

   Loading Ramdisk to 8f7a2000, end 8ffff160 ... OK

   Loading Device Tree to 8f790000, end 8f7a1c6b ... OK

Starting kernel ...

[    3.735696] wkup_m3_ipc 44e11324.wkup_m3_ipc: could not get rproc handle
[    4.047902] cpu cpu0: cpu0 clock notifier not ready, retry
[    4.193422] bone_capemgr bone_capemgr: slot #0: No cape found
[    4.253395] bone_capemgr bone_capemgr: slot #1: No cape found
[    4.313394] bone_capemgr bone_capemgr: slot #2: No cape found
[    4.373393] bone_capemgr bone_capemgr: slot #3: No cape found
Loading, please wait...
[main.c:1902]                               check_verbosity:redirecting debug output to /dev/tty7
fsck from util-linux 2.25.2
BOOT: clean, 56826/236176 files, 460535/943872 blocks
[./ply-boot-client.c:188]                       ply_boot_client_connect:could not connect to /org/freedesktop/plymouthd: Connection refused
[./ply-boot-client.c:189]                       ply_boot_client_connect:trying old fallback path /ply-boot-protocol
[./ply-boot-client.c:196]                       ply_boot_client_connect:could not connect to /ply-boot-protocol: Connection refused
[./plymouth.c:1196]                                          main:daemon not running
[./ply-boot-client.c:830]        ply_boot_client_detach_from_event_loop:detaching from event loop
[   39.724733]  remoteproc1: failed to load am335x-pru0-fw
[   39.735290]  remoteproc1: request_firmware failed: -2
[   39.740370] pru-rproc 4a334000.pru0: rproc_boot failed
[   39.834528]  remoteproc1: failed to load am335x-pru1-fw
[   39.841812]  remoteproc1: request_firmware failed: -2
[   39.889199] pru-rproc 4a338000.pru1: rproc_boot failed
[FAILED] Failed to start Show Plymouth Boot Screen.
See 'systemctl status plymouth-start.service' for details.
[  OK  ] Started Tell Plymouth To Write Out Runtime Data.
[  OK  ] Reached target Paths.
[  OK  ] Started LSB: Raise network interfaces..
         Starting ifup for eth0...
[  OK  ] Started ifup for eth0.
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Timers.
[  OK  ] Reached target Basic System.   
         Starting Modem Manager...
         Starting Generic Board Startup...
         Starting Regular background program processing daemon...
[  OK  ] Started Regular background program processing daemon.
         Starting Cape Manager Service...
         Starting OpenBSD Secure Shell server...
[  OK  ] Started OpenBSD Secure Shell server.
         Starting /etc/rc.local Compatibility...
         Starting Login Service...
         Starting LSB: SANE network scanner server...
         Starting LSB: Start NTP daemon...
         Starting LSB: Load kernel modules needed to enable cpufreq scaling...
         Starting LSB: Start busybox udhcpd at boot time...
         Starting D-Bus System Message Bus...
[  OK  ] Started D-Bus System Message Bus.
         Starting System Logging Service...
         Starting Permit User Sessions...
[  OK  ] Started Cape Manager Service.  
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started LSB: SANE network scanner server.
[  OK  ] Started LSB: Start NTP daemon. 
[  OK  ] Started LSB: Start busybox udhcpd at boot time.
[  OK  ] Started Permit User Sessions.  
[  OK  ] Started System Logging Service.
[  OK  ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
[  OK  ] Started Login Service.
         Starting Authorization Manager...
         Starting LSB: set CPUFreq kernel parameters...
         Starting Wait for Plymouth Boot Screen to Quit...
         Starting Terminate Plymouth Boot Screen...
[  OK  ] Started Wait for Plymouth Boot Screen to Quit.
[  OK  ] Started Terminate Plymouth Boot Screen.
[  OK  ] Started LSB: set CPUFreq kernel parameters.
         Starting Getty on tty1...
[  OK  ] Started Getty on tty1.
         Starting Serial Getty on ttyS0...
[  OK  ] Started Serial Getty on ttyS0. 
[  OK  ] Started Authorization Manager. 
[  OK  ] Started Modem Manager.
         Stopping LSB: Start busybox udhcpd at boot time...
[  OK  ] Stopped LSB: Start busybox udhcpd at boot time.
         Starting LSB: Start busybox udhcpd at boot time...
[  OK  ] Started LSB: Start busybox udhcpd at boot time.
[  OK  ] Started Generic Board Startup. 
         Stopping LSB: Start NTP daemon...
[  OK  ] Stopped LSB: Start NTP daemon. 
         Starting LSB: Start NTP daemon...


Thanks for any help that you may be able to provide.

Zach

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/plymouth/attachments/20160210/e2a8694f/attachment-0001.html>


More information about the plymouth mailing list