Difference between revisions of "Boot Time"
(→Case Studies) |
(→Others: Add link to psplash) |
||
Line 51: | Line 51: | ||
*[http://dev.gentoo.org/~spock/projects/gensplash/ Gentoo Splashscreen] - newer technology to put a splash screen early in the boot sequence | *[http://dev.gentoo.org/~spock/projects/gensplash/ Gentoo Splashscreen] - newer technology to put a splash screen early in the boot sequence | ||
**see the HOWTO at: [http://gentoo-wiki.com/HOWTO_fbsplash HOWTO FBSplash] | **see the HOWTO at: [http://gentoo-wiki.com/HOWTO_fbsplash HOWTO FBSplash] | ||
+ | * [http://butterfeet.org/?p=8 PSplash] - PSplash is a userspace graphical boot splash screen for mainly | ||
+ | embedded Linux devices supporting a 16bpp or 32bpp framebuffer. | ||
*[http://www.linuxdevices.com/news/NS5907201615.html FSMLabs Fastboot] - press release by FSMLabs about fast booting of their product. Is any of this published? | *[http://www.linuxdevices.com/news/NS5907201615.html FSMLabs Fastboot] - press release by FSMLabs about fast booting of their product. Is any of this published? | ||
*[http://www.bootchart.org/ Bootchart] - a tool for performance analysis and visualization of the Linux boot process. Resource utilization and process information are collected during the user-space portion of the boot process and are later rendered in a PNG, SVG or EPS encoded chart. | *[http://www.bootchart.org/ Bootchart] - a tool for performance analysis and visualization of the Linux boot process. Resource utilization and process information are collected during the user-space portion of the boot process and are later rendered in a PNG, SVG or EPS encoded chart. | ||
[[Category:Boot Time]] | [[Category:Boot Time]] |
Revision as of 05:53, 8 March 2007
This page has information about reducing boot-up time for a Linux system. This is of interest for many embedded developers, because for many products customers expect to be able to use them very soon after system startup.
Contents
Technology/Project Pages
The following are individual pages with information about various technologies relevant to improving boot-up time for Linux. Some of these describe local patches available on this site. Others point to projects or patches maintained elsewhere.
Measuring Boot-up Time
- Printk Times - simple system for showing timing information for each printk.
- Kernel Function Trace - system for reporting function timings in the kernel.
- Linux Trace Toolkit - system for reporting timing data for certain kernel and process events.
Technologies and Techniques for Reducing Boot-up Time
- Disable Console - Avoid overhead of console output during system startup.
- RTC No Sync - Avoid delay to synchronize system time with RTC clock edge on startup.
- Short IDE Delays - Reduce duration of IDE startup delays (this is effective but possibly dangerous).
- Kernel XIP - Allow kernel to be executed in-place in ROM or FLASH.
- IDE No Probe - Force kernel to observe the ide<x>=noprobe option.
- Preset LPJ - Allow the use of a preset loops_per_jiffy value.
- Threaded Device Probing - Allow drivers to probe devices in parallel.
- Application XIP - Allow programs and libraries to be executed in-place in ROM or FLASH
- Pre Linking - Avoid cost of runtime linking on first program load
- Optimize RC Scripts - Reduce overhead of running RC scripts
- DMA Copy Of Kernel On Startup - Copy kernel from Flash to RAM using DMA
- Parallel RC Scripts - Run RC scripts in parallel instead of sequentially
- Application Init Optimizations - Improvements in program load and init time via:
- use of mmap vs. read
- control over page mapping characteristics.
Information
- Boot-up Time Definition Of Terms - definitions of terms used by the CELF Bootup Time working group
- Kernel Instrumentation - lists some known kernel instrumentation tools. These are of interest for measuring kernel startup time.
- Filesystem Information - information about boot-up times with various file systems
- in progress - Boot-up Time Reduction Howto - this is a project to catalog existing boot-up time reduction techniques. Work on this project is under way. The wiki will serve as the primary repository of information gathered for this project.
- no content yet - Boot-up Time Delay Taxonomy - list of delays categorized by boot phase, type and magnitude
Case Studies
- Samsung proof-of-acceptability study for digital still camera: see Linux Boot-Up Time Reduction
- Tim Bird's (Sony) survey of boot-up time reduction techniques:
- Methods to Improve Boot-up Time in Linux - Paper prepared for 2004 Ottawa Linux Symposium
- https://elinux.org/images//8/83/Pdf.gif Reducing Startup Time in Embedded Linux Systems https://elinux.org/images/d/da/Info_circle.png - December 2003 Presentation describing some existing boot-up time reduction techniques and strategies.
Additional Projects/Mailing Lists/Resources
Kexec
- Kexec is a system which allows a system to be rebooted without going through BIOS. That is, a Linux kernel can directly boot into another Linux kernel, without going through firmware. See the white paper at: kexec.pdf
- 2004 Kernel Summit presentation: fastboot.pdf
- here's another Kexec white paper:Reboot Fast
Others
- bootspash.org - technology to put up a splash screen early in boot sequence
- Gentoo Splashscreen - newer technology to put a splash screen early in the boot sequence
- see the HOWTO at: HOWTO FBSplash
- PSplash - PSplash is a userspace graphical boot splash screen for mainly
embedded Linux devices supporting a 16bpp or 32bpp framebuffer.
- FSMLabs Fastboot - press release by FSMLabs about fast booting of their product. Is any of this published?
- Bootchart - a tool for performance analysis and visualization of the Linux boot process. Resource utilization and process information are collected during the user-space portion of the boot process and are later rendered in a PNG, SVG or EPS encoded chart.