diff options
Diffstat (limited to 'src/boot-env/OpenSLX/MakeInitRamFS/Distro')
-rw-r--r-- | src/boot-env/OpenSLX/MakeInitRamFS/Distro/Base.pm | 48 | ||||
-rw-r--r-- | src/boot-env/OpenSLX/MakeInitRamFS/Distro/Debian.pm | 61 | ||||
-rw-r--r-- | src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scilin.pm | 61 | ||||
-rw-r--r-- | src/boot-env/OpenSLX/MakeInitRamFS/Distro/Suse.pm | 62 | ||||
-rw-r--r-- | src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm | 73 | ||||
-rw-r--r-- | src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu_9.pm | 38 |
6 files changed, 343 insertions, 0 deletions
diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Base.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Base.pm new file mode 100644 index 00000000..9be218e8 --- /dev/null +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Base.pm @@ -0,0 +1,48 @@ +# Copyright (c) 2006, 2007 - 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/ +# ----------------------------------------------------------------------------- +# MakeInitRamFS::Distro::Base.pm +# - provides empty base of the distro-specific part of the OpenSLX +# MakeInitRamFS API. +# ----------------------------------------------------------------------------- +package OpenSLX::MakeInitRamFS::Distro::Base; + +use strict; +use warnings; + +our $VERSION = 1.01; # API-version . implementation-version + +use OpenSLX::Basics; + +################################################################################ +### interface methods +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'base', + }; + return bless $self, $class; +} + +sub applyChanges +{ +} + +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + return '15.3'; +} + +1; diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Debian.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Debian.pm new file mode 100644 index 00000000..7174474d --- /dev/null +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Debian.pm @@ -0,0 +1,61 @@ +# Copyright (c) 2006..2010 - 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/ +# ----------------------------------------------------------------------------- +# MakeInitRamFS::Distro::Debian.pm +# - provides Debian-specific overrides of the MakeInitRamFS::Distro API. +# ----------------------------------------------------------------------------- +package OpenSLX::MakeInitRamFS::Distro::Debian; + +use strict; +use warnings; + +use base qw(OpenSLX::MakeInitRamFS::Distro::Base); + +use OpenSLX::Basics; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'debian', + }; + return bless $self, $class; +} + +sub applyChanges +{ + my $self = shift; + my $engine = shift; + + $engine->_addFilteredKernelModules( qw( af_packet hid hid-bright unix )); + + return; +} + +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + # to be checked + my %versionMap = ( + '3.0' => '13.11', + '4.0' => '14.19', + '5.0' => '15.3', + '6.0' => '16.0', + ); + return $versionMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + +1; diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scilin.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scilin.pm new file mode 100644 index 00000000..f2372f8f --- /dev/null +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Scilin.pm @@ -0,0 +1,61 @@ +# Copyright (c) 2009..2010 - 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/ +# ----------------------------------------------------------------------------- +# MakeInitRamFS::Distro::Scilin.pm +# - provides Scientific Linux specific overrides of the +# MakeInitRamFS::Distro API. +# ----------------------------------------------------------------------------- +package OpenSLX::MakeInitRamFS::Distro::Scilin; + +use strict; +use warnings; + +use base qw(OpenSLX::MakeInitRamFS::Distro::Base); + +use OpenSLX::Basics; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'scilin', + }; + return bless $self, $class; +} + +sub applyChanges +{ + my $self = shift; + my $engine = shift; + # filter modules which are part of the main kernel already + $engine->_addFilteredKernelModules( qw( af_packet hid hid-bright usbhid unix vesafb fbcon )); + + return; +} + +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + my %versionMap = ( + '4.7' => '13.11', + '5.3' => '15.3', + '5.4' => '15.21', + '5.5' => '16.0', + ); + return $versionMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + +1; diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Suse.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Suse.pm new file mode 100644 index 00000000..cb106924 --- /dev/null +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Suse.pm @@ -0,0 +1,62 @@ +# Copyright (c) 2006..2010 - 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/ +# ----------------------------------------------------------------------------- +# MakeInitRamFS::Distro::SUSE.pm +# - provides SUSE-specific overrides of the MakeInitRamFS::Distro API. +# ----------------------------------------------------------------------------- +package OpenSLX::MakeInitRamFS::Distro::Suse; + +use strict; +use warnings; + +use base qw(OpenSLX::MakeInitRamFS::Distro::Base); + +use OpenSLX::Basics; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'suse', + }; + return bless $self, $class; +} + +sub applyChanges +{ + my $self = shift; + my $engine = shift; + + $engine->_addFilteredKernelModules( qw( hid hid-bright unix vesafb fbcon )); + + return; +} + +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + my %versionMap = ( + '10.2' => '13.11', + '10.3' => '14.19', + '11.0' => '15.3', + '11.1' => '15.21', + '11.2' => '16.0', + '11.3' => '16.0' + ); + return $versionMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + +1; diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm new file mode 100644 index 00000000..2c59bbae --- /dev/null +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu.pm @@ -0,0 +1,73 @@ + # Copyright (c) 2006..2010 - 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/ +# ----------------------------------------------------------------------------- +# MakeInitRamFS::Distro::Ubuntu.pm +# - provides Ubuntu-specific overrides of the MakeInitRamFS::Distro API. +# ----------------------------------------------------------------------------- +package OpenSLX::MakeInitRamFS::Distro::Ubuntu; + +use strict; +use warnings; + +use base qw(OpenSLX::MakeInitRamFS::Distro::Base); + +use OpenSLX::Basics; + +################################################################################ +### implementation +################################################################################ +sub new +{ + my $class = shift; + my $self = { + 'base-name' => 'ubuntu', + }; + return bless $self, $class; +} + +# filter out modules not present (e.g. because compiled into the kernel) +sub applyChanges +{ + my $self = shift; + my $engine = shift; + + #if ($engine->{'distro-name'} =~ m{-([^-]+)$}) { + # my $distroVersion = 0.0 + $1; + # if ($distroVersion <= 8.10) { + # $engine->_addFilteredKernelModules( qw( unix hid-bright )); + # } + # else { + # $engine->_addFilteredKernelModules( qw( unix hid-bright af_packet uhci-hcd ohci-hcd )); + # } + #} + $engine->_addFilteredKernelModules( qw( unix hid-bright af_packet uhci-hcd ohci-hcd )); + + return; +} + +sub determineMatchingHwinfoVersion +{ + my $self = shift; + my $distroVersion = shift; + + # Please check, if correct + my %versionMap = ( + '7.10' => '14.19', + '8.04' => '15.3', + '8.10' => '15.21', + '9.04' => '15.21', + '9.10' => '16.0', + '10.04' => '16.0', + ); + return $versionMap{$distroVersion} + || $self->SUPER::determineMatchingHwinfoVersion($distroVersion); +} + +1; diff --git a/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu_9.pm b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu_9.pm new file mode 100644 index 00000000..b0087253 --- /dev/null +++ b/src/boot-env/OpenSLX/MakeInitRamFS/Distro/Ubuntu_9.pm @@ -0,0 +1,38 @@ +# Copyright (c) 2009 - 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/ +# ----------------------------------------------------------------------------- +# MakeInitRamFS::Distro::Ubuntu_9.pm +# - provides Ubuntu-9.X-specific overrides of the MakeInitRamFS::Distro API. +# ----------------------------------------------------------------------------- +package OpenSLX::MakeInitRamFS::Distro::Ubuntu_9; + +use strict; +use warnings; + +use base qw(OpenSLX::MakeInitRamFS::Distro::Ubuntu); + +use OpenSLX::Basics; + +################################################################################ +### implementation +################################################################################ +sub applyChanges +{ + my $self = shift; + my $engine = shift; + + $engine->_addFilteredKernelModules( + qw( af_packet unix hid uhci-hcd ohci-hcd ) + ); + + return; +} + +1; |