For an end-user friendly operating system, I am creating a basic linux distribution using the Buildroot tool. I am using Syslinux/Isolinux as the bootloader and the Linux 4.14.54 (Long Term Support) kernel. If I boot the ISO file via Virtualbox everything is working as expected. But when I burn that ISO onto an USB stick, the bootloader loads the initrd and the linux boot at some point seems to be freezed or slowed down. After 30 seconds, two small 'tux' images appear in the upper left corner (they normally never appear!) and the resolution changed to the monitor's native resolution (1600x900). Afterwards the boot seems to continue properly and the x server starts.
The kernel parameters look like this:
As you can see, i specify
ttyS0 as console to hide all boot messages, by redirecting them to a non-existing serial console. I checked dmesg and did not see any problematic messages (but the last message was from 16 seconds after boot). When I change the console parameter to
console=tty1 , it works flawlessly, the last dmesg message is from 4 seconds after boot, but there is much stuff written onto the console.
I tested this on my Lenovo S20-30 Touch Laptop.
The console parameter is the only option for me, since other options like setting the kernel log level has no effect on some messages (i.e.
printf in a shell script). Am I doing anything wrong? Is there a better alternative to hide really all console output?