minimize boot time for linux












0















I am working on an embedded system. The OS is yocto project(Ubuntu). My target hardware has to start the animation application after powered on. I am starting my animation application as a systemd service under basic.target.



But as soon as i powered on the board, a flash screen is coming for some 500ms and after that a cursor is blinking for 10 seconds then my animation application starting. so it is taking around 13 seconds for my animation application to start showing on the screen.



I want to remove that flash screen and cursor blinking. What should i do?
Is there any way to minimize the kernal bootup time?



The result of systemd-analyze blame is as follows:



      1.065s dev-mmcblk1p1.device
1.004s launchHMIUSB.service
518ms launchWeston.service
437ms node-startup-controller.service
287ms kmod-static-nodes.service
286ms systemd-remount-fs.service
279ms pas-daemon.service
254ms systemd-modules-load.service
245ms alsa-restore.service
219ms systemd-journal-flush.service
219ms connman.service
207ms systemd-udev-trigger.service
202ms dev-hugepages.mount
190ms systemd-journald.service
138ms systemd-sysctl.service
133ms ofono.service
127ms systemd-vconsole-setup.service
121ms tmp.mount
120ms systemd-update-utmp.service
117ms dev-mqueue.mount
102ms systemd-logind.service
101ms node-health-monitor.service
93ms sys-fs-fuse-connections.mount
90ms sys-kernel-config.mount
90ms sys-kernel-debug.mount
88ms systemd-tmpfiles-setup-dev.service
74ms user@0.service
68ms wpa_supplicant.service
67ms systemd-udevd.service
60ms nodestatemanager-daemon.service
53ms systemd-update-utmp-runlevel.service
31ms systemd-random-seed.service
31ms systemd-user-sessions.service
18ms sshd.socket
16ms systemd-tmpfiles-setup.service
16ms Data-mnttemp.mount
15ms var-volatile.mount









share|improve this question

























  • You could have a look at (and edit question to include) results of "systemd-analyse blame" to start, and check this to see if it helps with the blinking cursor : wiki.archlinux.org/index.php/…

    – lx07
    Jan 23 at 8:59











  • the result of systemd-analyze blame is added as asked. The comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. I gone through the link attached above for removing cursor blink but Iam not able to do export std_bootarg vt.global_cursor_default=0. This is showing bash: export: `vt.global_cursor_default=0': not a valid identifier. do you have any solution for this. Thank you.

    – deepan
    Jan 24 at 13:53
















0















I am working on an embedded system. The OS is yocto project(Ubuntu). My target hardware has to start the animation application after powered on. I am starting my animation application as a systemd service under basic.target.



But as soon as i powered on the board, a flash screen is coming for some 500ms and after that a cursor is blinking for 10 seconds then my animation application starting. so it is taking around 13 seconds for my animation application to start showing on the screen.



I want to remove that flash screen and cursor blinking. What should i do?
Is there any way to minimize the kernal bootup time?



The result of systemd-analyze blame is as follows:



      1.065s dev-mmcblk1p1.device
1.004s launchHMIUSB.service
518ms launchWeston.service
437ms node-startup-controller.service
287ms kmod-static-nodes.service
286ms systemd-remount-fs.service
279ms pas-daemon.service
254ms systemd-modules-load.service
245ms alsa-restore.service
219ms systemd-journal-flush.service
219ms connman.service
207ms systemd-udev-trigger.service
202ms dev-hugepages.mount
190ms systemd-journald.service
138ms systemd-sysctl.service
133ms ofono.service
127ms systemd-vconsole-setup.service
121ms tmp.mount
120ms systemd-update-utmp.service
117ms dev-mqueue.mount
102ms systemd-logind.service
101ms node-health-monitor.service
93ms sys-fs-fuse-connections.mount
90ms sys-kernel-config.mount
90ms sys-kernel-debug.mount
88ms systemd-tmpfiles-setup-dev.service
74ms user@0.service
68ms wpa_supplicant.service
67ms systemd-udevd.service
60ms nodestatemanager-daemon.service
53ms systemd-update-utmp-runlevel.service
31ms systemd-random-seed.service
31ms systemd-user-sessions.service
18ms sshd.socket
16ms systemd-tmpfiles-setup.service
16ms Data-mnttemp.mount
15ms var-volatile.mount









share|improve this question

























  • You could have a look at (and edit question to include) results of "systemd-analyse blame" to start, and check this to see if it helps with the blinking cursor : wiki.archlinux.org/index.php/…

    – lx07
    Jan 23 at 8:59











  • the result of systemd-analyze blame is added as asked. The comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. I gone through the link attached above for removing cursor blink but Iam not able to do export std_bootarg vt.global_cursor_default=0. This is showing bash: export: `vt.global_cursor_default=0': not a valid identifier. do you have any solution for this. Thank you.

    – deepan
    Jan 24 at 13:53














