Even if your work doesn't require you to reboot your Linux machine several times a day, waiting for a system to reboot can be a real drag. Enter kexec. Essentially, kexec is a fast reboot feature that lets you reboot to a new Linux kernel -- without having to go through a bootloader. Faster reboot is a benefit even when uptime isn't mission-critical -- and a lifesaver for kernel and system software developers who need to reboot their machines several times a day. Kexec is currently available on the x86 32-bit platform only.

As computer systems have become faster and better, one area that has yet to catch up with the improvements is system reboot time. In fact, as systems have become more advanced and complex in terms of processor speeds, memory sizes, and resource capacities, reboot times have actually become longer. While a longer reboot time is an irritant for everyone, its impact is critical for production systems where longer reboot times means reduced uptime. Besides impacting the availability of a system for its users, longer reboot times are a major bottleneck for kernel and system software developers who reboot their machines several times a day.

Reboot times are especially long when the system has many sparsely populated SCSI buses or ECC-checked physical memory. Test results show that the most time consumed during a reboot process is during the firmware stage, when the devices attached to the system are recognized and initialized (for details, see the Resources section of this article). Naturally, most efforts at reducing reboot times have targeted this stage of the reboot process. One such effort has led to the development of kexec, a feature available for Linux kernels on x86 platforms. With kexec, you can reboot directly into another kernel, without having to go through the firmware and bootloader stages. Skipping the lengthiest part of the sequence reduces the reboot time drastically.