Fiasco & L4 boot performance

Adam Lackorzynski adam at
Mon May 11 00:41:23 CEST 2015

On Wed May 06, 2015 at 09:39:48 +0300, Arttu Pulli wrote:
> 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?

The 0.22 sec look quite ok to me but it's just a gut feeling. Getting
down more would require some more investigation I suppose.
> 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.

So like a multi-staged init? That's something which would need to be

> 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?

Yes. You'll also see what files have been loaded in moe's print of the
"dump of root name space" under 'rom'. That are the files listed in

Adam                 adam at

More information about the l4-hackers mailing list