0












0








0








I am working on an embedded system. The OS is yocto project(Ubuntu). My target hardware has to start the animation application after powered on. I am starting my animation application as a systemd service under basic.target.



But as soon as i powered on the board, a flash screen is coming for some 500ms and after that a cursor is blinking for 10 seconds then my animation application starting. so it is taking around 13 seconds for my animation application to start showing on the screen.



I want to remove that flash screen and cursor blinking. What should i do?
Is there any way to minimize the kernal bootup time?



The result of systemd-analyze blame is as follows:



      1.065s dev-mmcblk1p1.device
1.004s launchHMIUSB.service
518ms launchWeston.service
437ms node-startup-controller.service
287ms kmod-static-nodes.service
286ms systemd-remount-fs.service
279ms pas-daemon.service
254ms systemd-modules-load.service
245ms alsa-restore.service
219ms systemd-journal-flush.service
219ms connman.service
207ms systemd-udev-trigger.service
202ms dev-hugepages.mount
190ms systemd-journald.service
138ms systemd-sysctl.service
133ms ofono.service
127ms systemd-vconsole-setup.service
121ms tmp.mount
120ms systemd-update-utmp.service
117ms dev-mqueue.mount
102ms systemd-logind.service
101ms node-health-monitor.service
93ms sys-fs-fuse-connections.mount
90ms sys-kernel-config.mount
90ms sys-kernel-debug.mount
88ms systemd-tmpfiles-setup-dev.service
74ms user@0.service
68ms wpa_supplicant.service
67ms systemd-udevd.service
60ms nodestatemanager-daemon.service
53ms systemd-update-utmp-runlevel.service
31ms systemd-random-seed.service
31ms systemd-user-sessions.service
18ms sshd.socket
16ms systemd-tmpfiles-setup.service
16ms Data-mnttemp.mount
15ms var-volatile.mount









share|improve this question
















I am working on an embedded system. The OS is yocto project(Ubuntu). My target hardware has to start the animation application after powered on. I am starting my animation application as a systemd service under basic.target.



But as soon as i powered on the board, a flash screen is coming for some 500ms and after that a cursor is blinking for 10 seconds then my animation application starting. so it is taking around 13 seconds for my animation application to start showing on the screen.



I want to remove that flash screen and cursor blinking. What should i do?
Is there any way to minimize the kernal bootup time?



The result of systemd-analyze blame is as follows:



      1.065s dev-mmcblk1p1.device
1.004s launchHMIUSB.service
518ms launchWeston.service
437ms node-startup-controller.service
287ms kmod-static-nodes.service
286ms systemd-remount-fs.service
279ms pas-daemon.service
254ms systemd-modules-load.service
245ms alsa-restore.service
219ms systemd-journal-flush.service
219ms connman.service
207ms systemd-udev-trigger.service
202ms dev-hugepages.mount
190ms systemd-journald.service
138ms systemd-sysctl.service
133ms ofono.service
127ms systemd-vconsole-setup.service
121ms tmp.mount
120ms systemd-update-utmp.service
117ms dev-mqueue.mount
102ms systemd-logind.service
101ms node-health-monitor.service
93ms sys-fs-fuse-connections.mount
90ms sys-kernel-config.mount
90ms sys-kernel-debug.mount
88ms systemd-tmpfiles-setup-dev.service
74ms user@0.service
68ms wpa_supplicant.service
67ms systemd-udevd.service
60ms nodestatemanager-daemon.service
53ms systemd-update-utmp-runlevel.service
31ms systemd-random-seed.service
31ms systemd-user-sessions.service
18ms sshd.socket
16ms systemd-tmpfiles-setup.service
16ms Data-mnttemp.mount
15ms var-volatile.mount






