• 1
  • 2
  • 3
  • 4

Activities

  • NITOS Outdoor deployment consists of powerful nodes that feature multiple wireless interfaces and allow for experimentation with heterogeneous (Wi-Fi, WiMAX,

    Read More
  • The setup NITOS testbed is currently using is a fixed setup (employing no mobility between BSs) that does not require

    Read More
  • Towards the development of a remote accessible LTE testbed, where experimenters from all the word will be able to run

    Read More
  • NITOS facility provides remote access to OpenFlow switches (2 x Pronto 3290 , 2 x HP 3800 ), enabling the user to create

    Read More
  • NITlab developed a software defined radio (SDR) testbed that consists of 18 Universal Software Radio Peripheral (USRP) devices attached to

    Read More
  • NITOS is an Intelligent Transport System (ITS) compatible facility thanks to the implementation of the key components of the ITS

    Read More
  • NITOS cloud infrastructure is based on HP GEN8 blade servers and one HP DL380p GEN8 server. Cloud Infrastructure UTH Each blade server has

    Read More

NITOS

The Future Internet Facility

  • Outdoor Testbed

    Experiments under real world environment Read More
  • Indoor Testbed

    Experiments in RF isolated environment Read More
  • Office testbed

    Experiments in an office environment Read More
  • 1
  • 2
  • 3

Linux Kernel Compilation for supporting ath9k modules in NITOS-grid Commell LV-67B nodes

Lets say that we have already reserved two nodes, node025 and node024. We will use node025 to compile a new kernel version for the modules that we want to enable while also create *.deb packages, and then we will use node024 to install the *.deb that we will provide us the new kernel and the new headers that we will use for the compilation of the compat-wireless. Of course we can use only node025 for the whole process , however, the resulting image will be too large because of the extra packages that we need for the compilation of the kernel.

@nitos:$~> t_reboot 24 25 pxe  //reboot node via pxe

 

@nitos:$~> cd /var/lib/omf-images-5.3

 

@nitos:$/var/lib/omf-images-5.3> ls

 

@nitos:$/var/lib/omf-images-5.3> omf load -i ubuntu_nitos_commel_plain.ndz -t omf.nitos.node024,omf.nitos.node025 //load the image

 

@nitos:$~> ssh root@node025
root@node025:$~> route add default gw 10.0.1.200 //set gateway to access internet 
root@node025:$~> apt-get update //update headers
root@node025:$~> apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge //install prerequisites
root@node025:$~> apt-get build-dep linux
root@node025:$~> apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
root@node025:$~>apt-get install kernel-package
root@node025:$~> sudo apt-get install linux-source // This will download on /usr/src/ dir the files linux-source-[version] and linux-source-[version].tar.bz2
root@node025:$~> mkdir src; cd src
root@node025:$~/src> tar -jxvf /usr/src/linux-source-[version].tar.bz2 
root@node025:$~/src> cd linux-source-[version]
root@node025:$~/src/linux-source-[version]> cp -vi /boot/config-`uname -r` .config
root@node025:$~/src/linux-source-[version]>  make menuconfig // enable modules
        Linux Kernel Configuration
-*- Networking support --->
-*- Wireless --->
[M] cfg80211 - wireless configuration API
[*] nl80211 testmode command
[*] enable developer warnings
[*] cfg80211 regulatory debugging
[*] enable powersave by default
[*] cfg80211 DebugFS entries
[*] cfg80211 wireless extensions compatibility
[*] Wireless extensions sysfs files
[M] Common routines for IEEE802.11 drivers
[*] lib80211 debugging messages
[M] Generic IEEE 802.11 Networking Stack (mac80211)
Default rate control algorithm (Minstrel) --->
[*] Enable mac80211 mesh networking (pre-802.11s) support
-*- Enable LED triggers
[*] Export mac80211 internals in DebugFS
[*] Select mac80211 debugging features --->

Linux Kernel Configuration --->
Device Drivers --->
-*- Network Device Dupport --->
[*] Ethernet (10 or 100Mbit)

[*] EISA, VLB, PCI and on board controllers
[*] National Semiconductor DP8381x series PCI Ethernet support
[*] VIA Rhine support
[*] Ethernet (1000 Mbit) --->
[*] Intel(R) PRO/1000 Gigabit Ethernet support
[*] Realtek 8169 gigabit ethernet support
[*] Ethernet (10000 Mbit) --->
[*] Intel(R) PRO/10GbE support
[*] Wireless LAN
[M] Atheros Wireless Cards --->

[*] Atheros wireless debugging
[M] Atheros 5xxx wireless cards support
[*] Atheros 5xxx debugging
[M] Atheros 802.11n wireless cards support
[*] Atheros ath9k debugging
[M] Atheros HTC based wireless cards support
[*] Atheros ath9k_htc debugging
[M] Atheros AR9170 802.11n USB support

Note: The Ethernet drivers are being hooked as built in modules in order to support kernel networking availability on different hardware devices in Testbed during boot time.

root@node025:$~/src/linux-source-[version]> fakeroot make-kpkg --initrd --append-to-version=-my-new-kernel-atheros-enabled-[or some-string-of-yours-here] kernel-image kernel-headers // Compile it. This will be too long (about 2 hours)
root@node025:$~/src> linux-headers-2.6.35.13-my-new-kernel-atheros-enabled_2.6.35.13-my-new-kernel-atheros-enabled-10.00.Custom_i386.deb  linux-source-2.6.35linux-image-2.6.35.13-my-new-kernel-atheros-enabled_2.6.35.13-my-new-kernel-atheros-enabled-10.00.Custom_i386.deb // Of course yours could be different according to the nomenclature given 
root@node025:$~/src/linux-source-[version]> cd .. ; ls 
root@node025:$~/src> scp *.deb root@node024:~/   // copy .deb files to node024

 

Install the new Kernel on ubuntu_nitos_commell_plain.ndz image

node024 is already booted with ubuntu_nitos_commell_plain.ndz image

 

@nitos:~> ssh root@node024;
root@node024:~> route add default gw 10.0.1.200; apt-get update
root@node024:~> ls  // You should see the copied .deb files
root@node024:~> dpkg -i linux-image-2.6.35.13-my-new-kernel-atheros-enabled_2.6.35.13-my-new-kernel-atheros-enabled-10.00.Custom_i386.deb // install deb packages
root@node024:~> dpkg -i  linux-headers-2.6.35.13-my-new-kernel-atheros-enabled_2.6.35.13-my-new-kernel-atheros-enabled-10.00.Custom_i386.deb // in /usr/src dir you will see the new linux-headers named linux-headers-[version]. In my case is linux-headers-2.6.35.13-my-new-kernel-atheros-enabled
root@node024:~> ls /usr/src/
root@node024:~> cd /boot  
root@node024:/boot$ mkinitramfs -k -o initrd.img-2.6.35.13-my-new-kernel-atheros-enabled  2.6.35.13-my-new-kernel-atheros-enabled  
root@node024:/boot$ update-grub2  // update grub entries to boot image with new kernel 
root@node024:/boot$ reboot;  // Now node024 will reboot and will load the new kernel. Then we can save this image for future use by using omf save
@nitos:~> omf save -n omf.nitos.node024 

 

Note. The information described above is for users that want to build extra modules or to try it independently. Because, This process takes too long on time users do not need to repeat it, however they encouraged to use the already precompiled version of ubuntu_images provided by NITOS.Particularly, You can find a precompiled version named "ubuntu_nitos_commell_ath9k_enabled.ndz" under "/var/lib/omf-images-5.3" directory.

What Our Experimenters Say

  • NITOS is a very reliable and well managed platform. The offered infrastructure and features are great. The management team is very supportive.

    Mustafa Al-Bado
    Postdoctoral researcher
    Insight centre, University College Cork (UCC)
  • 1
  • 2
 
uth
image
image
image
 
 

Login Form