Fiasco & L4 boot performance

Arttu Pulli arttu.pulli at
Wed May 6 08:39:48 CEST 2015


I'm working on optimizing the boot time of our Fiasco/L4Re based system. 
So far I've implemented some simple optimizations, like using fixed 
delay loop calibration value, disabling prints (is there some 
centralized way to disable all printing for the whole system?), and 
removing all unnecessary IO configurations which helped quite a bit.

However, I'm pretty new to L4 and Fiasco, so I wanted to ask if you'd 
have some tips & tricks (no matter how arcane) on improving either the 
boot performance or reducing the resulting image size? My current boot 
time on an iMX6Q board from after U-Boot gives execution to L4 to my own 
L4 app is ~225 ms, and the resulting image size is 2.8 MB (1.2 MB LZO'ed).

Do those numbers sound like there is anything to be gained anymore, or 
are those close to some maybe-known lower limits already?

Regarding IO initialization, is there any way to perform some of the IO 
inits later on instead of when IO starts during boot time? My goal is to 
have my own L4 app running as fast as possible, and boot L4Linux after 
that. The problem is, the IO configs for the L4Linux take a lot of time, 
so I'd much rather invoke them at the latest possible moment.

I've also removed all unnecessary modules from the modules.list 
configuration file, I take it that this means no unnecessary stuff is 
added to the image even though most everything is compiled at build time?

Best regards,

More information about the l4-hackers mailing list