linux boot embedded-linux






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 24 at 13:48







deepan

















asked Jan 23 at 7:58









deepandeepan

12




12













  • You could have a look at (and edit question to include) results of "systemd-analyse blame" to start, and check this to see if it helps with the blinking cursor : wiki.archlinux.org/index.php/…

    – lx07
    Jan 23 at 8:59











  • the result of systemd-analyze blame is added as asked. The comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. I gone through the link attached above for removing cursor blink but Iam not able to do export std_bootarg vt.global_cursor_default=0. This is showing bash: export: `vt.global_cursor_default=0': not a valid identifier. do you have any solution for this. Thank you.

    – deepan
    Jan 24 at 13:53



















  • You could have a look at (and edit question to include) results of "systemd-analyse blame" to start, and check this to see if it helps with the blinking cursor : wiki.archlinux.org/index.php/…

    – lx07
    Jan 23 at 8:59











  • the result of systemd-analyze blame is added as asked. The comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. I gone through the link attached above for removing cursor blink but Iam not able to do export std_bootarg vt.global_cursor_default=0. This is showing bash: export: `vt.global_cursor_default=0': not a valid identifier. do you have any solution for this. Thank you.

    – deepan
    Jan 24 at 13:53

















You could have a look at (and edit question to include) results of "systemd-analyse blame" to start, and check this to see if it helps with the blinking cursor : wiki.archlinux.org/index.php/…

– lx07
Jan 23 at 8:59





You could have a look at (and edit question to include) results of "systemd-analyse blame" to start, and check this to see if it helps with the blinking cursor : wiki.archlinux.org/index.php/…

– lx07
Jan 23 at 8:59













the result of systemd-analyze blame is added as asked. The comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. I gone through the link attached above for removing cursor blink but Iam not able to do export std_bootarg vt.global_cursor_default=0. This is showing bash: export: `vt.global_cursor_default=0': not a valid identifier. do you have any solution for this. Thank you.

– deepan
Jan 24 at 13:53





the result of systemd-analyze blame is added as asked. The comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. I gone through the link attached above for removing cursor blink but Iam not able to do export std_bootarg vt.global_cursor_default=0. This is showing bash: export: `vt.global_cursor_default=0': not a valid identifier. do you have any solution for this. Thank you.

– deepan
Jan 24 at 13:53










2 Answers
2






active

oldest

votes


















2














Minimizing boot time is step 3. Your steps 1 and 2 are figuring out what actually takes so long, and why.



The boot process isn't as direct as "power button → kernel → your app". What you get during those first 500ms is your initial firmware; bootloader, if any; and the Linux kernel loading graphics drivers. The rest is 'init' (systemd) starting various services until it gets to the point where it can even begin launching your app.




  • Examine system logs to look for the most obvious failures.

  • Examine the outputs of systemd-analyze blame, systemd-analyze critical-chain to look at which systemd units take the longest to start. Figure out why each unit is slow, and whether it is necessary at all. (Most units start in parallel groups. Some are serialized but sometimes needlessly so.)

  • Use tools like bootchartd to monitor resources during system boot. For example, it could be that your storage is too slow, or that a certain service hogs the CPU for too long.






share|improve this answer


























  • Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

    – deepan
    Jan 24 at 12:38



















0














The cursor blink has been removed by passing vt.global_cursor_default=0



setenv bootargs 'vt.global_cursor_default=0'
saveenv





