Well, after yesterday’s lesson about getting the IBM RDAC to install for a not-yet-running kernel, I decided to take it a step further. Novell does have some documentation about KMP’s, which is actually rather good, especially the guide written by Andreas Grünbacher.

After a short tinkering, I got it actually working. I was kinda surprised, at how easily it actually is. One problem I still have to deal with, is modifying the %post, to generate the mpp-initrd image. For now, the KMP only contains the default %post, which updates the modules.* stuff.

 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
Name:            ibm-rdac
License:         GPL
Group:           System/Kernel
Summary:         IBM Multipathing driver for DS4000 disk subsystems.

Version:         09.03.0C05.0030
Release:         0.1
Source0:         rdac-LINUX-%version-source.tar.gz
BuildRequires:   kernel-source kernel-syms
BuildRoot:       %{_tmppath}/%{name}-%{version}-build

Requires(post):    mppUtil-%{version}, module-init-tools
Requires(preun):   module-init-tools
Requires(postun):  module-init-tools

%suse_kernel_module_package um

%description
This is the Engenio Linux RDAC Driver Package for IBM DS4000
Storage Subsystems.

%package KMP
Group:     System/Kernel
Summary:   IBM Multipathing driver for DS4000 disk subsystems.

%description KMP
This is the Engenio Linux RDAC Driver Package for IBM DS4000
Storage Subsystems.

%prep
%setup -n linuxrdac-%{version}
set -- *
mkdir source
mv "$@" source/
mkdir obj

%build
export EXTRA_CFLAGS='-DVERSION="%version"'
for flavor in %flavors_to_build; do
    rm -rf obj/$flavor
    cp -r source obj/$flavor
    make -C /usr/src/linux-obj/%_target_cpu/$flavor modules
            M=$PWD/obj/$flavor
done

%install
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
export INSTALL_MOD_DIR=updates
for flavor in %flavors_to_build; do
    make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install
            M=$PWD/obj/$flavor
done

%changelog
* Thu May 07 2009 - 09.03.0C05.0030-0.1
  - Initial package.

Now, I’m kinda asking myself, why don’t more vendors submit their drivers to Novell in form of KMP’s … Anyway, I’m gonna send mine the LSI/IBM way, maybe they’ll pick it up …