I said I will write something about Raspberry Pi and also how to connect it to a PC. If tings are still unclear you can let me know. This post is still at a higher level as detailed instructions of each step can take up volumes on their own.
First of all it is important to know that a Pi is just another computer working pretty much the same way as other computers. The main advantage is that it uses a small form factor with parts that consume little electricity like the ARM7 processor. It provides connectivity options so that you can add several types of add-ons that you might want to use for different types of projects. You can run the Pi2 with a 5V 1A adapter. This makes the Pi ideal to run wallets that need to run for long periods e.g. staking wallets. There are several operating systems (OS) available for the Pi including Linux types as well as Windows 10. In essence if you understand the PC counterparts of the OSes then the Pi will be a breeze because they are very similar.
Loading the Pi:
When you get a Pi you also need storage space to install and run the OS. The Pi does not have a built-in hard drive like a PC and therefore you need to add a micro-SD card for storage (SD for the older models). The card you get will be blank that does not help much. You have to prepare the card by putting an OS on the card. Typically this can be achieved by downloading a Pi compatible OS from
https://www.raspberrypi.org/ in the form of an image file (.img). This file is then "burned" to the card by putting the micro-SD into an SD adapter, inserting that into your PC and then using a tool to do the work for you. Popular tools include Apple Pi Baker on the Mac and win32diskimager on Windows. For the purpose of compiling/running wallets I recommend Raspbian Jessie. Raspbian is a Debian Linux on Pi and is currently at version 8 (Jessie). There are basically 2 options for your OS - downloading n00bs or downloading Raspbian Jessie straight. n00bs is an installation image that helps you with the installation process and gives you the option to choose which OS you want to install. You can download any of these and both will eventually get you to the same point. There are also installation instructions available for both.
Eventually both options will take you through a series of steps to get to a command prompt. At one stage or another you need to get to an app called raspi-config which is the tool you use to configure the installation. In raspi-config you will typically configure a password, name for the pi, if it must boot to the command prompt or directly into the graphical desktop, resizing the card partition (important step if you download the Jessie image), updating raspi-config, setting up SSH and many others. If you get to the command prompt which is a black screen with a prompt something like pi@mypi:~ $. This means you are in your home folder and ready to type in commands to the operating system. the "~" character is another way to write your home folder and is similar to /home/pi. If something refers to a folder called ~/opt it is the same as saying /home/pi/opt. ~/opt is just the folder I like to create and put stuff in but you can actually put the binary any place. Another important thing to know is that if you want to execute something as "root" which is the name of the superuser in Linux, your account needs to be in the sudo group and you can put sudo in front of your command to execute it as root. If you want to execute something on a Pi you have to put sudo in front of the command if you want it to execute with higher privileges.
If you get to the command prompt and it stops there it means that your Pi boots to the command prompt. In order to show the graphical desktop you need to type in "startx" and execute and it will load the desktop. If you are in the desktop and want to execute at the command prompt, you can open a terminal window. Commands in Raspbian is similar to commands in Debian for PC and includes commands like "sudo apt-get update", "sudo apt-get dist-upgrade" and "sudo apt-get upgrade". These commands will update your OS and installed packages to the latest version. "sudo apt-cache search partlofnameofdependencyyouarelookingfor" is a nice command to use if you are search for which dependencies you need to install, because there are differences in the names of some of these between Pi and PC. Another command you will use a lot is "ls -la" which gives a detailed listing of files and folders in a location.
From this point on it is similar to Debian on PC and lots of Raspberry docs exist with detail commands etc.
Linking a Pi to your PC:
The best way to do this is to install VNC server on your Pi (currently 5.3) and then install the viewer on your PC. There is clear instructions on the realVNC website of how to do this. When you install the server on the Pi, there is a series of steps you have to follow including choosing a password and getting a license key for the free version. Make a note of your ipaddress of the Pi by executing "ifconfig" at the command prompt. Enter this in the viewer screen on your PC and it will connect, presenting you with a Pi desktop on your PC. You can get VNC for Pi at
https://www.realvnc.com/download/vnc/latest/ The instructions is very clear.
Firewall:
Whatever you do, it is always a good idea to enable the firewall on Pi. The easiest firewall to use is the uncomplicated firewall (ufw). You should always enable this when you prep a Pi and needs to be done once unless you turn it off again. "sudo ufw enable". The default setup is that all incoming connections are blocked but all outgoing connections are allowed. If you want to connect to your Pi with VNC or SSH, you have to enable that on the firewall. If you know your PC IP address, you can just enable communications from your PC. If your router is configured to automatically assign IP addresses through dynamic host control protocol (DHCP) and you think that your IPs might change from time to time, then you can allow communications from the whole subnet in your firewall rule then it will always work. The examples I use is just there for availability and can be secured much more by configuring more granular rules by IP, port etc. You can also configure a firewall rule for the port that the coin uses to allow incoming connections if you want that.
SSH:
SSH is a tool to remotely connect to your Pi from Linux/Unix/Mac. SSH is a beast on its own and has a rich manual for how it works. I will give a few rudimentary options for using it. In order to allow SSH you need to go onto your Pi and type in "sudo ufw limit 22". This will open up port 22 for SSH from anywhere with the added advantage of slowing down the time for the next password guess if someone tries to guess your password. If you do not want to use passwords you can use a long cryptographic key which is more secure and configure the key on the Pi and your PC, but for that you can read up in the manuals. The basic configuration is to use the password of the account you want to connect to on the Pi. If you have enabled the firewall rule and you are on a Mac/Linux, you can open a command prompt on your PC and type in ssh yourpiusername@yourpiipaddress and it will ask you for a password. The first time it will complain about the host being unknown but you can just say that it must add the host IP and key fingerprint to your local PC. I know it is not the most secure but this post is just to get things working. It is your own task to read up on how to SSH securely. If you enter the password correctly you will be presented with a command prompt on your Pi but on your PC. Lest assume your Pi has an ip address of 192.168.0.10 and you want to connect as the pi user, then you would execute "ssh
[email protected]". If you want to copy files to and from your Pi you can use the secure copy command (scp) that also works through port 22. The syntax for this command is you copy something from somewhere to somewhere. You must first prepare the folders on the Pi where you want to copy something to or on your PC if you want to copy something to your PC. You must also make a note of the paths on both sides becuase you have to tell scp exactly where to find a file and where to put it. In its most basic form you can use the commands as follows:
Copy a file from your PC Downloads folder to the Pi. In this case we will copy a bootstrap.dat file for iocoin using the parameters assumed above. Remember it is scp from to.
Type into your PC terminal window "scp ~/Downloads/bootstrap.dat
[email protected]:/home/pi/.iocoin" when you execute it will ask you for a password and copy the file from your PC to the Pi.
Copy the same file from your Pi to your PC.
Type into your PC terminal window "scp
[email protected]:/home/pi/.iocoin/bootstrap.dat ~/Downloads" when you execute it will ask you for a password and copy the file from the Pi to the PC.
When you are done with SSH and scp then close the firewall port by executing on the Pi "sudo ufw deny 22". To confirm that port 22 is closed execute "sudo ufw status verbose".
Putty:
Windows does not have SSH built-in as standard. You have to use a tool for that and many people use "putty". I dont really use putty but the principles are similar. There is a tool called "metro putty" in the Windows store that works nice. There is also "Bitvise SSH client" that has some nice graphical file transfer capabilities.
This is it for now. There is much more to the above especially on security, but this post was ment to be a rudimentary intro to what you need to get going on the Pi.