share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "3"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1397319%2fminimize-boot-time-for-linux%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    2














    Minimizing boot time is step 3. Your steps 1 and 2 are figuring out what actually takes so long, and why.



    The boot process isn't as direct as "power button → kernel → your app". What you get during those first 500ms is your initial firmware; bootloader, if any; and the Linux kernel loading graphics drivers. The rest is 'init' (systemd) starting various services until it gets to the point where it can even begin launching your app.




    • Examine system logs to look for the most obvious failures.

    • Examine the outputs of systemd-analyze blame, systemd-analyze critical-chain to look at which systemd units take the longest to start. Figure out why each unit is slow, and whether it is necessary at all. (Most units start in parallel groups. Some are serialized but sometimes needlessly so.)

    • Use tools like bootchartd to monitor resources during system boot. For example, it could be that your storage is too slow, or that a certain service hogs the CPU for too long.






    share|improve this answer


























    • Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

      – deepan
      Jan 24 at 12:38
















    2














    Minimizing boot time is step 3. Your steps 1 and 2 are figuring out what actually takes so long, and why.



    The boot process isn't as direct as "power button → kernel → your app". What you get during those first 500ms is your initial firmware; bootloader, if any; and the Linux kernel loading graphics drivers. The rest is 'init' (systemd) starting various services until it gets to the point where it can even begin launching your app.




    • Examine system logs to look for the most obvious failures.

    • Examine the outputs of systemd-analyze blame, systemd-analyze critical-chain to look at which systemd units take the longest to start. Figure out why each unit is slow, and whether it is necessary at all. (Most units start in parallel groups. Some are serialized but sometimes needlessly so.)

    • Use tools like bootchartd to monitor resources during system boot. For example, it could be that your storage is too slow, or that a certain service hogs the CPU for too long.






    share|improve this answer


























    • Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

      – deepan
      Jan 24 at 12:38














    2












    2








    2







    Minimizing boot time is step 3. Your steps 1 and 2 are figuring out what actually takes so long, and why.



    The boot process isn't as direct as "power button → kernel → your app". What you get during those first 500ms is your initial firmware; bootloader, if any; and the Linux kernel loading graphics drivers. The rest is 'init' (systemd) starting various services until it gets to the point where it can even begin launching your app.




    • Examine system logs to look for the most obvious failures.

    • Examine the outputs of systemd-analyze blame, systemd-analyze critical-chain to look at which systemd units take the longest to start. Figure out why each unit is slow, and whether it is necessary at all. (Most units start in parallel groups. Some are serialized but sometimes needlessly so.)

    • Use tools like bootchartd to monitor resources during system boot. For example, it could be that your storage is too slow, or that a certain service hogs the CPU for too long.






    share|improve this answer















    Minimizing boot time is step 3. Your steps 1 and 2 are figuring out what actually takes so long, and why.



    The boot process isn't as direct as "power button → kernel → your app". What you get during those first 500ms is your initial firmware; bootloader, if any; and the Linux kernel loading graphics drivers. The rest is 'init' (systemd) starting various services until it gets to the point where it can even begin launching your app.




    • Examine system logs to look for the most obvious failures.

    • Examine the outputs of systemd-analyze blame, systemd-analyze critical-chain to look at which systemd units take the longest to start. Figure out why each unit is slow, and whether it is necessary at all. (Most units start in parallel groups. Some are serialized but sometimes needlessly so.)

    • Use tools like bootchartd to monitor resources during system boot. For example, it could be that your storage is too slow, or that a certain service hogs the CPU for too long.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    answered Jan 23 at 8:44


























    community wiki





    grawity














    • Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

      – deepan
      Jan 24 at 12:38



















    • Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

      – deepan
      Jan 24 at 12:38

















    Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

    – deepan
    Jan 24 at 12:38





    Thanks for the response. I checked with systemd-analyze blame and systemd-analyze critical-chain lazy.target comments(lazy.target is the final target which iam starting), it is showing 3s only. But the comment systemd-analyze time gives Startup finished in 11.836s (userspace) = 13.877s. Is this 13.877s is before init process or after init process. If before init process starts, how to approach this problem? Thank you.

    – deepan
    Jan 24 at 12:38













    0














    The cursor blink has been removed by passing vt.global_cursor_default=0



    setenv bootargs 'vt.global_cursor_default=0'
    saveenv





    share|improve this answer




























      0














      The cursor blink has been removed by passing vt.global_cursor_default=0



      setenv bootargs 'vt.global_cursor_default=0'
      saveenv





      share|improve this answer


























        0












        0








        0







        The cursor blink has been removed by passing vt.global_cursor_default=0



        setenv bootargs 'vt.global_cursor_default=0'
        saveenv





        share|improve this answer













        The cursor blink has been removed by passing vt.global_cursor_default=0



        setenv bootargs 'vt.global_cursor_default=0'
        saveenv






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 28 at 9:03









        deepandeepan

        12




        12






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Super User!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1397319%2fminimize-boot-time-for-linux%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Index of /

            Tribalistas

            Listed building