.. -*- mode: rst -*-

.. _server-plugins-generators-tgenshi-grubconf:

grubconf
========

Automate the build of grub.conf based on probe data. In this case, we take
the results from three probes, serial-console-speed, grub-serial-order,
and current-kernel to fill in a few variables.  In addition, we want
at least two entries set up for the kernel: a multiuser and a single
user option.

::

    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE:  You have a /boot partition.  This means that
    #          all kernel and initrd paths are relative to /boot/, eg.
    #          root (hd0,0)
    #          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
    #          initrd /initrd-version.img
    #boot=/dev/sda
    default=0
    timeout=5
    serial --unit=0 --speed=${metadata.Probes['serial-console-speed']}
    terminal --timeout=5 ${metadata.Probes['grub-serial-order']}

    {% for kernbootoption in ["", "single"] %}\
    title Red Hat Enterprise Linux Server (${metadata.Probes['current-kernel']})) ${kernbootoption}
            root (hd0,0)
            kernel /vmlinuz-${metadata.Probes['current-kernel']} ro root=/dev/VolGroup00/LogVol00 console=ttyS0,${metadata.Probes['serial-console-speed']}n8 console=tty0 rhgb quiet ${kernbootoption}
            initrd /initrd-${metadata.Probes['current-kernel']}.img
    {% end %}\
