Nebula on Raspberry
The Raspberry Pi Single Board Computer (SBC) is a perfect device to use Nebula on. It is low cost yet powerful, Linux based and very well documented with plenty of support. There is also a factory standard Touch Screen and camera available, a low cost monitor or standard TV with HDMI, keyboard and mouse OR just a WiFi VNC connection are all that’s needed. The Raspberry Pi installation may include Java so it runs the nebula.jar program immediately after setup.
The Raspberry Pi uses an SD card as its hard drive. Use only good quality, class 10 cards. The installation requires more than 6GB so to make it useful, use a 16GB card or larger. If you are not familiar with Raspberry PI, reviewing this link will help to avoid issues and make your introduction more enjoyable.
This guide offers the traditional setup path of making your own New Out Of the Box Software (NOOBS) card but the new Raspberry Pi Imager is faster and easier to use. Raspberry has downloads for their Imager available for Ubuntu, Windows and MacOS.
Nebula has been tested on the latest factory image of Raspian. If you use the Imager you will have to install Java after setup of your Raspberry Pi board is complete. Java 8 is available from the Raspberry package archives.
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
To make your own New Out Of the Box Software(NOOBS) card:
1. Start with a new or fully erased card that has been formatted fat32.
2. Download the NOOBS Offline and Network Install ZIP file from here.
3. Extract the download to the SD card prepared in step 1.
4. Insert the card in the Raspberry Pi and attach Keyboard, Monitor (any TV with HDMI) and mouse.
5. Power the board with 5V @ 2.5A. Raspberry PI is quite sensitive regarding power, so it’s best to use an official Raspberry power supply.
6. Install Raspian the factory OS for Raspberry. Expect an hour to install and update. Verify Java is installed.
Erase an SD Card
Several methods are offered here to completely erase an SD card for use. Pick one you’re most comfortable with. Be very careful not to erase the wrong drive.
- Use the recommended card eraser for Windows or Mac. It allows selection of only installed SD cards and completely erases and formats the card to FAT32. This is the only SD Card Formatter that Galixsys Networks uses for preparing Raspberry Pi SD cards.
If you are on Linux and comfortable with Terminal:
1. The following steps follow this guide.
2. Before you insert an SD card run:
dmesg | tail
3. Now insert your SD card in your card writer then run it again.
dmesg | tail
4. Note the sd? on the last lines and replace the question mark in the following commands with the letter noted.
5. To fully erase the SD card run:
sudo dd if=/dev/zero of=/dev/sd? bs=2M status=progress
6. To format use the parted command and run each of the following commands in succession.
sudo parted /dev/sd? --script -- mklabel msdos
sudo parted /dev/sd? --script -- mkpart primary fat32 1MiB 100%
sudo mkfs.vfat -F32 /dev/sd?1
sudo parted /dev/sd? --script print
7. See final SD card looks similar to this:
Model: Kingston DataTraveler 3.0 (scsi) Disk /dev/sdb: 15.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 15.5GB 15.5GB primary fat32 lba
A Virtual Network Connection(VNC) allows you to see and control one computer from another. Raspberry Pi running Raspian has RealVNC server installed by default. You may have to download and install the Viewer on the computer you are using to control the Raspberry with. To use VNC it must be enabled on the Raspberry Pi.
- Drop down raspberry > Preferences > Raspberry Configuration > Interfaces > enable VNC
SSH with Xterm
- Another really nice way to remotely control a headless linux device is to use ssh with xterm. VNC can get a little tricky.
Install the required packages on the Raspberry Pi
sudo apt-get install x11-apps xterm
Open Terminal on the control computer and ssh to the Raspberry Pi. Use -X for the remote session and -C to compress the transferred Desktop images. First time in you will have to allow the connection.
ssh -XC $USER@<device address>
Test the setup by running xeyes from the control computer Terminal.
The eyes should follow your mouse. Close xeyes using either its close button or Ctl-C from the Terminal. If all seems to be working, you can start the remote X session by starting xterm in a background mode or skip the next command and just start Nebula from the Terminal.
From the connected Terminal on the controller…
An Xterminal window should open in a few seconds. Now, from that Xterminal window, start Nebula.
java -jar /path/to/nebula.jar
A Nebula Installation or Running screen will open in a couple of seconds. You can now minimize the Terminal window, don’t close it, and drag the Nebula and Xterminal, showing log output, to a convenient location on your Desktop. Open a new Terminal on the controller machine for each Linux device and repeat the Xsession process.