NAME

Tapper::Installer::Precondition::Kernelbuild

SYNOPSIS

my $kernel_precondition = '
precondition_type: kernelbuild
git_url: git://osrc.amd.com/linux-2.6.git
changeset: HEAD
patchdir: /patches
';

use Tapper::Installer::Precondition::Kernelbuild;
$kernel = Tapper::Installer::Precondition::Kernelbuild->new($config);
$kernel->install(YAML::Load($kernel_precondition));

NAME

Tapper::Installer::Precondition::Kernelbuild - Build and install a kernel from git

FUNCTIONS

fix_git_url

URL rewrite.

@param string git_url

@return string - fixed git url

git_get

This function encapsulates getting a kernel source directory out of a git repository. It changes the current directory into the the repository.

@param string - repository URL @param string - revision in this repository

@return success - 0 @return error - error string

get_config

Get the kernel config.

@return success - 0 @return error - error string

make_kernel

Build and install a kernel and write all log messages to STDOUT/STDERR.

@return success - 0 @return error - error string

younger

Sort function, sort files based on modification time.

make_initrd

Build and install an initrd and write all log messages to STDOUT/STDERR.

@return success - 0 @return error - error string

install

Get the source if needed, prepare the config, build and install the kernel and initrd file.

@param hash reference - contains all information about the kernel

@return success - 0 @return error - error string

AUTHORS

  • AMD OSRC Tapper Team <tapper@amd64.org>

  • Tapper Team <tapper-ops@amazon.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2024 by Advanced Micro Devices, Inc.

This is free software, licensed under:

The (two-clause) FreeBSD License