= This Page Will Currently Describe the PI Lab = [[PageOutline]] Inventory: see attachment:Purchase_for_Raspberry_Pi_project.pdf:wiki:GENIRacksHome/OpenGENIRacks/RaspberryPIs == Addresses == === DNS Addresses === 128.89.68.230 rosifolius [[BR]] 128.89.68.231 gunnianus [[BR]] 128.89.68.232 leucodermis [[BR]] 128.89.68.233 parvifolius [[BR]] 128.89.68.234 ellipticus [[BR]] 128.89.68.235 idaeus [[BR]] We also asked for fixed IP addresses for BBNGuest. We provided the MAC addresses for affiliation. DNS entries have also been assigned: C4:e9:84:0d:b8:61 192.1.16.101 pi1.bbn.com [[BR]] C4:e9:84:0d:b8:7d 192.1.16.102 pi2.bbn.com [[BR]] C4:e9:84:0d:93:35 192.1.16.103 pi3.bbn.com [[BR]] C4:e9:84:0c:7f:43 192.1.16.104 pi4.bbn.com [[BR]] C4:e9:84:0c:7f:49 192.1.16.105 pi5.bbn.com [[BR]] === Web Pages Used for Reference === ==== Generic Raspbian Installation ==== https://www.raspberrypi.org/help/noobs-setup/ - Note: I had trouble getting micro 64GB cards to work with this process although I know that the installation instructions for the hypriot worked for this size. https://www.raspberrypi.org/documentation/installation/installing-images/mac.md - used this method later {{{ sudo diskutil list sudo diskutil umountDisk /dev/disk5 sudo dd bs=1m if=/Users/rrosales/Downloads/2016-03-18-raspbian-jessie.img of=/dev/rdisk5 sudo diskutil eject /dev/rdisk5 }}} And then once the SD card is used to boot the pi - one needs to run raspi-config, and choose expanding filesystem to get the rest of the SD card seen. http://raspberrypi.stackexchange.com/questions/15250/how-to-get-remaining-memory-in-sd-card - ==== Static IP Address Configuration for Raspbian Jesse version ==== Despite lots of confusing information out there, it is actually pretty straightforward to set a static address in Raspbian. Being by editing the file (do not use /etc/network/interfaces anymore!) sudo vi /etc/dhcpcd.conf Then all you need to do is append this to the bottom of the file, substituting the correct IP address you want. interface eth0 static ip_address=192.168.1.141/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 ==== Docker Image Installation ==== [Image with Docker built in http://blog.hypriot.com/getting-started-with-docker-and-mac-on-the-raspberry-pi] [Instructions on how to run a container using the previous image - http://blog.hypriot.com/getting-started-with-docker-on-your-arm-device/#going-wild-with-docker-what-can-you-actually-do-with-it:397c66ef19f9f061b6711d2e296cb276] http://openvswitch.org/support/dist-docs/INSTALL.Docker.md.txt https://sdntestbed.wordpress.com/2015/07/03/install-open-vswitch-on-raspberry-pi/ https://wiredcraft.com/blog/multi-host-docker-network/ https://github.com/docker-library/official-images/tree/master/library https://labs.ctl.io/5-unexpected-ways-to-use-docker/ https://hub.docker.com/r/tomparys/skype/ Note - To make sure you have the full SD card available to you - you might need to expand the file system: [http://raspberrypi.stackexchange.com/questions/15250/how-to-get-remaining-memory-in-sd-card] [[BR]] After booting up [[BR]] [sudo raspi-config] == Setting Up Wifi == === [Installing TL-WN722N !WiFi on the Pi - Directions taken from http://barntek.net/simplemachinesforum/index.php?topic=190.0] === Edit /etc/apt/sources.list to add the non-free archive and backports (eg: sudo vi /etc/apt/sources.list): {{{ deb http://ftp.us.debian.org/debian/ squeeze main non-free deb http://security.debian.org/ squeeze/updates main non-free deb http://ftp.us.debian.org/debian/ squeeze-updates main non-free deb http://backports.debian.org/debian-backports squeeze-backports main non-free }}} Update the package cache: {{{ sudo apt-get update }}} Download the wifi utils: {{{ sudo apt-get install wireless-tools usbutils }}} Download the required firmware and put it in the correct location - you may not need to do this for your adapter or you may need different firmware - see below. {{{ sudo apt-get install firmware-atheros sudo wget http://linuxwireless.org/download/htc_fw/1.3/htc_9271.fw sudo cp htc_9271.fw /lib/firmware }}} Add adapter definition to network config - eg: sudo vi /etc/network/interfaces - add the wlan0 section: {{{ # Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or # /usr/share/doc/ifupdown/examples for more information. auto lo iface lo inet loopback iface eth0 inet dhcp # The wireless interface auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa.conf }}} Plug in adapter Confirm adapter is present: {{{ root@raspberrypi:~# sudo iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11bgn ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off }}} Scan your network to see what wireless access points can be seen. You may need to do this to identify your network's SSID (name), but it also confirms that the wifi dongle is doing something. The first command just lists the SSIDs found, the second tells you probably more than you ever want to know: {{{ sudo iwlist wlan0 scan | grep ESSID }}} or {{{ sudo iwlist wlan0 scan }}} Create the wpa.conf file - eg: sudo vi /etc/wpa.conf: Note: The ssid is case sensitive - if your WLAN's SSID is MYLAN, using "mylan" will not work - you won't connect! {{{ network={ ssid="NETWORK-SSID" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="YOUR-WLAN-PASSWORD" } }}} Start the adapter {{{ sudo ifup wlan0 }}} Double-check whether you are connected - below the WLAN interface has been given an IP address - looks good! {{{ root@raspberrypi:~# ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:76:7e:2e inet addr:192.168.202.75 Bcast:192.168.202.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1488 Metric:1 RX packets:1060 errors:0 dropped:0 overruns:0 frame:0 TX packets:146 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:95749 (93.5 KiB) TX bytes:48493 (47.3 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 B) TX bytes:560 (560.0 B) wlan0 Link encap:Ethernet HWaddr b0:48:7a:91:5c:f4 inet addr:192.168.222.161 Bcast:192.168.222.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:31 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2260 (2.2 KiB) TX bytes:1542 (1.5 KiB) }}} === And then to configure the wifi adapter - use the WICD GUI === ==== WICD ==== [Wicd - https://wiki.debian.org/WiFi/HowToUse#Wicd] You must remove network-manager to get wicd to work. Check to see if network-manager is installed and see if, after you installed the driver, your wireless is already working in the notification area of your desktop manager. You may already be good to go. wicd (Wireless Interface Connection Daemon) is a lightweight alternative to !NetworkManager. It is environment-independent, making it suitable for all desktop environments, including GNOME, Xfce, LXDE, and Fluxbox. Like !NetworkManager, wicd is configured via a graphical interface. Your wireless interface should not be referenced within Debian's /etc/network/interfaces file. 1. Update the list of available packages and install the wicd package: {{{ $ su # aptitude update # aptitude install wicd }}} 2. Amend /etc/network/interfaces to contain only the following: {{{ # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback }}} Note: as of wheezy it is fine to have your wireless interface in /etc/network/interfaces, but not required. You can set the wireless interface (e.g. wlan0) in the wicd client's preferences. 3. If not already performed, add your regular user account to the netdev group and reload DBus: {{{ # adduser yourusername netdev # /etc/init.d/dbus reload }}} 4. Start the wicd daemon: {{{ # /etc/init.d/wicd start }}} 5. Start the wicd GUI with your regular user account: Original instruction had a -n. We needed to run it without -n {{{ # exit $ wicd-client }}} === GUI Setup === [We used Openbox - http://www.bristolwatch.com/rpi/rpi_openbox.htm] === RYU Installation === {{{ sudo apt-get install python-dev sudo pip install ryu }}} Also check this page for new install [https://github.com/ipop-project/Documentation/wiki/Installing-openvswitch-and-RYU-controller] === GRAM Porting Status === The latest GRAM AM Software has been put on the 128.89.68.230 card. The idea was to have GRAM as the AM manager for the resources of the rack. It was not as trivial to pull out the OpenStack code as there might be OpenStack assumptions intertwined into the GRAM AM code. In particular, the GRAM AM seems to support the notion of a tenant. And that notion naturally follows with OpenStack, and I think GRAM uses that notion. On a positive note, all python dependencies seemed to be supported by the PI operating system easily. === Installing Interesting Applications === Installing a WebRTC server on a Raspberry PI [[BR]] https://bloggeek.me/webrtc-raspberripi-nodejs/ https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=130217