wiki:gnuboat/software

Software Installation and Configuration

Architecture

source:/doc/gnuboat-architecture-software.png

Installation

  1. Install Raspbian
    1. Download Raspbian from https://www.raspberrypi.org/downloads/
    2. unzip it with unzip PATH_TO_RASPBIAN_ZIP_FILE
    3. Install it on an SD-Card with sudo dd bs=4M if=RASPIAN_IMAGE.img of=/dev/SD_CARD (Path to SD_CARD without partition number (e.g. correct /dev/sdb and not /dev/sdb1)
  2. Configure Raspbian base system
    1. Boot the OS and login (withpi and raspberry Your keyboard may be configured as an english one. Think of the Y)
    2. Launch sudo raspi-config
    3. Configure the keyboard and locale settings in menu Internationalisation
    4. Configure the WLAN access as described here
  3. Install and configure GNUBoat
    1. Download latest gnuboat-jessie_LATEST_VERSION_all.deb package which setups the GNUBoat repository from http://ftp.engsas.de/unstable/gnuboat/pool/main/g/gnuboat/
    2. Install the repository package with sudo dpkg install gnuboat-jessie_LATEST_VERSION_all.deb
    3. Update apt data with sudo apt-get update
    4. Install gnuboat puppet configuration with sudo apt-get install gnuboat-puppet On jessie you may need to enable backports to get puppet > 3.8
    5. Adapt puppet configuration: All configuration option are configured in /etc/puppet/environments/gnuboat/hieradata/common.yaml. So open it with sudo nano /etc/puppet/environments/gnuboat/hieradata/common.yaml
      1. Especially set the mac address of your wlan stick, which you want to use as a hotspot, with configure option gnuboat_hostapd::config::mac_address: 00:0f:60:0b:18:c1
      2. If you wish to use an epd display, you need to enable and configure it. Per default it is disabled. All epd configuration options are prefixed with gnuboat_epd. In the simplest case, you just need to change gnuboat_epd::service::status: 'stopped' to gnuboat_epd::service::status: 'running'
    6. Run puppet to configure gnuboat applications
        sudo puppet apply --test --config /etc/puppet/gnuboat_puppet.conf --environment gnuboat /etc/puppet/environments/gnuboat/manifests/
      
  4. Reboot your pi
  5. A new wireless LAN with name GNUBoat and password gnu.boat should appear on your wireless devices

Tips

(You may manage it with puppet, as described above with the hotspot mac address)

If you have more than one wlan network interface, make sure the names does not change during reboots. To achieve static interface names, you may add a file with udev rules to /etc/udev.d/. It should contain something like that:

# example content of /etc/udev/rules.d/10-net-names.rules
KERNEL=="wlan*", ATTR{address}=="ec:1a:59:63:ba:cb", NAME="wlan-client"

Stuff TODO for 100% Puppet Installation

  • Packaging gnuboat:
    1. checkout git branch debian/OSVERSION
    2. call gbp buildpackage --git-pristine-tar --git-pristine-tar-commit --git-upstream-tag='v%(version)s' --git-debian-branch=debian/jessie --git-export-dir=/tmp/build-area -us -uc to create deb package from git
  • Packaging with pbuilder and git-buildpackage for armhf on "normal" debian systems
    1. If not already done: Configure git-pbuilder
      1. Install needed packages apt install git-buildpackage git-pbuilder
      2. Setup chroot or qemu image for packaging (which one depends on the architecture)
          # chroot'able architecture (like amd64 --> amd64 or amd64 --> i586
          DIST=jessie ARCH=amd64 git-pbuilder create
          # to create qemu images (like amd64 --> armhf)
          DIST=jessie ARCH=armhf git-pbuilder create --debootstrap qemu-debootstrap
        
      3. Configure pbuilder to use internal DEBUILD (needed to install build dependencies): nano ~/.pbuilderrc
            USE_PDEBUILD_INTERNAL=yes
        
    2. Checkout git branch debian/OSVERSION git clone https://svn.falaba.de/gnuboat -b debian/jessie
    3. Change into the repository directory {{{cd gnuboat}
    4. Build the package using the chroot/qemu environment gbp buildpackage --git-pristine-tar --git-pristine-tar-commit --git-upstream-tag='v%(version)s' --git-debian-branch=debian/jessie --git-pbuilder --git-dist=jessie --git-arch=armhf The -us und -uc options are added automatically
  • Update repository: reprepro includedeb <osrelease> <debfile> osrelease - jessie | ...
  • Provide an apt repository with following packages

Thoughts of generating water depth information out of sevreal log files

Calculation of water depth

Last modified 2 years ago Last modified on Mar 31, 2018, 5:18:09 PM