Building open80211s on Ubuntu
This is a quick tutorial for building the wireless-testing kernel with open80211s enabled on Ubuntu. More official Ubuntu-specific details are available on the Ubuntu Wiki.
Prerequisites
You need the following packages to build the kernel and make kernel packages:
$ sudo apt-get install -y linux-kernel-devel fakeroot build-essential git-core
To use menuconfig, you need ncurses:
$ sudo apt-get install libncurses5
If you have not done it yet, clone the wireless-testing kernel tree:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
Configuring the kernel
Go to the wireless-testing directory and copy your current kernel's configuration:
$ cd wireless-testing $ cp /boot/config-`uname -r` .config
and then update the configuration for the new kernel:
$ make oldconfig
If you need to apply any patches to the kernel, do so now.
Now run menuconfig (or your preferred configuration utility) and select at least the following options:
- Networking -> Wireless -> Generic IEEE 802.11 Networking Stack (mac80211)
- Enable mac80211 mesh networking (pre-802.11s) support
Enable any device driver(s) that you need, for instance:
- Device Drivers -> Network Device Support -> Wireless LAN -> ZyDAS ZD1211/ZD1211B USB-wireless support
Building the kernel
To build the kernel and make packages:
$ fakeroot make-kpkg --initrd kernel_image kernel_headers
When this finishes, you should see two .deb packages (the kernel itself and its headers) one directory up from the wireless-testing directory. To install them:
$ cd .. $ sudo dpkg -i linux-*.deb
This copies files into /boot, creates an entry in /boot/grub/menu.lst and installs the modules in /lib/modules.
Additionally, you may want to create a symlink in /lib/firmware to link up your current kernel's firmware directory to the new kernel. The name of the new kernel is part of the file name for the .deb packages. For example,
$ sudo ln -s /lib/firmware/`uname -r` /lib/firmware/2.6.26-wl
- If you are testing with the Arlink USB module or another Zydas-based interface, use up-to-date Zydas firmware.
- If you are testing with Broadcom-based hardware, make sure that you have the correct b43 firmware available.
Testing
You may now reboot into the new kernel (select it from the grub bootloader menu). See the rest of the HOWTO for instructions on trying out the mesh.
