Recent Changes - Search:



Deprecated

ResearchBootLinux

Prev Next Edit this page to change styles

--- Boxes and outlines ---

--- Headers beyond ordinary "!" level headers

--- Stegi specific stylings ---

--- Text warnings, notices, hilights ---

--- Directory paths ---

--- Calendar specific --- There are a couple of issues to consider, like reducing the kernel size by making any compiled in drivers that are absolutely necessary when the kernel loads into loadable modules. The init program could be rewritten to do parallel loads of drivers, configuration and starting the graphical interface. Init scripts can be converted to C and compiled, making them faster. And applications could be prelinked (assuming you can do this with Buildroot, which I haven't checked yet). These are all valid ideas that I'll have to investigate further when I get past just bringing up the system and start to focus on performance issues.

Notes from an e-Cast by Jeff Maier, Montavista

  • Attach:webinar__fast_boot_v6.pdf
  • NOR flash - can execute from flash on boot vs NAND flash
  • Module initialize - slowest part of kernel boot
  • Use "uptime" for instrumentation
  • CONFIG_PRINTK_TIMES
  • initcall_debug - logging times during module initialization
    • can be invoked in kernel command line
    • can show drivers that are unused and take a long time to initialize
  • grabserial - run on host to grab console output
  • ftrace -
    • derived from RT-preempt latency tracer
    • overhead can be big
    • fdd is used to output data from ftrace

How to reduce boot time

  • bootloader
    • disable unused features
    • splash screen from bootloader
      • In kernel, after framebuffer is loaded
  • Kernel
    • Reduce kernel size as much as possible
    • CONFIG_IKCONFIG - make kernel much smaller (.25s improvement)
    • XIP - execute directly from NOR flash
      • reduces DRAM usage
      • removes copy from flash
      • kernel must be stored uncompressed
    • drivers
      • what must be available immediately
      • what can be put off till later (loaded modules)
    • network
      • see slides
    • Filesystems
      • JFFS - long load time, so load later
    • CONFIG_PRINTK - disable printk
      • saves significant kernel size
      • no kernel status messages are available
    • scripts vs compiled
      • convert scripts to compiled binaries will improve boot times
    • application prelink

Their 1-second boot example used DMA to do many things, like copying from flash to RAM and copying initramfs while kernel was still booting.

Edit - History - Print - Recent Changes - Search
Page last modified on October 11, 2010, at 03:28 PM