1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
package SystemInstaller::Image::Kernel_iseries;
# $Header: /cvsroot/systeminstaller/systeminstaller/lib/SystemInstaller/Image/Kernel_iseries.pm,v 1.2 2002/11/08 00:02:25 mchasal Exp $
# Copyright (c) 2001 International Business Machines
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Michael Chase-Salerno <mchasal@users.sf.net>
# Iseries modifications Igor Grobman <ilgrobma@us.ibm.com>
use strict;
use File::Basename;
use SystemInstaller::Log qw(verbose get_verbose);
use Carp;
use vars qw($VERSION);
$VERSION = sprintf("%d.%02d", q$Revision: 1.2 $ =~ /(\d+)\.(\d+)/);
#
## API FUNCTIONS
#
sub footprint {
# Look at a directory and determine if it looks like rpms.
# Input: Directory name
# Returns: Boolean of match
my $class=shift;
my $imgdir=shift;
if (-d "/proc/iSeries") {
return 1;
}
return 0;
} #footprint
sub find_kernels {
# Find all the kernels and stick them in a file for later.
# Input: imagedir
# Output: boolean
my $class=shift;
my $imagedir = shift;
&verbose("Finding all kernels");
my @files= glob("$imagedir/boot/*vmlinux*");
my @kernels;
foreach (@files) {
my $fn=basename($_);
my $lab=$fn;
$lab=~s/^vmlinuz-//;
my $path=$_;
$path=~s/^$imagedir//;
# Skip install kernels
if (/install/) {
next;
}
# Put SMP kernels in the front
if (/smp/) {
unshift (@kernels,"$path $lab");
} else {
push (@kernels,"$path $lab");
}
}
return @kernels;
} # find_kernels
### POD from here down
=head1 NAME
SystemInstaller::Package::Kernel_iseries - systemconfig.conf kernel setup.
=head1 DESCRIPTION
This module provides the SystemInstall package API function, I<kernel_setup>
for iseries systems. See the SystemInstaller::Package manpage for details
on the API specification.
=head1 AUTHOR
Michael Chase-Salerno <mchasal@users.sf.net>
Igor Grobman <ilgrobma@us.ibm.com>
=head1 SEE ALSO
L<SystemInstaller::Package>
L<SystemInstaller::Package::Kernel_ia64>
=cut
1;
|