Difference between revisions of "How-to compile the Scull examples"

From Klaus' wiki
Jump to: navigation, search
Line 21: Line 21:
 
</source>
 
</source>
  
As '''normal user''' issue this:
+
Now unpack the example sources if you haven't done that already.
<source lang="bash">
+
$ cd /home/eml1/examples
+
$ make -C ~/rmpbuild/BUILD/kernel-2.6.18/linux-2.6.18.i686
+
#
+
# Takes a while to compile the kernel
+
#
+
</source>
+
 
+
  
 
<source lang="bash">
 
<source lang="bash">
Line 39: Line 31:
 
$ chgrp -R moduledev examples
 
$ chgrp -R moduledev examples
 
$ cd examples
 
$ cd examples
#
+
</source>
# Prepare the helper script as described below
+
 
#
+
Prepare the helper script as described below
# When entering the example directory execute this
+
 
#
+
When entering the example directory execute this
 +
 
 +
<source lang="bash">
 
$ . settings.sh
 
$ . settings.sh
 
#
 
#

Revision as of 11:29, 27 September 2010

As root on your virtual server execute the following commands:

$ yum install gcc kernel-xen-devel ncurses-devel
$ yum update
#
# If a new kernel came in restart the server
#
$ init 6
#
# Wait a few minutes and login once again
#

Next create the ordinary users for the system with

 $ adduser <username>

As root edit the /etc/group file and add a new group at the end. Copy the line above (one of the ordinary useres) and change the group number to bee different from any other numbers assigned in the file. Add the usernames after the last : having the file looking something like this:

klausk:x:500:
moduledev:x:501:klausk

Now unpack the example sources if you haven't done that already.

#
# Provided that the examples are placed in /home/eml1 issue these commands:
#
$ cd /home/eml1
$ tar zxvf examples.tar.gz
$ chgrp -R moduledev examples
$ cd examples

Prepare the helper script as described below

When entering the example directory execute this

$ . settings.sh
#
# To make the scull module perform:
#
$ cd scull
$ make modules

Helper script called settings.sh - to be run every time you enter this directory. It sets up the environment.

#!/bin/bash
#
# Preparation for the compilation of the scull example code
#
KERNELDIR=/usr/src/kernels/2.6.18-194.11.4.el5-xen-i686/
export KERNELDIR


Remember that only root can insmod a module in the kernel.

If you add a line like this into /etc/sudoers using visudo

klausk  ALL=(ALL)       NOPASSWD: ALL