NOTE: This microconference has been merged with the Boot and Core OS microconference. Please make any changes there!
Automotive IVI systems require rapid startup time to functioning applications (audio, graphics), typically 1-2 seconds.
Other requirements lead to the conclusion that NAND storage is preferable to NOR for cost reasons.
Linux has come a long way in terms of fast booting, currently under 2 seconds is achievable to the point where aplay produces sound, for a 2.5M compressed kernel and a 1G rootfs on NAND.
The Linux Plumbers 2013 Fastboot track will focus on enabling sub-second boot times for embedded Linux systems using NAND flash. NOTE that many of the sub-topics below will also speed other fastboot architectures.
I invite submissions from anyone involved in the fastboot ecosystem, but am soliciting in the following areas (please feel free to combine topics in presentations :)
Tim Bird
Wolfgang Denk
Lennart Poettering
Kay Sievers
Brian Pomerantz
Richard Weinberger
Nikita Youshchenko
(u-boot, barebox, Intel BLDK, …)
Suggested session leader: Wolfgang Denk
decompress boot blocks in parallel with DMA loading the next one
Log sharing between kernel and uboot to simplify tuning
bootchart, other logging analyzers can look deeper into the boot process
UBI fastmap support
utilizing multiple cores
Sharing of UBI attach between uboot and kernel
Other sharing (memory initialization, ???)
???
Suggested session leader: Tim Bird
modules are good, but the compressed kernel is still too big (2.5M) for a fully modularized IVI kernel
Can we move more stuff out of the kernel proper?
candidates
Other ways to reduce size
init takes too long
parallel init
deferred init calls … why are these not being used enough
Preconfigure subsystems instead of probing
I2C
???
rootfs mount is the long pole to early ready
read rootfs LEBs in parallel with init?
Memory initialization takes a long time
initialize memory in phases (hot swap)
???
Suggested session leader: Nikita Youshchenko, Brian Pomerantz
fastmap improvements
RB tree for node list
NAND drivers: (NAND read ~ 25 usec/page + 25ns/byte)
partial page reads?
UBIFS preloading
filesystem packing to concentrate fastboot pack in certain LEBs
preloadfs for UBI
Can rootfs LEBs be used for preloading?
???
Suggested session leader: Lennart Poettering, Kay Sievers
Systemd has improved startup parallism, but still takes seconds to its first exec
current hack is to have an early_init process that execs systemd after starting fast path processes
can we come up with a better scheme?
scanning dependencies takes too long, can we load a static prebuilt config, perhaps just enough for early
scan after started to update
fast path to early apps
reduce size, perhaps systemd-helper daemon
???
Suggested session leader: ??
How to make it faster
The schedule of the 2013 Microconference-Name Plumbers Micro Conference is as follows. Note presentation slides can be found on the Plumbers page by following the links to the abstracts:
Session 1 - Presenter 1
Session 2 - Presenter 2
etc…
This is a good place to record notes from your session. All too often, if notes were not written down, the session might as well not have happened.
Contact
Proposal added by <Johh_Mehaffey at mentor dot com>