This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM625: Enable only display in tisdk-tiny-initramfs-am62xx-evm.cpio for making display up early.

Part Number: AM625

Tool/software:

Hello Ti experts,

I've used isdk-tiny-initramfs-am62xx-evm.cpio this cpio file for reducing the userspace boot time, but while mounting the full filesystem after initramfs filesystem, the boot time is again 22-25 seconds.
So, all I need is to make display up in the initramfs filesystem only. Because I just want to satisfy the customer that the device is booted successfully.

Best Regards,
Aditya T

  • Also I want to disable these prints in bootup logs

    Welcome to Arago 2023.10!
    
    [  OK  ] Created slice Slice /system/getty.
    [  OK  ] Created slice Slice /system/modprobe.
    [  OK  ] Created slice Slice /system/serial-getty.
    [  OK  ] Created slice User and Session Slice.
    [  OK  ] Started Dispatch Password …ts to Console Directory Watch.
    [  OK  ] Started Forward Password R…uests to Wall Directory Watch.
    [  OK  ] Reached target Path Units.
    [  OK  ] Reached target Remote File Systems.
    [  OK  ] Reached target Slice Units.
    [  OK  ] Reached target Swaps.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [  OK  ] Reached target RPC Port Mapper.
    [  OK  ] Listening on Syslog Socket.
    [  OK  ] Listening on Process Core Dump Socket.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on Journal Audit Socket.
    [  OK  ] Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [  OK  ] Listening on udev Control Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [  OK  ] Listening on User Database Manager Socket.
             Mounting Huge Pages File System...
             Mounting POSIX Message Queue File System...
             Mounting Kernel Debug File System...
             Mounting Temporary Directory /tmp...
             Starting Create List of Static Device Nodes...
             Starting Load Kernel Module configfs...
             Starting Load Kernel Module drm...
             Starting Load Kernel Module fuse...
             Starting Start psplash boot splash screen...
             Starting RPC Bind...
             Starting Journal Service...
             Starting Generate network …ts from Kernel command line...
             Starting Remount Root and Kernel File Systems...
             Starting Apply Kernel Variables...
             Starting Coldplug All udev Devices...
    [  OK  ] Started RPC Bind.
    [  OK  ] Mounted Huge Pages File System.
    [  OK  ] Started Journal Service.
    [  OK  ] Mounted POSIX Message Queue File System.
    [  OK  ] Mounted Kernel Debug File System.
    [  OK  ] Mounted Temporary Directory /tmp.
    [  OK  ] Finished Create List of Static Device Nodes.
    [  OK  ] Finished Load Kernel Module configfs.
    [  OK  ] Finished Load Kernel Module drm.
    [  OK  ] Finished Load Kernel Module fuse.
    [FAILED] Failed to start Start psplash boot splash screen.
    See 'systemctl status psplash-start.service' for details.
    [DEPEND] Dependency failed for Star…progress communication helper.
    [  OK  ] Finished Generate network units from Kernel command line.
    [  OK  ] Finished Remount Root and Kernel File Systems.
    [  OK  ] Finished Apply Kernel Variables.
    [  OK  ] Reached target Preparation for Network.
             Mounting FUSE Control File System...
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Mounted FUSE Control File System.
    [  OK  ] Mounted Kernel Configuration File System.
    [  OK  ] Finished Flush Journal to Persistent Storage.
    [  OK  ] Finished Create Static Device Nodes in /dev.
    [  OK  ] Reached target Preparation for Local File Systems.
             Mounting /media/ram...
             Mounting /var/volatile...
             Starting Rule-based Manage…for Device Events and Files...
    [  OK  ] Mounted /media/ram.
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Finished Coldplug All udev Devices.
    [  OK  ] Started Rule-based Manager for Device Events and Files.
             Starting Network Configuration...
    [  OK  ] Finished Create Volatile Files and Directories.
             Starting Network Time Synchronization...
             Starting Record System Boot/Shutdown in UTMP...
    [  OK  ] Finished Record System Boot/Shutdown in UTMP.
    [  OK  ] Started Network Configuration.
             Starting Network Name Resolution...
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Reached target Timer Units.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
    [  OK  ] Listening on dropbear.socket.
             Starting Weston socket...
    [  OK  ] Listening on Weston socket.
    [  OK  ] Reached target Socket Units.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Kernel Logging Service.
    [  OK  ] Started System Logging Service.
             Starting D-Bus System Message Bus...
             Starting Telephony service...
             Starting User Login Management...
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Network.
    [  OK  ] Reached target Host and Network Name Lookups.
             Starting Avahi mDNS/DNS-SD Stack...
             Starting Permit User Sessions...
    [  OK  ] Finished Load/Save Random Seed.
    [  OK  ] Finished Permit User Sessions.
    [  OK  ] Started D-Bus System Message Bus.
    [  OK  ] Started Getty on tty1.
             Starting Weston, a Wayland…ositor, as a system service...
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [  OK  ] Started Telephony service.
    [  OK  ] Started User Login Management.
             Starting User Database Manager...
    [  OK  ] Started User Database Manager.
    [  OK  ] Created slice User Slice of UID 1000.
             Starting User Runtime Directory /run/user/1000...
    [  OK  ] Finished User Runtime Directory /run/user/1000.
    [  OK  ] Found device /dev/ttyS2.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
    [  OK  ] Reached target Multi-User System.
             Starting Synchronize System and HW clocks...
             Starting User Manager for UID 1000...
    [  OK  ] Finished Synchronize System and HW clocks.
    [  OK  ] Started User Manager for UID 1000.
    [  OK  ] Started Session c1 of User weston.
    [  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
    [  OK  ] Reached target Hardware activated USB gadget.
    [  OK  ] Started Weston, a Wayland …mpositor, as a system service.
    [  OK  ] Reached target Graphical Interface.
             Starting Record Runlevel Change in UTMP...
    [  OK  ] Finished Record Runlevel Change in UTMP.
    
     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_ 
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            
    
    Arago Project am62xx-evm -
    
    Arago 2023.10 am62xx-evm -
    
    am62xx-evm login: 
    
    

    In the above logs, I want to disable the bootup logs above the line no. 140

    Best Regards,
    Aditya T

  • We already have an early splash screen feature in U-Boot, can't you just use that?
    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/Foundational_Components/U-Boot/UG-Splash-Screen.html

    If you must do some early display in Linux, it really depends how much "display" you need. We are talking display driver (DSS) but also potentially a ton of GPU and graphics related stuff. Either way this will require work.

    Regards, Andreas

  • Yes splash screen is a nice solution but, but it is not animated or any kind of movement is not supported, like its just an image. At least gif or anything like that may be okay for me.
    Also can you tell me what should be maximum size of image is supported as splash screen?

    If you must do some early display in Linux, it really depends how much "display" you need. We are talking display driver (DSS) but also potentially a ton of GPU and graphics related stuff. Either way this will require work.

    I just need anything moving to get rendered on display until Linux boots and starts the application.

    Best Regards,
    Aditya T

  • Ok understood. I'm not available to further look into this for the rest of the week but will circle back next week with some ideas.

    Regards, Andreas

  • Okay, But please reply next week.
    Best Regards,
    Aditya T

  • Hello Andreas,

    I hope you've got any information/ideas on this till now, Please let me know if any updates.

    Kind Regards,
    Aditya T

  • Yes splash screen is a nice solution but, but it is not animated or any kind of movement is not supported,
    I just need anything moving to get rendered on display until Linux boots and starts the application.

    I'm not aware of a simple way of getting anything "moving" on the display until Linux is up. Even if you think about an animated GIF there's actually processing/data handling required on the background to flip through the different frames that are part of a GIF. This is handled by software, and can't be handled automatically by the display sub-system. And while booting up your software stack there isn't really anything that can do this. In theory you could have a secondary core (like the R5 or M4) manage the display and show some animation while Linux is booting and then somehow hand over the display sub-system to Linux but we don't have a ready-to-go solution for this.

    Let me ping our graphics expert to see if he has any additional ideas/suggestions here.

    Regards, Andreas

  • Hi Aditya,

    What are your requirement in terms of boot KPIs? 

    As Andreas mentioned, Are you planning to use the SPL boot flow or open to looking at secondary core(R5/M4) and use the SBL boot flow? 

    We have details provided in our SDK documentation on how to boot quickly.

    https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/10_00_07_04/exports/docs/linux/How_to_Guides/Target/How_to_boot_quickly.html

    Using Yocto Poky distro, we will be able to guide you to include Graphics, so you can run a graphics application as linux boots up.

    Best Regards,

    Suren

  • Hello,

    I'm not aware of a simple way of getting anything "moving" on the display until Linux is up. Even if you think about an animated GIF there's actually processing/data handling required on the background to flip through the different frames that are part of a GIF. This is handled by software, and can't be handled automatically by the display sub-system. And while booting up your software stack there isn't really anything that can do this. In theory you could have a secondary core (like the R5 or M4) manage the display and show some animation while Linux is booting and then somehow hand over the display sub-system to Linux but we don't have a ready-to-go solution for this.

    My actual aim is to reduce the boot-time of linux to at most 5-7 seconds. Somehow I've managed to get splash screen in u-boot itself in 1.4 seconds, but the same screen goes until the linux boots. So, I want to reduce the boot time.

    What are your requirement in terms of boot KPIs? 

    I really dont know the meaning of boot KPIs, can you elaborate it please.

    As Andreas mentioned, Are you planning to use the SPL boot flow or open to looking at secondary core(R5/M4) and use the SBL boot flow?

    As in my custom AM625 SOM there's no OSPI, so I guess I cant use the SBL boot flow or SPL boot flow. Correct me if I'm wrong but, if this is the case I cant use any of the above for reducing boot time for Linux.

    Using Yocto Poky distro, we will be able to guide you to include Graphics, so you can run a graphics application as linux boots up.

    Well, please provide how to do it then, at least that can be achieved then.

    Best Regards,
    Aditya T

  • Hi Aditya, 

    There is OSPI NOR on AM62x that you can leverage to boot faster and use OSPI as the boot media. 

    Please look at the previous link that I shared with you on how to boot quickly for how to build the MCU+SDK and verify the booting Linux within 2 sec with Display support. 

    Once you have that support, I can walk you through on the Graphics support. 

    Best Regards,

    Suren

  • Hello Suren,

    There is OSPI NOR on AM62x that you can leverage to boot faster and use OSPI as the boot media. 

    But my custom AM625 SOM doesn't have OSPI NOR. So. I cant use this method to boot Linux faster.

    Kind Regards,
    Aditya T

  • Hi Aditya,

    What is the primary boot media on your custom board? Is it SD-card/eMMC?

    Best Regards,

    Suren

  • Hello,

    Yes, I'm booting from eMMC as well as SD-card both.

    Regards,
    Aditya T

  • Hi Aditya,

    We should be able to show-case booting from EMMC with Graphics support.

    Will share the details via email. 

    Best Regards,

    Suren

  • Thank you, for your mail. I'll update you once the build is done

    Best Regards.
    Aditya T

  • Hi Aditya,

    Keep us informed on how it goes.

    Best Regards,

    Suren