From ef8c212ad80bc3a01dbe6aa1400b07ccae244c64 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sun, 10 Feb 2008 17:22:23 +0000 Subject: * implement support for letting the plugins suggest additional kernel_params * the theme plugin now suggests the use of the kernel-params 'vga=0x317' and 'quiet' unless they have already been set [these values should be moved into the DB later, such that the user can change them (i.e. to set a different resolution via vga=...)]. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1532 95ad53e4-c205-0410-b2fa-d234c58c8868 --- os-plugins/OpenSLX/OSPlugin/Base.pm | 10 ++++++++++ os-plugins/plugins/theme/OpenSLX/OSPlugin/theme.pm | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) (limited to 'os-plugins') diff --git a/os-plugins/OpenSLX/OSPlugin/Base.pm b/os-plugins/OpenSLX/OSPlugin/Base.pm index 4b370375..0f601704 100644 --- a/os-plugins/OpenSLX/OSPlugin/Base.pm +++ b/os-plugins/OpenSLX/OSPlugin/Base.pm @@ -129,6 +129,16 @@ sub postRemovalPhase my $pluginTempPath = shift; } +sub suggestAdditionalKernelParams +{ # called by config-demuxer in order to give the plugin a chance to add + # any kernel params it requires. + # In order to do so, the plugin should analyse the contents of the + # given string ('kernel-params') and return a list of additional params + # that it would like to see added. + my $self = shift; + my $kernelParams = shift; +} + sub copyRequiredFilesIntoInitramfs { # called by config-demuxer in order to give the plugin a chance to copy # all required files from the vendor-OS into the initramfs. diff --git a/os-plugins/plugins/theme/OpenSLX/OSPlugin/theme.pm b/os-plugins/plugins/theme/OpenSLX/OSPlugin/theme.pm index 7de608af..a00cd8a2 100644 --- a/os-plugins/plugins/theme/OpenSLX/OSPlugin/theme.pm +++ b/os-plugins/plugins/theme/OpenSLX/OSPlugin/theme.pm @@ -111,6 +111,28 @@ sub getAttrInfo }; } +sub suggestAdditionalKernelParams +{ + my $self = shift; + my $kernelParams = shift; + + my @suggestedParams; + + # add vga=0x317 unless explicit vga-mode is already set + if ($kernelParams !~ m{\bvga=}) { + vlog(1, "theme-plugin: adding kernel-param vga=0x317"); + push @suggestedParams, 'vga=0x317'; + } + + # add quiet, if not already set + if ($kernelParams !~ m{\bquiet\b}) { + vlog(1, "theme-plugin: adding kernel-param quiet"); + push @suggestedParams, 'quiet'; + } + + return @suggestedParams; +} + sub copyRequiredFilesIntoInitramfs { my $self = shift; -- cgit v1.2.3-55-g7522