How To Install
From GeoSharing
Line 83: | Line 83: | ||
=== Internet connectivity === | === Internet connectivity === | ||
+ | [[File:Internet-on-your-neo-1.png|thumb|400px|Internet on FreeRunner via USB]] | ||
When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner. | When the operating system is installed and running, the configuration steps required in order to share the internet connectivity of the computer with the Neo FreeRunner via the USB cable are the followings. These steps must be done on the computer connected to the Neo FreeRunner. | ||
Line 94: | Line 95: | ||
#net.ipv4.conf.default.forwarding=1 | #net.ipv4.conf.default.forwarding=1 | ||
- | and uncomment it (remove the | + | and uncomment it (remove the # character if not already done). |
3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''': | 3) The iptables of the computer must be configured such that the computer behaves as a simple router for the Openmoko. The computer must forward packets coming from the Neo FreeRunner to the internet and the other way around. Edit the file '''/etc/rc.local''': | ||
Line 118: | Line 119: | ||
== GeoSharing project installation} == | == GeoSharing project installation} == | ||
- | Since the GeoSharing project is based on the OLSRd Linux | + | Since the GeoSharing project is based on the OLSRd Linux daemon and on tangoGPS, it is mandatory to compile and install those two applications as well as the GeoSharing application. |
- | Before going any further, extra packages such as a C compiler ( | + | Before going any further, extra packages such as a C compiler ('''gcc''') and libraries ('''libglib''', '''libconfig''', '''libgps''', etc.) need to be installed on the Neo FreeRunner. In order to install these packages, an internet connection is required. The following commands must then be executed on the Neo FreeRunner. |
- | + | root@om-gta02 ~ # opkg update | |
- | root@om-gta02 ~ # opkg update | + | root@om-gta02 ~ # opkg upgrade |
- | + | root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev | |
- | root@om-gta02 ~ # opkg upgrade | + | |
- | + | ||
- | root@om-gta02 ~ # opkg install make gcc gcc-symlinks libc6 libc6-dev binutils binutils-symlinks coreutils kernel-module-tun kernel-module-tunnel4 mdbus libglib-2.0-dev libdbus-glib-1-dev gconf orbit2 libidl-2-0 policykit eggdbus libexif12 libgps gpsd-dev gtk+ gconf libxml2-dev libsoup-2.4-dev bluez4-dev curl curl-dev libexif-dev libconfig-dev | + | |
- | + | ||
Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner. | Now that the needed packages are installed, OLSRd, tangoGPS and the GeoSharing application can be compiled and installed on the Neo FreeRunner. | ||
- | + | === OLSRd Linux daemon === | |
- | + | The compilation process of OLSRd requires '''bison''' and '''flex''' packages to compile the syntactical analyser used inside OLSRd. Since the version of SHR proposed in this manual does not provide those packages ('''bison''' and '''flex''') in the package repository, the compilation of the syntactical analyser have to be done on another version of the OS. | |
- | The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. | + | The entire compilation and installation process of OLSRd on the Neo FreeRunner is detailed in the following steps. Some steps are performed on a Neo FreeRunner running the SHR-unstable version of the operating system while some other steps are performed on the SHR-testing version. The SHR-unstable version provides much more packages in the package repository. '''Bison''' and '''flex''' are fortunately part of the list. On the Neo FreeRunner running the SHR-unstable version, all the packages previously listed have been installed. In addition to them, '''bison''' and '''flex''' have been installed as well. |
A computer is used to easily manage file transfers between the Neo FreeRunner devices. | A computer is used to easily manage file transfers between the Neo FreeRunner devices. | ||
- | + | 1) On the computer, download the last stable release of OLSRd (*.tar.gz file) from http://www.olsrd.org. The version of OLSRd used to realise this manual is the version 0.6. | |
- | + | ||
- | + | ||
- | + | 2) Extract the archive content on the computer filesystem and open a terminal pointing to the folder that has just been extracted. | |
- | + | ||
- | + | 3) At this time, only the Neo FreeRunner running SHR-unstable must be connected to the computer. From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-unstable. | |
- | + | $ scp -r olsrd-0.6.0 root@openmoko:/home/root/ | |
- | + | 4) On the Neo FreeRunner running SHR-unstable, open a terminal, go in the olsrd folder and compile the project. This process may take a while. | |
- | + | ||
- | + | ||
- | + | root@om-gta02 ~ # cd olsrd-0.6.0 | |
+ | root@om-gta02 ~ # make | ||
- | + | 5) From the computer, it is now necessary to collect the generated files from the SHR-unstable device. | |
- | + | ||
- | + | ||
- | + | ||
- | + | $ scp -r root@openmoko:/home/root/olsrd-0.6.0 /home/user/ | |
- | + | 6) The Neo FreeRunner running SHR-unstable must be disconnected from the computer and may be shut down. This device is never used anymore. | |
- | + | ||
- | + | ||
- | + | 7) The Neo FreeRunner running SHR-testing has to be connected to the computer. | |
- | + | 8) From the computer, copy the entire olsrd folder to the Neo FreeRunner running SHR-testing. | |
- | + | $ scp -r olsrd-0.6.0 root@openmoko:/home/root/ | |
- | + | 8) On the Neo FreeRunner running SHR-testing, open a terminal, go in the olsrd folder and install the compiled OLSRd d\ae mon. | |
- | + | ||
- | + | ||
- | + | root@om-gta02 ~ # cd olsrd-0.6.0 | |
+ | root@om-gta02 ~ # make install | ||
- | + | The OLSRd daemon is now installed on the Neo FreeRunner. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | In the scope of the GeoSharing project, the BMF plugin (always provided in the OLSRd archive file) is required. Its compilation and its installation are quite easier than for the OLSRd daemon. On the Neo FreeRunner, open a terminal, go in the folder located at '''/home/root/olsrd-0.6.0/lib/bmf''', compile and install the plugin. | |
- | + | root@om-gta02 ~ # cd /home/root/olsrd-0.6.0/lib/bmf | |
- | + | root@om-gta02 ~ # make | |
- | + | root@om-gta02 ~ # make install | |
- | + | The final configuration required for the daemon to be fully effective is a configuration file. This file is located at '''/etc/olsrd.conf. There are two things to adapt for the GeoSharing project: | |
+ | 1) At the end of the file, the OLSRd interface must be specified. Since OLSRd must be running on the Wi-Fi interface of the Neo FreeRunner, the OLSRd interface should be '''eth0'''. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly. | ||
- | + | Interface "eth0" | |
- | + | { | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | Interface "eth0" | + | |
- | { | + | |
Mode "mesh" | Mode "mesh" | ||
- | } | + | } |
- | + | ||
- | + | 2) In the plugin section of the file, an entry must be added to load the BMF plugin when the d\ae mon is launched. On the Neo FreeRunner, the '''VI''' editor can be used to edit this file accordingly. | |
- | + | ||
- | LoadPlugin "olsrd_bmf.so.1.7.0" | + | LoadPlugin "olsrd_bmf.so.1.7.0" |
- | { | + | { |
# no option | # no option | ||
- | + | } | |
- | + | ||
- | + | ||
- | The OLSRd Linux | + | The OLSRd Linux daemon is now ready to serve the GeoSharing objectives in terms of network topology management. |
- | + | === TangoGPS application === | |
TangoGPS is provided in some editions of the SHR-testing version. But, as stated in Section~\ref{sec:choice+gui}, a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps. | TangoGPS is provided in some editions of the SHR-testing version. But, as stated in Section~\ref{sec:choice+gui}, a modified version of tangoGPS has been developed in the scope of the GeoSharing project. This new version adds a plugins interface allowing plugins to easily interact with tangoGPS. The compilation and the installation of the modified version of tangoGPS is described in the following steps. | ||