summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Tappe2008-03-21 23:47:22 +0100
committerOliver Tappe2008-03-21 23:47:22 +0100
commit495a83592edeed265ceb7512d17e14e65797685d (patch)
treef97cda718500f264c8d95dffd36d0f5939a3e399
parentSome changes for the vmware plugin to integrate properly ... (diff)
downloadcore-495a83592edeed265ceb7512d17e14e65797685d.tar.gz
core-495a83592edeed265ceb7512d17e14e65797685d.tar.xz
core-495a83592edeed265ceb7512d17e14e65797685d.zip
* added bootlog plugin which implements a remote log feature during boot
(should hopefully be helpful for further debugging of the 'desktop' plugin) git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1668 95ad53e4-c205-0410-b2fa-d234c58c8868
-rw-r--r--os-plugins/plugins/bootlog/OpenSLX/OSPlugin/bootlog.pm79
-rw-r--r--os-plugins/plugins/bootlog/init-hooks/15-have-ip-config/bootlog.sh7
2 files changed, 86 insertions, 0 deletions
diff --git a/os-plugins/plugins/bootlog/OpenSLX/OSPlugin/bootlog.pm b/os-plugins/plugins/bootlog/OpenSLX/OSPlugin/bootlog.pm
new file mode 100644
index 00000000..fab0be95
--- /dev/null
+++ b/os-plugins/plugins/bootlog/OpenSLX/OSPlugin/bootlog.pm
@@ -0,0 +1,79 @@
+# Copyright (c) 2008 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# bootlog.pm
+# - implementation of the 'bootlog' plugin, which installs
+# all needed information for a displaymanager and for the bootlog.
+# -----------------------------------------------------------------------------
+package OpenSLX::OSPlugin::bootlog;
+
+use strict;
+use warnings;
+
+use base qw(OpenSLX::OSPlugin::Base);
+
+use File::Basename;
+use File::Path;
+
+use OpenSLX::Basics;
+use OpenSLX::Utils;
+
+sub new
+{
+ my $class = shift;
+
+ my $self = {
+ name => 'bootlog',
+ };
+
+ return bless $self, $class;
+}
+
+sub getInfo
+{
+ my $self = shift;
+
+ return {
+ description => unshiftHereDoc(<<' End-of-Here'),
+ Sets up remote logging of boot process (via UPD).
+ End-of-Here
+ mustRunAfter => [],
+ };
+}
+
+sub getAttrInfo
+{
+ my $self = shift;
+
+ return {
+ 'bootlog::active' => {
+ applies_to_systems => 1,
+ applies_to_clients => 1,
+ description => unshiftHereDoc(<<' End-of-Here'),
+ should the 'bootlog'-plugin be executed during boot?
+ End-of-Here
+ content_regex => qr{^(0|1)$},
+ content_descr => '1 means active - 0 means inactive',
+ default => '1',
+ },
+ 'bootlog::target' => {
+ applies_to_systems => 1,
+ applies_to_clients => 1,
+ description => unshiftHereDoc(<<' End-of-Here'),
+ ip:port where bootlog shall be sent to
+ End-of-Here
+ content_regex => undef,
+ content_descr => 'allowed: gdm, kdm, xdm',
+ default => undef,
+ },
+ };
+}
+
+1;
diff --git a/os-plugins/plugins/bootlog/init-hooks/15-have-ip-config/bootlog.sh b/os-plugins/plugins/bootlog/init-hooks/15-have-ip-config/bootlog.sh
new file mode 100644
index 00000000..a1a07e8a
--- /dev/null
+++ b/os-plugins/plugins/bootlog/init-hooks/15-have-ip-config/bootlog.sh
@@ -0,0 +1,7 @@
+if [ -e /initramfs/plugin-conf/bootlog.conf ]; then
+ . /initramfs/plugin-conf/bootlog.conf
+ if [ $bootlog_active -ne 0 ]; then
+ echo "syslogd -R $bootlog_target..."
+ syslogd -R $bootlog_target & >/dev/null 2>&1
+ fi
+fi