From 252535d478f27f05153edc13d1afae91abb7a374 Mon Sep 17 00:00:00 2001 From: Alexander Hoppe Date: Wed, 26 Aug 2009 13:37:49 +0000 Subject: function for firmwares to be copied to /lib/firmware and attribute ramfs_firmmods git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@3133 95ad53e4-c205-0410-b2fa-d234c58c8868 --- boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm') diff --git a/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm b/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm index ec80f6a6..30ad500a 100644 --- a/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm +++ b/boot-env/OpenSLX/MakeInitRamFS/Engine/Base.pm @@ -187,6 +187,36 @@ sub _addFilteredKernelModules return; } +sub _copyFirmware +{ + my $self = shift; + + my $sourcePath = "$self->{'root-path'}/lib/firmware/$self->{'kernel-version'}"; + vlog(3,"sourcePath: $sourcePath"); + + my $targetPath + = "$self->{'build-path'}/lib/firmware"; + vlog(3,"targetPath: $targetPath"); + $self->addCMD("mkdir -p $targetPath"); + + # add a couple of kernel modules that we expect to be used in stage3 + # (some of these modules do not exist on all distros, so they will be + # filtered out again by the respective distro object): + my @firmwareModules; + vlog(3,"ramfs_firmmods: $self->{attrs}->{ramfs_firmmods}"); + push @firmwareModules, split ' ', $self->{attrs}->{ramfs_firmmods}; + # copy all the modules that we think are required + foreach my $moduleToBeCopied (@firmwareModules) { + my $source = followLink( + "$self->{'root-path'}/lib/firmware/$self->{'kernel-version'}/$moduleToBeCopied", $self->{'root-path'} + ); + my $target = "$targetPath/$moduleToBeCopied"; + $self->addCMD("cp -pa --dereference $source $target"); + + } + return; +} + sub _copyKernelModules { my $self = shift; @@ -306,6 +336,7 @@ sub _writeInitramfsSetup 'ramfs_fsmods' => $self->{attrs}->{ramfs_fsmods} || '', 'ramfs_miscmods' => $self->{attrs}->{ramfs_miscmods} || '', 'ramfs_nicmods' => $self->{attrs}->{ramfs_nicmods} || '', + 'ramfs_firmmods' => $self->{attrs}->{ramfs_firmmods} || '', 'rootfs' => $self->{'export-uri'} || '', 'hw_local_disk' => $self->{attrs}->{hw_local_disk} || '', }; -- cgit v1.2.3-55-g7522