How Can Fenix Uboot Be Built Without TTY Messages on HDMI?

I’ve built a few different uboot images with the Fenix tooling, which is a clean and pretty obvious way to generate mukti-boot capable images. These have the additional advantage of building deb packages - which have been useful in my conversions of SD images into eMMC installations on the VIM3.

One thing perplexes me: regardless of my playing with settings in ~/fenix/config/bootscripts/rk3399_autoscript.cmd, I CAN NOT get a uboot to build that boots “clean”. This would be logo-only and no console messages, like the Android uboot. I have tried forcing ttyS instead of tty, etc. I’m tempted to setcon=/dev/null, but that’s just NOT RIGHT! Besides, I don’t know if there IS /dev/null before the full kernel is bootstrapped.

I suspect that this is in the compiled boot.scr, but so far, I have been unable to get Fenix to build me one like this.
Hints here would be very appreciated.

Thanks!
— Jeremiah
₩₳ł₮ł₦₲ ₣ØⱤ ₮ⱧɆ ₲ł₣₮ Ø₣ ₴ØɄ₦Đ ₳₦Đ Vł₴łØ₦

I’m not sure which board you use exactly? VIM3 or Edge? This file ~/fenix/config/bootscripts/rk3399_autoscript.cmd is for Edge.

For current Fenix, you can build a image only with logo display.
What’s the configuration you use to build?

Thanks. It should have been obvious to me that the script in question is for Rockchip SOC.

I like the logo. So much so, that my question still remains!

How do I configure my build, so that uboot doesn’t overlay the boot logo with console messages? I want a smooth transition from Khadas bootscreen logo, to plymoth splash.

The configuration I use to build is the Fenix docker image, running on an Ubuntu Thinkpad.

Thanks!
— Jeremiah

Is everything controlled by /boot/boot.ini?
If so, does this need a step to be compiled into boot.scr, or another file?

Please show me the result of make info.

I’m not sure what u-boot source is being used with Khadas RK devices, but in mainline Amlogic u-boot I do this to silence stdout/stderr output on-screen. Something different (but similar) is prob. needed:

3 Likes

Sure. My make info is the same as every run, when I successfully built Fenix images and kernel debs, etc:

Version: 1.0.3
Current environment:
===========================================

#KHADAS_BOARD=VIM3
#VENDOR=Amlogic
#CHIP=A311D
#LINUX=mainline
#UBOOT=mainline
#DISTRIBUTION=Ubuntu
#DISTRIB_RELEASE=focal
#DISTRIB_TYPE=gnome
#DISTRIB_ARCH=arm64
#INSTALL_TYPE=SD-USB

===========================================

Oh, this is helpful.
The only other times I built uboot, it was for headless Marvell machines, and ttys0 was fine!

You can follow @chewitt 's suggestion to disable it.

This is perfect. I have a kiosk use case, that will be moved over to my 2 VIM3L’s, and I’d prefer not to display the std output!

Compiling for VIM3, because the memory config makes it much better to work on for solving configuration, etc.

1 Like

Argh. I deleted the vidconsole value, but still get ASCII barf on my logo screen. In despair, I my do away with all the ifdef logic, and just use #define STDOUT_CFG "serial", without it being else - but logically that shouldn’t change anything…

I have send a patch to prevent stdout/stderr on videoconsole. I cherry-pick @chewitt 's patch above and it works well.

You can update the Fenix code and rebuild your image.

1 Like

Very quick and thoughtful. Thanks.
I’ll do a git update in the AM!

1 Like

@numbqq and @chewitt, Built this and it works very well. I tested my hand-patched uboot from yesterday, and this also worked as it ought to.

I better understand the uboot debs, which only make an SD target with Fenix. I needed to be more scrupulous about zeroing the eMMC sectors with the old uboot, after having installed the deb on a running SD card system.
From there, the Armbian nand-sata-install tool let me write the ‘clean uboot’ to eMMC - easier than a raw dd with the right block numbers.

I hope this helps others.

— Jeremiah

1 Like