You will need the kernel-devel rpm for your kernel, as well as the compiler gcc.
The kernel-devel package does not create a symbolic link in the /lib/module/`uname -r` directory. (If anyone can tell us of a RHEL package that creates this symbolic link, please email support at coraid.com.)
For that reason, it is necessary to specify the location of your kernel sources and the installation directory, as shown below. Please adjust the kernel version as necessary for your own system.
make KDIR=/usr/src/kernels/2.6.18-8.1.15.el5-i686 INSTDIR=/lib/modules/2.6.18-8.el5/kernel/drivers/block/aoe su make KDIR=/usr/src/kernels/2.6.18-8.1.15.el5-i686 INSTDIR=/lib/modules/2.6.18-8.el5/kernel/drivers/block/aoe install
The following udev rules have been found to work with CentOS 5.2.
# aoe char devices SUBSYSTEM=="aoe", KERNEL=="discover", NAME="etherd/%k", GROUP="disk", MODE="0220" SUBSYSTEM=="aoe", KERNEL=="err", NAME="etherd/%k", GROUP="disk", MODE="0440" SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k", GROUP="disk", MODE="0220" SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k", GROUP="disk", MODE="0220" # aoe block devices KERNEL=="etherd*", NAME="%k", GROUP="disk"