diff options
author | Bryn M. Reeves <bmr@redhat.com> | 2013-04-29 19:05:07 +0100 |
---|---|---|
committer | Bryn M. Reeves <bmr@redhat.com> | 2013-04-29 19:05:07 +0100 |
commit | 8ccdef6e761760431b26b367dc40616c0495dc39 (patch) | |
tree | fb89951aa0805edf94770896188fe72ceac5b0db | |
parent | b52ce08e40621bbc2a386b24138c3bbc0d429220 (diff) | |
download | sos-8ccdef6e761760431b26b367dc40616c0495dc39.tar.gz |
Add grub2 support and make bootloader more modular
Add a new grub2 plug-in and separate the grub and lilo support
from the bootloader module which now collects legacy and special
purpose or arch bootloader configuration and a directory listing
of /boot.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
-rw-r--r-- | sos/plugins/bootloader.py | 9 | ||||
-rw-r--r-- | sos/plugins/grub.py | 31 | ||||
-rw-r--r-- | sos/plugins/grub2.py | 33 | ||||
-rw-r--r-- | sos/plugins/lilo.py | 26 |
4 files changed, 93 insertions, 6 deletions
diff --git a/sos/plugins/bootloader.py b/sos/plugins/bootloader.py index 79a6152f..8e5f50b3 100644 --- a/sos/plugins/bootloader.py +++ b/sos/plugins/bootloader.py @@ -22,13 +22,10 @@ class Bootloader(Plugin, RedHatPlugin, UbuntuPlugin): def setup(self): self.add_copy_specs([ - "/etc/lilo.conf", + # legacy / special purpose bootloader configs "/etc/milo.conf", "/etc/silo.conf", "/boot/efi/efi/redhat/elilo.conf", - "/boot/grub/grub.conf", - "/boot/grub/device.map", - "/etc/grub.d", - "/boot/yaboot.conf"]) - self.add_cmd_output("lilo -q") + "/boot/yaboot.conf" + ]) self.add_cmd_output("ls -lanR /boot") diff --git a/sos/plugins/grub.py b/sos/plugins/grub.py new file mode 100644 index 00000000..bdda1156 --- /dev/null +++ b/sos/plugins/grub.py @@ -0,0 +1,31 @@ +### This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. + +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. + +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin + +class Grub(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): + """Grub information + """ + + plugin_name = 'grub' + packages = ('grub',) + + def setup(self): + self.add_copy_specs([ + "/boot/grub/grub.conf", + "/boot/grub/device.map", + "/etc/grub.conf", + "/etc/grub.d" + ]) + diff --git a/sos/plugins/grub2.py b/sos/plugins/grub2.py new file mode 100644 index 00000000..f990681a --- /dev/null +++ b/sos/plugins/grub2.py @@ -0,0 +1,33 @@ +### This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. + +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. + +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin + +class Grub2(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): + """Bootloader information + """ + + plugin_name = 'grub2' + packages = ('grub2',) + + def setup(self): + self.add_copy_specs([ + "/etc/grub.d", + "/etc/grub2.cfg", + "/etc/default/grub", + "/boot/grub2/grub.cfg", + "/boot/grub2/grubenv" + ]) + self.add_cmd_output("ls -lanR /boot") + self.add_cmd_output("grub2-mkconfig") diff --git a/sos/plugins/lilo.py b/sos/plugins/lilo.py new file mode 100644 index 00000000..237cfc67 --- /dev/null +++ b/sos/plugins/lilo.py @@ -0,0 +1,26 @@ +### This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. + +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. + +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin + +class Lilo(Plugin, RedHatPlugin, UbuntuPlugin): + """Lilo information + """ + + plugin_name = 'lilo' + packages = ('lilo',) + + def setup(self): + self.add_copy_spec("/etc/lilo.conf") + self.add_cmd_output("lilo -q") |