Hi,
I wish to ask the experienced users/staff here regarding optimizing the overall platform’s (currently devkit) boot time:
We read the boot optimization chapter in dev guide
We take in consideration that we use the slower UEFI + secure boot instead of lighter CBOOT in previous JPs
We need to reduce the boot time as much as possible within a considerable amount of work. From your experience, what will be a feasible lower limit to expect?
For example we don’t expect to reach a boot time of 5 seconds, but does 10-13 secs is feasible?
What will be the best path to start from to achieve biggest reduction:
Are you working on the devkit or custom carrier board?
As far as I know and my experience, the total boot time could be optimized to 30s currently and you have the chance to optimize it to about 20s if you customize/remove more modules/services.
You can start from UEFI part since it takes long time during boot.
Please try to build custom UEFI source and update bootloader.
Currently I’m working on the devkit but the end target will be with a custom carrier board.
Can you help/direct me with a starting point and working path regarding optimizing the UEFI?
I’m not familiar with it and don’t know how to start and where to focus.
From the devkit’s serial boot log it seems that the elapsed time from reset until UEFI boot completion is about ~ 21secs and loading the kernel until getting user shell takes additional ~ 20 secs.
So from your answer I can work on reducing UEFI boot time but rest of the boot process takes about the same time. Do you think that using my own custom rootfs and Busybox can help me with the kernel/rootfs loading duration?
For the boot time optimization on custom carrier board, it is strongly depending on your requirement and the use case. You should review each kernel configs to check if they could be removed in your design.
I know how to modify the UEFI source code (there is a dev guide section regarding this). I meant in my question on where to start from in order to reduce its boot time. I’m not familiar with all the actions it does on startup and which of them I can disable to boot faster.
Maybe from your experience you can give me a few pointers on how to do/test it (maybe remove functionalities and tests the system that nothing was ruined).