Kmod RPM, wrong kernel name

Issues related to applications and software problems
Post Reply
mia.dawson
Posts: 2
Joined: 2017/03/30 23:12:53

Kmod RPM, wrong kernel name

Post by mia.dawson » 2017/03/30 23:46:21

Hi

On Centos 6.8 I'm trying to create a Kmod RPM to install a Linux driver. During rpm build, I get the following error message:

+ make -C /usr/src/kernels/3.19.0201703301406_si-1.x86_64 M=/data/home/lk/projects/mk_rpm/kernel-3.19.0/BUILD/nvme-1.1/obj/default
make: *** /usr/src/kernels/3.19.0201703301406_si-1.x86_64: No such file or directory. Stop.

However the following dir is present in /usr/src/kernels: 3.19.0201703301406-si

This is the output of my uname -a: Linux maya 3.19.0201703301406-si #1 SMP Thu Mar 30 13:04:03 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux.

This is what my spec file looks like:

Code: Select all

Vendor:         mikrodyne
Summary:        mikrodyne driver
URL:            mikrodyne.com
License:        GPLv2
Name:           mdyne
Version:        %{_major}.%{_minor}
Release:        1%{?dist}
Group:          System/Kernel
Packager:       Engineering
Source0:        %{name}-%{version}.tar.bz2
Source1:        %{name}.files
Source2:        %{name}.conf
BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires:  %kernel_module_package_buildreqs

# build only for standard kernel variant(s)
%kernel_module_package -f %{SOURCE1} default

%description
mikrodyne driver

%prep
%setup
set -- *
mkdir source
mv "$@" source/
mkdir obj

%build
for flavor in %flavors_to_build
do
    rm -rf obj/$flavor
    cp -r source obj/$flavor
    make -C %{kernel_source $flavor} M=$PWD/obj/$flavor
done

%install
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
export INSTALL_MOD_DIR=extra/%{name}
for flavor in %flavors_to_build
do
    make -C %{kernel_source $flavor} modules_install M=$PWD/obj/$flavor
done

install -m 644 -D %{SOURCE2} $RPM_BUILD_ROOT/etc/depmod.d/%{name}.conf

%clean
rm -rf $RPM_BUILD_ROOT

# kmod RPMs do not use this tag
%files

# executes just before a package is to be installed
%pre

# executes after a package has been installed
%post

# executes just before a package is to be un-installed
%preun

# executes after a package has been un-installed
%postun

%changelog
* Wed Mar 28 2017 Engineering <support@mikrodyne.com>
- driver
Can someone help me understand what is going wrong?

TIA
Mia Dawson

User avatar
TrevorH
Site Admin
Posts: 33218
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Kmod RPM, wrong kernel name

Post by TrevorH » 2017/03/31 06:37:54

You're not running CentOS. CentOS 6 has a 2.6.32 kernel and already includes the nvme driver.
The future appears to be RHEL or Debian. I think I'm going Debian.
Info for USB installs on http://wiki.centos.org/HowTos/InstallFromUSBkey
CentOS 5 and 6 are deadest, do not use them.
Use the FAQ Luke

mia.dawson
Posts: 2
Joined: 2017/03/30 23:12:53

Re: Kmod RPM, wrong kernel name

Post by mia.dawson » 2017/03/31 17:04:37

TrevorH wrote:You're not running CentOS. CentOS 6 has a 2.6.32 kernel and already includes the nvme driver.
Hi Trevor

I am running Centos 6.8. I have upgraded to Kernel 3.19.0 as indicated by my uname -a output. True, it comes with nvme driver, but this is a modified experimental driver and will be deployed using a KMOD RPM. That is why I'm trying to generate the RPM.

But I dont get why rpmbuild is changing dashes to underscores and adding postfixes to kernel names

Mia

Post Reply