Bootloader::Tools(3) User Contributed Perl Documentation Bootloader::Tools(3)NAMEBootloader::Tools - set of high-level bootloader configuration
functions
PREFACE
This package contains a set of high-level bootloader configuration
functions
SYNOPSIS
"use Bootloader::Tools;"
"$mp_ref = Bootloader::Tools::ReadMountPoints ();"
"$part_ref = Bootloader::Tools::ReadPartitions ();"
"Bootloader::Tools::GetDeviceMapping ();"
"$numDM = Bootloader::Tools::DMRaidAvailable ();"
"$part_ref = Bootloader::Tools::ReadDMRaidPartitions ();"
"$part_ref = Bootloader::Tools::ReadDMRaidDisks ();"
"Bootloader::Tools::IsDMRaidSlave ($kernel_disk);"
"Bootloader::Tools::IsDMDevice($dev);"
"$dm_dev = Bootloader::Udev2DMDev($udevdevice);"
"$udev_dev = Bootloader::Tools::DMDev2Udev($dmdev);"
"$majmin = Bootloader::Tools::DMDev2MajMin($dmdev);"
"$majmin = Bootloader::Tools::Udev2MajMin($udev);"
"$udev_dev = Bootloader::Tools::MajMin2Udev($majmin);"
"$dm_dev = Bootloader::Tools::MajMin2DMDev($majmin);"
"$md_ref = Bootloader::Tools::ReadRAID1Arrays ();"
"$loader = Bootloader::Tools::GetBootloader ();"
"$value = Bootloader::Tools::GetSysconfigValue ();"
"Bootloader::Tools::InitLibrary ();"
"Bootloader::Tools::CountImageSections ($image);"
"Bootloader::Tools::RemoveImageSections ($image);"
"Bootloader::Tools::GetSystemLanguage ();"
"Bootloader::Tools::GetDefaultSection ();"
"Bootloader::Tools::GetDefaultImage ();"
"Bootloader::Tools::GetDefaultInitrd ();"
"Bootloader::Tools::GetGlobals();"
"Bootloader::Tools::SetGlobals(@params);"
"Bootloader::Tools::GetSectionList(@selectors);"
"Bootloader::Tools::GetSection($name);"
"Bootloader::Tools::AddSection($name, @params);"
"Bootloader::Tools::RemoveSections($name);"
"Bootloader::Tools::AdjustSectionNameAppendix ($mode, $sect_ref_new,
$sect_ref_old);"
"$exec_with_path =
Bootloader::Tools::AddPathToExecutable($executable);"
"Bootloader::Tools::DeviceMapperActive ();"
DESCRIPTION
"$mp_ref = Bootloader::Tools::ReadMountPoints ();"
reads the information about mountpoints in the system. The returned
data is needed to initialize the bootloader library properly.
See InitLibrary function for example.
"$part_ref = Bootloader::Tools::ReadPartitions ();"
reads the information about disk partitions. This data is needed to
initialize the bootloader library properly.
See InitLibrary function for example.
"Bootloader::Tools::GetMultipath ();"
Gets multipath configuration. Return reference to hash map, empty if
system doesn't contain multipath.
"Bootloader::Tools::GetDeviceMapping ();"
Return reference to hash with symlinks to block devices.
"$numDM = Bootloader::Tools::DMRaidAvailable ();"
Tests wether DMRAID is available. Return 0 if no device, 1 if there
are any.
"$part_ref = Bootloader::Tools::ReadDMRaidPartitions ();"
reads partitions belonging to a Devicemapper RAID device. needed to
be able to put get the correct translation into Grub notation DMRaid
Devices look like: dmraid-<strange name>
DMRaid Partitions look like: partX-dmraid-<strange name>
"$part_ref = Bootloader::Tools::ReadDMRaidDisks ();"
returns a refenrence to a list of DMRaid devices
"Bootloader::Tools::IsDMRaidSlave ($kernel_disk);"
checks wether a kernel_device is part of a DMRAID returns 1 if yes, 0
if no
"Bootloader::Tools:IsDMDevice ($device);"
returns 1 if $device is a Devicemapper device, otherwise 0.
"$dm_dev = Bootloader::Tools::Udev2DMDev($udevdevice);"
takes a udev device (dm-X) returns the devicemapper device like
dmsetup returns
"$udev_dev = Bootloader::Tools::DMDev2Udev($dmdev);"
takes a devicemapper device as reported from dmsetup returns a udev
device (dm-X)
"$majmin = Bootloader::Tools::DMDev2MajMin($dmdev);"
takes a devicemapper device as reported from dmsetup returns a string
containing major:minor
"$majmin = Bootloader::Tools::Udev2MajMin($udev);"
takes a udev device as reported from udevadm info returns a string
containing major:minor
"$udev_dev = Bootloader::Tools::MajMin2Udev($majmin);"
takes a string major:minor as reported from udevadm info returns a
string containing the udev device as reported by udevadm info
"$dm_dev = Bootloader::Tools::MajMin2DMDev($majmin);"
takes a string major:minor as reported from udevadm info returns a
string containing the device as reported by dmsetup
"$md_ref = Bootloader::Tools::ReadRAID1Arrays ();"
reads the information about disk MD RAID1 arrays. This data is needed
to initialize the bootloader library properly.
"$loader = Bootloader::Tools::GetBootloader ();"
returns the used bootloader. Reads the value from sysconfig. Returns
the string - bootloader type.
See InitLibrary function for example.
"$value = Bootloader::Tools::GetSysconfigValue ();"
returns specified option from the /etc/sysconfig/bootloader file or
undef if variable is not set.
See AddSection for example
"Bootloader::Tools::InitLibrary ();"
initializes the bootloader configuration library. Fills its internal
structures needed for it to run properly.
"Bootloader::Tools::CountImageSections ($image);"
counts sections in the bootolader menu reffering to the specified
kernel.
EXAMPLE:
Bootloader::Tools::InitLibrary();
my $count = Bootloader::Tools::CountImageSections ("/boot/vmlinuz-2.6.11");
print "Sections: $count\n";
"Bootloader::Tools::CountSections (@selections);"
# FIXME: add documentation
"Bootloader::Tools::UpdateBootloader ();"
Updates the bootloader settings meaning do whatever it takes for the
actual bootloader to use the current configuration
"$lang = Bootloader::Tools::GetSystemLanguage ();"
Read the System Language from /etc/sysconfig/language:RC_LANG
EXAMPLE:
my $Lang;
$Lang = Bootloader::Tools::GetSystemLanguage ();
setlocale(LC_MESSAGES, $Lang);
"%defaultSelection = Bootloader::Tools::GetDefaultSection ();"
Get the default section, returns a hash reference
EXAMPLE:
my %section;
%section = Bootloader::Tools::GetDefaultSection ();
my $default_kernel = $section{"kernel"};
"Bootloader::Tools::GetDefaultImage ();"
Get the kernel name of the default section
EXAMPLE:
my $kernel;
$kernel = Bootloader::Tools::GetDefaultImage ();
print("Default Kernel Name: $kernel\n");
"Bootloader::Tools::GetDefaultInitrd ();"
Get the initrd of the default section
EXAMPLE:
my $initrd;
$initrd = Bootloader::Tools::GetDefaultInitrd ();
print("Default initrd Name: $initrd\n");
"Bootloader::Tools::GetGlobals();"
"Bootloader::Tools::SetGlobals(@params);"
# FIXME: Add documentation
"Bootloader::Tools::GetSectionList(@selectors);"
# FIXME: Add documentation
"Bootloader::Tools::GetSection($name);"
# FIXME: Add documentation
"Bootloader::Tools::GetFittingSection($name, $image, $type,
\@sections);"
Fing fitting section for given name and image type. If not find
return undef.
"Bootloader::Tools::AddSection($name, @params);"
Add a new section (boot entry) to config file, e.g. to
/boot/grub/menu.lst
EXAMPLE:
my $opt_name = "LabelOfSection";
my @params = (type => $type,
image => $opt_image,
initrd => $opt_initrd,
);
Bootloader::Tools::AddSection ($opt_name, @params);
"Bootloader::Tools::RemoveImageSections ($image);"
removes all sections in the bootloader menu referring to the
specified kernel.
EXAMPLE:
Bootloader::Tools::InitLibrary ();
Bootloader::Tools::RemoveImageSections ("/boot/vmlinuz-2.6.11");
Bootloader::Tools::UpdateBootloader();
"Bootloader::Tools::RemoveSections($name);"
"Bootloader::Tools::AdjustSectionNameAppendix ($mode, $sect_ref_new,
$sect_ref_old);"
Adds and respectively removes a potential appendix of a section name.
In case of mode "add", it adjusts labels which only differ in their
corresponding flavors in the following way, e.g.:
SUSE Linux Enterprise Server 10 - 2.6.16.54-0.2.3 (default) and
SUSE Linux Enterprise Server 10 - 2.6.16.54-0.2.3 (smp)
Thus, the corresponding flavors will be appended in brackets.
In case of mode "remove", an appended flavor will be removed from the
section label if the corresponding section is the only one left
referring to a kernel with it's specific version.
EXAMPLE:
my $mode = "add";
my $sect_ref_new = \%new_section;
Bootloader::Tools::AdjustSectionNameAppendix ($mode, $sect_ref_new);
or
my $mode = "remove"
my $sect_ref_new = \@section_naems_after_removal;
my $sect_ref_old = \@section_names_before_removal;
Bootloader::Tools::AdjustSectionNameAppendix ($mode, $sect_ref_new, $sect_ref_old);
"Bootloader::Tools::AddPathToExecutable ($executable);"
Prepends the corresponding (absolute) path to the given executable
and returns the result. If not found in path, function returns undef.
EXAMPLE:
my $executable = "dmsetup";
my $exec_with_path = Bootloader::Tools::AddPathToExecutable ($executable);
if (-e $exec_with_path) {
print ("The desired executable is located here: $exec_with_path");
}
"Bootloader::Tools::DeviceMapperActive ();"
Check if device-mapper is currently active (kernel module loaded).
It is needed for dmraid and multipath configurations.
Note: keeping for compatibility.
perl v5.10.0 2013-03-28 Bootloader::Tools(3)