Is there a way to use the linux splash and framebuffer device while disabling pretty much everything else?
For context:
I’ve previously disabled the Framebuffer Console and managed to run a graphical application directly on the framebuffer device without issues.
However, I have not managed to optimize the boot sequence as I expected and now I need to use the linux splash image. I’ve managed to do so only when re-enabling the framebuffer console.
I’m already having some advances:
On U-Boot:
setenv 'setup setenv setupargs console=null console=${console},${baudrate}n8 ${memargs} consoleblank=0; setenv bootm_boot_mode sec'
After disabling the getty@.service the only thing left is the blinking cursor. I will try to get it fixed in the Device Tree.
I have managed this changes by modifying the Kernel and compiling it. However, I am using YOCTO to generate a distro with a custom layer configuration. How can I change the linux splash and change the boot settings when building the toolchain?
Appending the logo image with linux-toradex_4.14%.bbappend, as reference:
Hello @Ilan_Figueiredo ,
Have the steps mentioned above bring you the desired result? Or is there something still missing?
BR, Janani
There is still a line at the bottom of the screen.
On the U-Boot I set:
setenv setup 'setupargs vt.global_cursor_default=0 console=null console=${console},${baudrate}n8 ${memargs} consoleblank=0; setenv bootm_boot_mode sec'
setenv vidargs 'video=mxsfb:800x480M-16@60,pixclockpol=1'
setenv defargs 'quiet vt.global_cursor_default=0'
and in the linux I set:
systemctl disable getty@service
The line itself holds the last kernel message.
The command
echo 0 > /sys/class/vtconsole/vtcon1/bind
fix the issue after boot.
How can I unbind the console 1 from framebuffer at boot? Is there a defargs similar to vt.global_cursor_default=0?
By the way, if I change defargs to include fbcon=map:1 I lose the splash as well, so that would not be an option.
HI @Ilan_Figueiredo
You need to setup the U-Boot Parameter setupargs
to the following:
vt.global_cursor_default=0 consoleblank=0 quiet console=${console}
And this should work.
Best regards,
Janani
Hi @saijanani.tx ,
I’ve tried:
setenv setup ‘setupargs vt.global_cursor_default=0 consoleblank=0 quiet console=${console},${baudrate}n8 ${memargs}; setenv bootm_boot_mode sec’
setenv setup ‘setupargs console=null console=${console},${baudrate}n8 ${memargs} vt.global_cursor_default=0 consoleblank=0 quiet; setenv bootm_boot_mode sec’
setenv setup ‘vt.global_cursor_default=0 consoleblank=0 quiet console=${console}; setenv bootm_boot_mode sec’
All resulting in the last line still being printed.
If I change defargs to ‘’, not only the last last is still enabled, but the boot as if without the “quiet” parameter.
My current defargs is:
defargs=quiet consoleblank=0 vt.global_cursor_default=0 fbcon=map:0
Hello @Ilan_Figueiredo ,
This is a bit strange. I will look into reproducing this on my side. Meanwhile, have you already had a chance to look at this ticket here?
https://www.toradex.com/community/questions/46861/splash-screen-on-apalis-imx8qm.html?childToView=47106#comment-47106.
BR, Janani
The ticket mentioned got the solution. The order of the arguments was the trick. The correct setup for me is:
setenv setup 'setupargs console=null console=${console},${baudrate}n8 ${memargs} consoleblank=0; setenv bootm_boot_mode sec'
setenv vidargs 'video=mxsfb:800x480M-16@60,pixclockpol=1'
setenv defargs ' vt.global_cursor_default=0 consoleblank=0 quiet console=${console}'
The ticket mentioned got the solution. The order of the arguments was the trick. The correct setup for me is:
setenv setup 'setupargs console=null console=${console},${baudrate}n8 ${memargs} consoleblank=0; setenv bootm_boot_mode sec'
setenv vidargs 'video=mxsfb:800x480M-16@60,pixclockpol=1'
setenv defargs ' vt.global_cursor_default=0 consoleblank=0 quiet console=${console}'