shaddow501 Posted April 8, 2019 Share Posted April 8, 2019 Armbianmonitor: http://ix.io/1FBK Hello In raspberry pi there is an option to add a boot splash screen, looking in this forum I havent found and instructions or if it is even possible. I am not interested with u-boot splash screen but when the Linux start booting. I am using 3.5" SPI LCD and I do see the boot logs when the Linux is loading. So my question is if there is any guide of how to do that boot splash screen in Armbian or there is no way to do that? 0 Quote Link to comment Share on other sites More sharing options...
Igor Posted April 8, 2019 Share Posted April 8, 2019 8 hours ago, shaddow501 said: In raspberry pi Each hardware has their own special handling. It won't be simple if you want to have boot splash all the way from power-on to desktop ... One generic way, but with limitations: https://github.com/armbian/build/blob/second/scripts/bootsplash 0 Quote Link to comment Share on other sites More sharing options...
sfx2000 Posted April 9, 2019 Share Posted April 9, 2019 Might be another approach with uBoot... https://www.denx.de/wiki/DULG/UBootSplashScreen 0 Quote Link to comment Share on other sites More sharing options...
prattom Posted February 4, 2020 Share Posted February 4, 2020 https://github.com/armbian/build/blob/second/scripts/bootsplash following is not working anymore. Is there any for boot splash? 0 Quote Link to comment Share on other sites More sharing options...
Patrick Peters Posted February 25, 2020 Share Posted February 25, 2020 You can use plymouth to create a splash boot. I have done this on a Pine64-LTS board so maybe you need to alter some steps. First step is to create a custom boot logo image for u-boot to show. I am not really sure which file you need exactly but to be sure just use the same image as boot logo and save the images in /boot 1 file named boot-desktop.png in /boot/boot-desktop.png 1 file named boot.bmp in /boot/boot.bmp If you don't want to lose the original ones, back-up them first: cp /boot/boot-desktop.png /boot/boot-desktop.png-orig cp /boot/boot.bmp /boot/boot.bmp-orig Next reboot you will notice you are having a nice new boot image, but you will probably also notice that the kernel boot messages are written over this screen and/or maybe also the init boot messages. Sadly this is due to the fact that u-boot isn't compled with silent boot support. It would have been nice, because you could then set a parameter to use it in silent or not. Now we first have to recompile the u-boot with a patch to silence the boot messages. Use the default Armbian build guide and before you start compiling you need to enable a u-boot patch. You can try to enable the patch, but i tried it and it failed applying due to some inconsistencies. I changed the patch so it now works. I don't know how i should give this patch change to the correct maintainer, so i will place it here: patch file located in -><armbian git clone dir>/20.02.2/build/patch/u-boot/u-boot-sunxi File name -> remove-boot-messages-from-hdmi.patch.disabled You should normally only have to remove the '.disabled' part to make use of this patch. But since this version did not work i created a new file called: remove-boot-messages-from-hdmi.patch containing: diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -438,12 +438,12 @@ #ifdef CONFIG_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vga\0" \ - "stderr=serial,vga\0" + "stdout=serial\0" \ + "stderr=serial\0" #elif CONFIG_DM_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vidconsole\0" \ - "stderr=serial,vidconsole\0" + "stdout=serial\0" \ + "stderr=serial\0" #else #define CONSOLE_STDOUT_SETTINGS \ "stdout=serial\0" \ *UPDATE* - Jan 27th 2022 - When using the new Armbian build trunk called 22.02.0 i again was not able to use this new patch, since the 'sunxi-common.h' file changed too much. For those also trying to use this guide using Armbian 22.02.0 trunk please try the following patch instead: This removes all boot messages but leave logo. For Plymouth configuration proceed here: https://forum.armbian.com/topic/10087-armbian-boot-splash-screen/?do=findComment&comment=96114 diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -403,8 +403,8 @@ #ifdef CONFIG_DM_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vidconsole\0" \ - "stderr=serial,vidconsole\0" + "stdout=serial\0" \ + "stderr=serial\0" #else #define CONSOLE_STDOUT_SETTINGS \ "stdout=serial\0" \ After creating this file you can use the Armbian build guide to create a new 'release'. Use the deb files in the output path located at: <armbian git clone dir>/20.02.2/build/output/debs The most important file is -> linux-u-boot-current-pine64so_20.05.0-trunk_arm64.deb Keep in mind i am describing these steps for a Pine64-LTS, the idea stays the same... Put the deb file on your unit and install the package with: dpkg -i linux-u-boot-current-pine64so_20.05.0-trunk_arm64.deb Once this is finished you also have to save this u-boot img to mmc/sdcard or whatever you are using. You can do this with armbian-config. Start armbian-config and select menu item 'system' then 'install' and then '5 Install/Update the bootloader on sD/eMMC' . Once finished you will have the new u-boot on your system. To really make sure you are not getting any messages to your console make the following changes to your armbianEnv.txt verbosity=0 console=custom consoleargs="console=ttyS0,115200 console=tty7" #extraargs=vt.global_cursor_default=0 quiet splash fbcon=rotate:3 plymouth.ignore-serial-consoles extraargs=vt.global_cursor_default=0 quiet splash plymouth.ignore-serial-consoles stdout=serial vt.global_cursor_default=0 makes sure you dont see any blinking cursor in the upper left corner quiet makes sure you don't get extra kernel messages. splash enables kernel splash logo. fbcon=rotate:3 you don't need to and is only needed on LCD's or HDMI units that are rotated. plymouth.ignore-serial-consoles makes sure plymouth ignores the /dev/ttyS0 console because else plymouth wont continue and you wont get any video driver attached to plymouth. stdout=serial makes sure the boot.scr does not do his own thing. Once you made all these changes you can do a reboot and notice that you will see a splash screen followed by a long silence black screen and then the login prompt (or desktop if you are using desktop image). You can now install plymouth to also show splash screen (takeover) from the point where u-boot left. apt-get install plymouth apt-get install plymouth-themes Now you can try a default theme, for example spinner: plymouth-set-default-theme spinner To make really sure the initrd also starts plymouth i ran an extra initrd update: update-initramfs -u Ok, now you should be done. Reboot the system and enjoy the splash boot and loader. 0 Quote Link to comment Share on other sites More sharing options...
gogoer Posted February 29, 2020 Share Posted February 29, 2020 Hello. I have Orange PI with Armbian. I need to replace load logs by splashscreen. As i understand, first of all i need to activate splashscreen in uboot loader. i did next: press Space before loading kernel. usb start load usb 0:1 92000000 logo.bmp bmp d 92000000 - displays my picture on screen cp.b 92000000 41F80000 3656856 setenv splashimage 41F80000 saveenv and here i have error that emmc0 is unreachable. my Armbian is on emmc and it is emmc1. emmc0 - microSD. what i need to do to save to my emmc? then i need to remove logs output (in uboot and armbian), how can i do it? 0 Quote Link to comment Share on other sites More sharing options...
Patrick Peters Posted March 1, 2020 Share Posted March 1, 2020 Hi Gogoer, I did recompiled u-boot myself also the kernel for the Gentoo distribution, but i did not yet do anything with the emmc unit (on my Pine64-LTS) so i do not know exactly how u-boot knows which device to read and wirte environment data from/to. I expect this to be hardcoded in the u-boot bootloader when first time creating it with the make config command (during recompile of u-boot). I expect some config settings indicating the environment device. But u-boot has made some major changes during the last year, so it could also be possible that there is some sort of autodetect possible. I don't have any experience with the Orange Pi, but i would expect Armbian to work in the same way. Can't you just boot up your system first, then edit the arnbianenv.txt in the /boot directory, use armbian-config to update emmc u-boot and after that follow the recompile steps i post earlier? 0 Quote Link to comment Share on other sites More sharing options...
EmadDeve20 Posted November 14, 2021 Share Posted November 14, 2021 (edited) hi Patrick Peters. i trying to change my boot splash screen like your answer! but i think your command is old: plymouth-set-default-theme spinner i think this command is not working right now because i install any plymouth like this: sudo apt install plymouth-* and after that i can not see any command like: plymouth-set-default-theme spinner in my terminal! Edited November 14, 2021 by EmadDeve20 0 Quote Link to comment Share on other sites More sharing options...
EmadDeve20 Posted November 14, 2021 Share Posted November 14, 2021 trying to change my bootsplash screen like this url but not this is wotking in my armbian! how can i change my bootsplash screen in armbian? my compony need to show logo in startup device! i working in orangepi pluse 2e. 0 Quote Link to comment Share on other sites More sharing options...
Patrick Peters Posted January 27, 2022 Share Posted January 27, 2022 Hi EmadDeve20, Sorry for the late reply. Did you try to find/execute the commands as 'root' user? because you should have done that or else you won't be able to find/execute them. For instance:'plymouth-set-default-theme' is located in the '/usr/sbin' directory which is not added as a standard search path for normal users by default. You can try to elevate yourself to 'root' user by executing the command: 'su -' on the prompt. If your system does not allow this, you should type sudo in front of each command i stated in my earlier posting. 0 Quote Link to comment Share on other sites More sharing options...
leofrozen Posted January 29, 2022 Share Posted January 29, 2022 Jan 29th 2022 It works for me. diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h index e840e963..6b15462c 100644 --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -418,8 +418,8 @@ extern int soft_i2c_gpio_scl; #ifdef CONFIG_DM_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vidconsole\0" \ - "stderr=serial,vidconsole\0" + "stdout=serial\0" \ + "stderr=serial\0" #else #define CONSOLE_STDOUT_SETTINGS \ "stdout=serial\0" \ 0 Quote Link to comment Share on other sites More sharing options...
2play Posted April 2, 2022 Share Posted April 2, 2022 On 4/8/2019 at 7:45 PM, Igor said: Each hardware has their own special handling. It won't be simple if you want to have boot splash all the way from power-on to desktop ... One generic way, but with limitations: https://github.com/armbian/build/blob/second/scripts/bootsplash @Igor I can see its moved to https://github.com/armbian/build/tree/master/packages/blobs/splash I changed the pngs and run the `bootsplash-packer` to create a file trying to recreate as per boot.cmd the bootsplash.armbian but file is too small compared to orginal. Basically I d like to make the bootsplash just black and have only the spinner. Any tips are welcome Tx in advance On 2/25/2020 at 9:31 PM, Patrick Peters said: You can use plymouth to create a splash boot. I have done this on a Pine64-LTS board so maybe you need to alter some steps. First step is to create a custom boot logo image for u-boot to show. I am not really sure which file you need exactly but to be sure just use the same image as boot logo and save the images in /boot 1 file named boot-desktop.png in /boot/boot-desktop.png 1 file named boot.bmp in /boot/boot.bmp If you don't want to lose the original ones, back-up them first: cp /boot/boot-desktop.png /boot/boot-desktop.png-orig cp /boot/boot.bmp /boot/boot.bmp-orig Next reboot you will notice you are having a nice new boot image, but you will probably also notice that the kernel boot messages are written over this screen and/or maybe also the init boot messages. Sadly this is due to the fact that u-boot isn't compled with silent boot support. It would have been nice, because you could then set a parameter to use it in silent or not. Now we first have to recompile the u-boot with a patch to silence the boot messages. Use the default Armbian build guide and before you start compiling you need to enable a u-boot patch. You can try to enable the patch, but i tried it and it failed applying due to some inconsistencies. I changed the patch so it now works. I don't know how i should give this patch change to the correct maintainer, so i will place it here: patch file located in -><armbian git clone dir>/20.02.2/build/patch/u-boot/u-boot-sunxi File name -> remove-boot-messages-from-hdmi.patch.disabled You should normally only have to remove the '.disabled' part to make use of this patch. But since this version did not work i created a new file called: remove-boot-messages-from-hdmi.patch containing: diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -438,12 +438,12 @@ #ifdef CONFIG_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vga\0" \ - "stderr=serial,vga\0" + "stdout=serial\0" \ + "stderr=serial\0" #elif CONFIG_DM_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vidconsole\0" \ - "stderr=serial,vidconsole\0" + "stdout=serial\0" \ + "stderr=serial\0" #else #define CONSOLE_STDOUT_SETTINGS \ "stdout=serial\0" \ *UPDATE* - Jan 27th 2022 - When using the new Armbian build trunk called 22.02.0 i again was not able to use this new patch, since the 'sunxi-common.h' file changed too much. For those also trying to use this guide using Armbian 22.02.0 trunk please try the following patch instead: This removes all boot messages but leave logo. For Plymouth configuration proceed here: https://forum.armbian.com/topic/10087-armbian-boot-splash-screen/?do=findComment&comment=96114 diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h @@ -403,8 +403,8 @@ #ifdef CONFIG_DM_VIDEO #define CONSOLE_STDOUT_SETTINGS \ - "stdout=serial,vidconsole\0" \ - "stderr=serial,vidconsole\0" + "stdout=serial\0" \ + "stderr=serial\0" #else #define CONSOLE_STDOUT_SETTINGS \ "stdout=serial\0" \ After creating this file you can use the Armbian build guide to create a new 'release'. Use the deb files in the output path located at: <armbian git clone dir>/20.02.2/build/output/debs The most important file is -> linux-u-boot-current-pine64so_20.05.0-trunk_arm64.deb Keep in mind i am describing these steps for a Pine64-LTS, the idea stays the same... Put the deb file on your unit and install the package with: dpkg -i linux-u-boot-current-pine64so_20.05.0-trunk_arm64.deb Once this is finished you also have to save this u-boot img to mmc/sdcard or whatever you are using. You can do this with armbian-config. Start armbian-config and select menu item 'system' then 'install' and then '5 Install/Update the bootloader on sD/eMMC' . Once finished you will have the new u-boot on your system. To really make sure you are not getting any messages to your console make the following changes to your armbianEnv.txt verbosity=0 console=custom consoleargs="console=ttyS0,115200 console=tty7" #extraargs=vt.global_cursor_default=0 quiet splash fbcon=rotate:3 plymouth.ignore-serial-consoles extraargs=vt.global_cursor_default=0 quiet splash plymouth.ignore-serial-consoles stdout=serial vt.global_cursor_default=0 makes sure you dont see any blinking cursor in the upper left corner quiet makes sure you don't get extra kernel messages. splash enables kernel splash logo. fbcon=rotate:3 you don't need to and is only needed on LCD's or HDMI units that are rotated. plymouth.ignore-serial-consoles makes sure plymouth ignores the /dev/ttyS0 console because else plymouth wont continue and you wont get any video driver attached to plymouth. stdout=serial makes sure the boot.scr does not do his own thing. Once you made all these changes you can do a reboot and notice that you will see a splash screen followed by a long silence black screen and then the login prompt (or desktop if you are using desktop image). You can now install plymouth to also show splash screen (takeover) from the point where u-boot left. apt-get install plymouth apt-get install plymouth-themes Now you can try a default theme, for example spinner: plymouth-set-default-theme spinner To make really sure the initrd also starts plymouth i ran an extra initrd update: update-initramfs -u Ok, now you should be done. Reboot the system and enjoy the splash boot and loader. I have tested similar steps for TInkeBoard. u-boot file is working nice after installation with the quiet or splash etc I used the default patch within the build folder My goal was to hide most things Just need to hide the login without the use of the splash Tx for sharing your steps. On 4/2/2022 at 2:51 PM, 2play said: @Igor I can see its moved to https://github.com/armbian/build/tree/master/packages/blobs/splash I changed the pngs and run the `bootsplash-packer` to create a file trying to recreate as per boot.cmd the bootsplash.armbian but file is too small compared to orginal. Basically I d like to make the bootsplash just black and have only the spinner. Any tips are welcome Tx in advance Ive tested below with success Added the newly created 1K file (with just black pngs), renamed original to .BAK (for example), added 669 permission as the original and after running the `sudo update-initramfs -u` next reboot was all black until my custom splashvideo. Little effort and trial gave me the desired result Hi@Igor Could I have your expertise please? For the bootsplash-packer what would be the command to use new bmp files to create a new bootsplash.armbian file as mentioned above the "cd /build/packages/blobs/splash/ && ./bootsplash-packer bootsplash.armbian" or is it the bmp file specs? 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.