sudo apt-get install build-essential linux-headers-`uname -r`
The standalone aoe driver from the Coraid website determines where to install the aoe module by using the Makefile in the kernel sources. On Ubuntu, the module installation directory from the kernel sources doesn't match the running kernel.
You can easily specify the location where the aoe module should be installed by adding it to the "make" command line. Instead of just doing "make install", you can do ...
make install INSTDIR=/lib/modules/`uname -r`/kernel/drivers/block/aoe
An Ubuntu user reported that Ubuntu doesn't use /etc/modprobe.conf directly, so to install the standalone aoe-2.6-10 driver, he performed the following steps after changing directories into the unpacked aoe-2.6-10 sources.
Note that you should only perform these steps if you don't already have an /etc/modprobe.conf file and your ubuntu system is using /etc/modprobe.d/aliases.
touch /etc/modprobe.conf make install INSTDIR=/lib/modules/`uname -r`/kernel/drivers/block/aoe cat /etc/modprobe.conf >> /etc/modprobe.d/aliases # append it
It would be good to tidy up by removing the /etc/modprobe.conf file now, because it isn't really the definitive database for kernel modules.
Support for minor device numbers greater than 255 seems to be lacking in Ubuntu 5.04.
root@makki:~/aoe-2.6-11 # mknod /tmp/testdev b 152 256 root@makki:~/aoe-2.6-11 # ls -l !^ ls -l /tmp/testdev brw-r--r-- 1 root root 153, 0 2005-08-11 15:55 /tmp/testdev
Please see the EtherDrive 2.6 HOWTO's FAQ for more information on this issue.
Thanks to James Carroll for providing Ubuntu-specific information.