diff --git a/manifests/grub0/kernel_option.pp b/manifests/grub0/kernel_option.pp
index 5cee05f9a1bae23f3b6b4b86211a579235e0ec26..d83bce421c3ca6d4cdf52b398409375409d2ea7e 100644
--- a/manifests/grub0/kernel_option.pp
+++ b/manifests/grub0/kernel_option.pp
@@ -24,16 +24,22 @@ define bootloader::grub0::kernel_option($ensure, $value)
     }
     elsif ($value == true or $value == false)
     {
-	# Detecting if the option is already present is not easily done
-	# using regexps...
-	fail("Bootloader::Grub0::Kernel_option[${title}]: ",
-	     "Setting a kernel option is not yet implemented.")
+	augeas {
+	    "bootloader::grub0::kernel_option::${name}":
+		incl => '/boot/grub/grub.conf',
+		lens => 'Grub.lns',
+		context => '/files/boot/grub/grub.conf',
+		changes => "setm title[*]/kernel ${name}";
+	}
     }
     else
     {
-	# Detecting if the option is already present is not easily done
-	# using regexps...
-	fail("Bootloader::Grub0::Kernel_option[${title}]: ",
-	     "Setting a kernel option is not yet implemented.")
+	augeas {
+	    "bootloader::grub0::kernel_option::${name}":
+		incl => '/boot/grub/grub.conf',
+		lens => 'Grub.lns',
+		context => '/files/boot/grub/grub.conf',
+		changes => "setm title[*]/kernel ${name} '${value}'";
+	}
     }
 }