I had access to a Fedora box today with an actual hard disk, so I could do some compiling. I'm posting via the ath9k driver right now.
The compile for Fedora is relatively straightforward. If anyone else wants to build the driver now, the following is what I did. (Just copy and paste the code sections into a terminal.)
First, follow along
these steps until you get through "Get the Source". We don't need to rebuild everything; there are just a few kernel headers needed that aren't in the kernel-devel RPM.
Next, make sure you have the basics:
Code:
yum -y install gcc git kernel-devel make
Get the
ath9k source:
Code:
cd /usr/src
git clone git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/ath9k.git
cd ath9k
Red Hat apparently hates list.h; they remove a lot of functions from kernel.org's version. Luckily, the only missing function required by ath9k is a simple one. It can be replaced with a macro for our purposes:
Code:
echo '#define list_is_singular(head) !list_empty(head) && ((head)->next == (head)->prev)' >> /usr/src/kernels/`uname -r`/include/linux/list.h
If you followed the steps to create the Red Hat's kernel source directory, we need to borrow a few headers:
Code:
cp ~/rpmbuild/BUILD/kernel-2.6.25/linux-2.6.25.x86_64/net/mac80211/{ieee80211_i,key,rate,sta_info}.h /usr/src/kernels/`uname -r`/net/mac80211
Now, (while still in the ath9k directory) make the module:
You shouldn't get any errors at this point. Add it to /lib/modules:
Now everything should be good to go. You should be able to load the module, restart NetworkManager, and connect wirelessly:
Code:
modprobe ath9k
service NetworkManager restart
I haven't done much in the realm of building Fedora packages. Please let me know if I am doing something stupid like missing an RPM that would fix some of those steps.