Trouble Shooting

icon build

Bulding the SDK

If building the skeleton example doesn't work on your PC it's likely some packages are missing. Below are instructions for some common Linux distributions. Note that an ARM toolchain is part of the SDK and will be built automatically as well, no need for you to fix one manually.

icon vmware

Pre-configured virtual appliance

A virtual machine is available for quickly getting up to speed. It's a standard Fedora 20 installation with all Nard dependencies installed and it has been tested to build Nard SDK correctly. Just import it into VMWare or VirtualBox and you should be able to build Nard SDK. If your workstation PC is currently running Windows then this is a good first start.

1. Install either VMWare Player or VirtualBox in you PC.
2. For use of VMWare:
   2.1. Download Nard_Fedora_20_vmware.tar.gz and extract it.
   2.2. In VMWare Player, open the file "Nard_Fedora_20.vmx"
3. For use of VirtualBox:
   3.1. Download Nard_Fedora_20_vbox.ova
   3.2. In the VirtualBox window menu: File > Import Appliance
   3.3. Choose the downloaded .ova file
4. When Fedora is booting it will automatically login as
   user "nard" to the desktop screen.
5. Open the "Readme" on the desktop and follow the instructions.
icon docker

Docker

It possible to build Nard inside a Docker container. Here is an archive with setup files. Thanks to Akos Vandra for the contribution.

icon ubuntu

Ubuntu 18.10

When you have a fresh default setup, follow the steps below:
$ sudo -s                       # Become root
$ apt-get -y install g++ bison
  flex xutils-dev gperf make
  automake libtool-bin git texinfo
  libncurses5-dev libncursesw5-dev
  libexpat1-dev socat dc
  libx11-dev curl gawk
  libcap-dev zlib1g-dev bc      # Install dependencies
$ exit                          # Become ordinary user
$ tar -xf nard.tar.gz
$ cd nard
$ make skeleton
$ ls -l images/                 # Finished outputs here
icon ubuntu

Ubuntu 16.10

When you have a fresh default setup, follow the steps below:
$ sudo -s                       # Become root
$ apt-get -y install g++ bison
  flex xutils-dev gperf make
  automake libtool-bin git texinfo
  libncurses5-dev libncursesw5-dev
  libexpat1-dev socat dc
  libx11-dev curl gawk
  libcap-dev libz-dev           # Install dependencies
$ exit                          # Become ordinary user
$ tar -xf nard.tar.gz
$ cd nard
$ make skeleton
$ ls -l images/                 # Finished outputs here
icon fedora

Fedora 25

When you have a fresh workstation setup, follow the steps below:
$ sudo -s                       # Become root
$ dnf -y install gcc gcc-c++
  bison flex makedepend gperf
  automake libtool git texinfo
  wget patch ncurses-devel
  perl-Env openssl expat-devel
  make xorg-x11-server-devel
  socat bc bzip2 libcap-devel
  zlib-devel                    # Install dependencies
$ exit                          # Become ordinary user
$ tar -xf nard.tar.gz
$ cd nard
$ make skeleton
$ ls -l images/                 # Finished outputs here
icon openSuse

openSUSE 13.2 AMD64/x86-64

Link to installation CD image. When you have a fresh Minimal Server Selection (Text Mode) default setup, follow the steps below:
$ sudo -s                       # Become root
$ zypper -n install gcc gcc-c++
  bison flex make makedepend
  gperf automake libtool
  git-core ncurses-devel
  makeinfo libexpat-devel
  xorg-x11-devel socat patch    # Install dependencies
$ exit                          # Become ordinary user
$ tar -xzf nard.tar.gz
$ cd nard
$ make skeleton
$ ls -l images/                 # Finished outputs here
icon debian

Debian 5.0.1 x86

Link to installation CD image. When you have a fresh default setup, follow the steps below:
Open a terminal and execute:
$ su                            # Become root
$ mv /etc/apt/sources.list /etc/apt/sources.list.old
$ echo "deb http://archive.debian.org/debian/ lenny main"
  >>/etc/apt/sources.list
$ echo "deb http://archive.debian.org/debian-security/
  lenny/updates main" >>/etc/apt/sources.list
$ apt-get -y --force-yes update
$ apt-get -y --force-yes install
  gcc g++ bison flex xutils-dev
  gperf make automake libtool
  git-core texinfo libncurses5-dev
  libncursesw5-dev perl-modules
  patch bzip2 gawk bc curl
  openssh-server nfs-client
  socat dc libexpat1-dev
  libx11-dev libcap-dev
  zlib1g-dev                    # Install dependencies
$ exit                          # Become ordinary user
$ tar -xzf nard.tar.gz
$ cd nard
$ make skeleton
$ ls -l images/                 # Finished outputs here
icon sd card

Reading the SD-card with a PC

It may occasionally happen that laptops with integrated SD-card readers can't handle "Nard cards". Symptoms are the card appears blank or MS Windows say the card needs to be formatted. In such a rare case an external USB card reader might be the remedy. One known to work is the Kingston MobileLite G3:
USB SD card reader

icon erase disk

Remote SD formating

Has a SD card of a remote device become corrupt? Then first of all: do not reboot! Thanks to the design of Nard one can still login and possibly resolve it. Here is how to send a reset signal to the card and refit it with a new default image (without ejecting it from the Pi). Note; the card will become fully erased!

$ ssh root@ip-addr                           # Login as root (sudo
                                             #  is insufficient if
                                             #  SD is corrupt).
$ wget http://www...../sdcard.img.zip        # Download image.
$ sdcard-reimage.sh --force sdcard.img.zip   # Write image.
$ reboot                                     # Check, then reboot.
icon wifi

WiFi

Nard requires an access point with either WPA2-PSK or no authentication (anonymous). Ciphers supported are AES and TKIP. All WiFi routers one can buy nowadays support these technologies. (However, some doesn't use them as default.) Below are some tips to increase wireless logging in Nard. Open two SSH terminals and run:

First terminal; login as root:
$ logread -f

Second terminal; login as root:
$ wpa_cli flush
$ wpa_cli reconfigure
$ wpa_cli log_level debug
$ wpa_cli set_network 0 ssid \"my_network\"    # quotes necessary
$ wpa_cli set_network 0 psk \"my_password\"    # quotes necessary
$ wpa_cli scan
Wait 2 minutes
$ iwconfig

You should get lots of messages in the first terminal to debug the authentication. Where does it fail? If you get good result from the final iwconfig you should get an IP address eventually as well, after logout. (There is a protection in Nard which deny change of IP address while still logged in.)




Didn't find the help you need? Then ask for additional help in the mailing list!



icon separator