Hi support team,
we have an am64x based CPU board which shall be used as base for a customer board with a strict boot time requirement: Linux must be able to process network traffic within 6s after board power-up.
In particular, DHCP requests have to be answered from then on, followed by other network traffic over two interfaces.
I guess, with this time constraints that is generally only possible via the three direct Gb Ethernet ports, opposed to the potentially additional ones via PRU-ICSS subsystems which I would expect to require additional setup time, eventually exceeding the time frame.
I already stripped down all boot loader images (SPLs for R5F and A53 as well as A53 U-Boot) to the bare minimum with respect to subsystems and drivers which means ~2s until U-Boot can start with loading OS images.
The latter are set up as FIT image containing the stripped down kernel image, a device tree image and an initramfs directly serving for the actual application.
At the moment I cannot implement the whole boot process, unfortunately, because the current board used for evaluation behaves differently than the final platform would.
One question that arose first was: how to even measure start-up time?
Luckily, I found the GTC already running once the R5F SPL emits boot messages, so I could emit time stamps here and there to strip down image contents.
However, there must be some delay until GTC gets even started according to the reference manual: the reset state of GTC is said to be "off".
So, one question is: is it possible to determine this delay given processor speed (main clock) and speed of QSPI flash?
Another question is: are there means to reduce image sizes further in order to decrease load time as well as validation time?
(I found that a lot of the time is spent with CRC checking the image to be started next)
I had a look at the involved object files for my images and couldn't easily see further potential for minimizing them.
Any hints about relevant compile time switches would be greatly appreciated :-)
Or do other possibilities exists to speed up booting which I am not aware of?
Thanks in advance.
Best regards,
Harry