diff --git a/manifests/kernel_option.pp b/manifests/kernel_option.pp index 6bb146402c8298a76045e13d2fd0e9570cf173ed..f2ba642c927b852b516df7d1d18a14dbdc292b4b 100644 --- a/manifests/kernel_option.pp +++ b/manifests/kernel_option.pp @@ -1,12 +1,13 @@ -# Copyright © 2017 Thomas Bellman, Linköping, Sweden +# Copyright © 2017-2018 Thomas Bellman, Linköping, Sweden # Licensed under the GNU LGPL v3+; see the README file for more information. /* * Set or remove a kernel commandline option. * - * Which bootloader is in use will be guessed. The heuristics for that - * are not very good. + * Depending on the details of the bootloader, the option might be set/unset + * for all kernels, or just for all Linux kernels. There is currently no + * way to control this. * * Parameters: * - name Kernel commandline option to set or remove. @@ -20,12 +21,21 @@ * like "console=ttyS0". * Since only ensure => absent is implemented, the value * parameter is currently ignored. + * + * - provider The bootloader in use. Supported values are 'grub0' and + * 'grub2'. If not specified, the bootloader will be guessed + * based on the operating system. + * The grub2 provider currently only supports removing options. */ -define bootloader::kernel_option($ensure='present', $value=undef) +define bootloader::kernel_option( + $ensure='present', $value=undef, $provider=undef) { - include bootloader::guess - - $bootloader = $bootloader::guess::bootloader + if ($provider) { + $bootloader = $provider + } else { + include bootloader::guess + $bootloader = $bootloader::guess::bootloader + } case $bootloader { 'grub0': {