Fastboot

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 :)

Key Attendees

  • Tim Bird
  • Wolfgang Denk
  • Lennart Poettering
  • Kay Sievers
  • Brian Pomerantz
  • Richard Weinberger
  • Nikita Youshchenko

Boot loader

(u-boot, barebox, Intel BLDK, …)

Suggested session leader: Wolfgang Denk

  1. decompress boot blocks in parallel with DMA loading the next one
  2. Log sharing between kernel and uboot to simplify tuning
    1. bootchart, other logging analyzers can look deeper into the boot process
  3. UBI fastmap support
  4. utilizing multiple cores
  5. Sharing of UBI attach between uboot and kernel
  6. Other sharing (memory initialization, ???)
  7. ???

Kernel

Suggested session leader: Tim Bird

  1. modules are good, but the compressed kernel is still too big (2.5M) for a fully modularized IVI kernel
    1. Can we move more stuff out of the kernel proper?
      1. candidates
    2. Other ways to reduce size
  2. init takes too long
    1. parallel init
    2. deferred init calls … why are these not being used enough
    3. Preconfigure subsystems instead of probing
      1. I2C
      2. ???
  3. rootfs mount is the long pole to early ready
    1. read rootfs LEBs in parallel with init?
  4. Memory initialization takes a long time
    1. initialize memory in phases (hot swap)
  5. ???

UBI/MTD

Suggested session leader: Nikita Youshchenko, Brian Pomerantz

  1. fastmap improvements
    1. RB tree for node list
  2. NAND drivers: (NAND read ~ 25 usec/page + 25ns/byte)
    1. partial page reads?
  3. UBIFS preloading
    1. filesystem packing to concentrate fastboot pack in certain LEBs
    2. preloadfs for UBI
    3. Can rootfs LEBs be used for preloading?
  4. ???

systemd

Suggested session leader: Lennart Poettering, Kay Sievers

  1. Systemd has improved startup parallism, but still takes seconds to its first exec
    1. current hack is to have an early_init process that execs systemd after starting fast path processes
      1. can we come up with a better scheme?
    2. scanning dependencies takes too long, can we load a static prebuilt config, perhaps just enough for early
      1. scan after started to update
    3. fast path to early apps
    4. reduce size, perhaps systemd-helper daemon
    5. ???

secure boot

Suggested session leader: ??

  1. How to make it faster

Schedule

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…

Discussion notes

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>

 
2013/fastboot.txt · Last modified: 2013/05/16 15:04 by 107.220.208.16
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki