doc: Start writing some in-tree documentation
[petitboot] / doc / func / autoboot.rst
1 .. _auto-boot:
2
3 Auto Boot Order
4 ===============
5
6 With autoboot enabled Petitboot will consider the relative priority of each new default boot option it discovers to determine what should be booted automatically.
7
8 Note that a boot option must be marked for autoboot ("default") in its own configuration file for Petitboot to autoboot it. For example:
9
10 .. code-block:: none
11
12    default linux
13
14    label linux
15    kernel ./pxe/de-ad-de-ad-be-ef.vmlinuz
16    append command line initrd=./pxe/de-ad-de-ad-be-ef.initrd
17
18 Boot Priority
19 -------------
20
21 Petitboot can prioritise boot options based on the following attributes:
22
23 * Device type (Disk, Network, USB..)
24 * Partition (eg, sda2)
25 * Interface name (eg. eth0)
26 * LVM logical-volume name (eg. "rhel7-boot-lv")
27
28 Once started Petitboot will begin to countdown from the configured timeout (default 10 seconds). During this time any default boot option that is discovered is compared against the configured priority list and the current option with the highest priority. If the new option has a higher priority based on the boot order than the current option then it becomes the current option and will be booted once the countdown completes.
29
30 Note that unlike some other bootloaders Petitboot does *not* wait for devices in the boot order. For example if the boot order was "Network, Disk" with a 10 second default and a disk option was found but a hypothetic network option would take longer than 10 seconds to be found (eg. slow network or DHCP server), then Petitboot won't know about it and will boot the disk option. In most cases the appropriate solution if a user runs into this is to increase the timeout value to a suitable length of time for their environment.
31
32 Note that :ref:`ipmi` overrides will take precedence over any configured boot order.