Turning off terminal in Yocto

Hello,

I wish to hide the cursor (maybe by using setterm -cursor off) but the Yocto version I bitbaked doesn’t have this command.

How can I include this in the Yocto or, alternatively, disable the terminal by default when building my distribution?

Greetings @Ilan_Figueiredo!

You can try removing the framebuffer console support on the kernel completely. Please follow these instructions to do so.

I am having issues finding in which layer is the CONFIG_FRAMEBUFFER_CONSOLE set. The only thing I would like to preserve is the Splash Image, which I plan to change.

The CONFIG_FRAMEBUFFER_CONSOLE option you disable in the .config (defconfig) of the kernel

Hi @Ilan_Figueiredo,

If you want to add this change in your Yocto Build layer, then you have to add a custom defconfig referenced by a linux-toradex_%.bbappend in a recipes-kernel/linux directory, similar as shown here.

Best regards,
André Curvello

I’ve managed to suppress the terminal and bitbake a new kernel with a modified Device Tree and I am working on incorporating our application as a service in systemd.

I’ve managed to reduce a good deal of the kernel, however the application still takes too long to start. The goal is to have it running within 2 seconds (or at least 2 seconds after the bootload), but printing a logo before the application start would suffice for a first version.

I am dealing with some issues in the U-Boot too (https://www.toradex.com/community/questions/62280/issue-changing-u-boot-splash.html). Meanwhile, I am trying to improve my recipe. Would changing the systemd for another initializer improve the booting speed?

@Ilan_Figueiredo

Glad that you were able to solve the terminal issue.

We have a blog on boot time optimization: https://www.toradex.com/blog/embedded-linux-boot-time-optimization. It’s quite old but you surely can get some pointers from there. The first thing I would do would be to analyze the boot process (with e.g. systemd-analyze and other tools) to see what’s taking longer to start.

My feeling is that changing your init for something like SysV could improve your boot time, but not necessarily. I think you might be able to achieve the boot time you want with systemd, but if you don’t, you might try SysV or even a custom init such as described in the blog I linked earlier.

If you want to discuss this boot time issue further, feel free to create a new topic so we can try to solve this.

One more issue. I have managed to disable the console and still run a graphical application without the X11. However, I need to use a splash screen on turn on and I am struggling to create a slash in either U-Boot or Linux.

Hi @Ilan_Figueiredo,

Can you create another thread for the splash screen issues?

Best regards,
André Curvello