aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryn M. Reeves <bmr@redhat.com>2013-04-29 19:05:07 +0100
committerBryn M. Reeves <bmr@redhat.com>2013-04-29 19:05:07 +0100
commit8ccdef6e761760431b26b367dc40616c0495dc39 (patch)
treefb89951aa0805edf94770896188fe72ceac5b0db
parentb52ce08e40621bbc2a386b24138c3bbc0d429220 (diff)
downloadsos-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.py9
-rw-r--r--sos/plugins/grub.py31
-rw-r--r--sos/plugins/grub2.py33
-rw-r--r--sos/plugins/lilo.py26
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")