compared with
Current by Nata Ramanenka
on Jun 01, 2012 06:04.

(show comment)
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (3)

View Page History

----
h3. 3. Install CDP Linux Device Driver

CDP Device Driver is a proprietary, loadable Linux kernel module distributed by R1Soft. It is loadable at run-time without restarting Linux, and you do *not* need to recompile your Linux kernel to use it. R1Soft does not provide prebuilt modules for the popular kernels anymore, so you will have to compile the module from source.

{note:title=Notice}You need to have loadable modules enabled as a feature in your kernel, and this is standard on all popular Linux distributions.
{note}

h4. 3.1 Compiling CDP Kernel Module Against Kernel Headers or Kernel Source Tree

Using a pre-built binary module package is not possible anymore. You will have to compile this module against kernel headers or a kernel source tree. We are not always able to compile kernel modules from kernel-devel packages supplied by most major Linux distributions. In some cases, packages are missing header files (broken), or the packages have been stripped of information that any device driver would need to compile a kernel module. In these cases, we can build using your installed kernel-devel package on your Linux server, as r1soft-setup will obtain the missing information it needs to compile a module from your running kernel.

In order for kernel module compilation to work, you should have Internet connectivity directly from the Linux server you are installing CDP on, to TCP port HTTPS (443), on the host krnlbld.r1soft.com.

You can test connectivity with the following command (this may take a minute):

{code}# r1soft-setup --test-connection{code}

h4. 3.2 Install Kernel Sources

If you are using an unmodified kernel provided by CentOS installer, install the kernel-devel package:

{code}# yum install kernel-devel{code}

!install-kernel.png|border=1!

h4. 3.3 Verify that the Source Matches Your Running Kernel

Sometimes, the kernel-devel package is newer than the installed and running kernel. If the kernel-devel is too old and not found, please follow the instructions on how to setup access to older yum packages as documented [here|kb3:Finding Old kernel-devel Packages For CentOS].

h4. 4.4 Build the CDP Kernel Module Online (direct Internet connection to R1Soft build server)

To attempt to build the kernel module, run the following command (this may take several minutes):

{code}# r1soft-setup --get-module
{code}

!install standard 209.png!

If module has been compiled and installed successfully, you will see an output similar to the following:

{code}Saving kernel module to '/lib/modules/r1soft/hcpdriver-cki-2.6.32-220.4.1.el6.x86_64.ko'
Kernel module is now installed.
Use '/etc/init.d/cdp-agent restart' to load the new driver
{code}

h4. 3.5 Build the CDP Kernel Module Offline (without direct Internet connection to R1Soft build server)

If there is no direct Internet connection between your CDP server and R1Soft build server, it is still possible to compile the kernel module. In this case, this will be tree-step process. First, you will have to create tarball file with the kernel headers. When you should copy this tarball file from the server to some other computer which has Internet connection to R1Soft build server. From this computer you should upload the tarball to the R1Soft build server and wait for the compilation to finish. When it is finished, you should download binary module and copy it back to the CDP server. Start with executing the following command:

{code}# r1soft-setup --no-binary --kernel-dir /usr/src/kernels/YOUR_KERNEL_TREE
--tarball-only /tmp/kernel-headers-for-r1soft.tar.gz{code}

After running this command, you will see:

{code}# r1soft-setup --no-binary --kernel-dir /usr/src/kernels/2.6.32-220.4.1.el6.x86_64
--tarball-only /tmp/kernel-headers-for-r1soft.tar.gz
Gathering kernel information
Gathering kernel information complete.
Creating kernel headers package
Checking '/usr/src/kernels/2.6.32-220.4.1.el6.x86_64' for kernel headers
Found headers in '/usr/src/kernels/2.6.32-220.4.1.el6.x86_64'
Compressing...
Header package created '/tmp/kernel-headers-for-r1soft.tar.gz'
visit https://krnlbld.r1soft.com/ to do an offline module build
After it is complete, you will need to copy the module to /lib/modules/r1soft{code}

!adv14.png!

h4. Last Step