NAME
Linux::Bootloader::Grub - Parse and modify GRUB configuration files.
SYNOPSIS
use Linux::Bootloader;
use Linux::Bootloader::Grub;
my $config_file='/boot/grub/menu.lst';
$bootloader = Linux::Bootloader::Grub->new($config_file);
$bootloader->read();
# add a kernel
$bootloader->add(%hash)
# remove a kernel
$bootloader->remove(2)
# print config info
$bootloader->print_info('all')
# set new default
$bootloader->set_default(1)
$bootloader->write();
DESCRIPTION
This module provides functions for working with GRUB configuration files.
Adding a kernel:
- add kernel at start, end, or any index position.
- kernel path and title are required.
- root, kernel args, initrd, savedefault are optional.
- any options not specified are copied from default.
- remove any conflicting kernels first if force is specified.
Removing a kernel:
- remove by index position
- or by title/label
FUNCTIONS
Also see Linux::Bootloader for functions available from the base class.
new()
Creates a new Linux::Bootloader::Grub object.
_info()
Parse config into array of hashes.
Takes: nothing.
Returns: undef on error.
set_default()
Set new default kernel.
Takes: integer.
Returns: undef on error.
add()
Add new kernel to config.
Takes: hash.
Returns: undef on error.
update()
Update args of an existing kernel entry.
Takes: hash.
Returns: undef on error.
FUNCTION update_main_options
This updates or adds a general line anywhere before the first 'title' line. it is called with the 'update' and 'option' options, when no 'update-kernel' is specified.
FUNCTION boot_once
This is a special case of using 'fallback'. This function makes the current default the fallback kernel and sets the passed argument to be the default kernel which saves to the fallback kernel after booting. The file '/boot/grub/default' is created if it does not exist.
This only works with grub versions 0.97 or better.
AUTHOR
Open Source Development Labs, Engineering Department <eng@osdl.org>
COPYRIGHT
Copyright (C) 2006 Open Source Development Labs All Rights Reserved.
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 535:
'=end' without a target?