Ethereum/Installation
(→OS Installation) |
|||
| Line 32: | Line 32: | ||
*quick boot enabled (no memory checking) | *quick boot enabled (no memory checking) | ||
*disable boot up seek floppy | *disable boot up seek floppy | ||
| + | |||
| + | ==OS Configuration== | ||
| + | Setup DHCP | ||
| + | <nowiki>~$ sudo vim /etc/network/interfaces | ||
| + | Add: | ||
| + | #dhcp - enp3s0=nic | ||
| + | auto enp3s0 | ||
| + | iface enp3s0 inet dhcp</nowiki> | ||
| + | Update and upgrade all packages | ||
| + | <nowiki>~$ sudo apt-get update && sudo apt-get upgrade -y</nowiki> | ||
| + | Install sshd | ||
| + | <nowiki>~$ sudo apt-get install ssh -y</nowiki> | ||
| + | Configure sshd. This is a basic, low security, setup working over port 22 and password authentication. It is not meant for a device serving ssh connections to the internet. | ||
| + | <nowiki>~$ sudo vim /etc/ssh/ssh_config | ||
| + | Uncomment: | ||
| + | PasswordAuthentication yes | ||
| + | Port 22</nowiki> | ||
Revision as of 23:53, 10 December 2017
Contents |
Overview
In the below article i'll be covering how to configure an Ethereum deployment on Ubuntu. Out of the available linux resources out there, Debian based are well supported by Ethereum developers, with some people even setting up a repository software can be easily obtained from.
Regarding Redhat based solutions, most everything I've seen requires you to download the source, compile and make yourself, which is not ideal for any solution long term that you plan on keeping up to date.
With the above mentioned, this article will be based on the latest Ubuntu server build, which at the time of this writing is 16.04.3 LTS.
OS Installation
I've chosen to use a thumbdrive as my hard disk. I do not think that disk speed will affect performance, so i've gone with the cheapest solution i can find that I think will work, an 8GB Sandisk drive straight from China. Mine cost $2.84 shipped, but I see others just like it for $2.99 and some mini 8GB versions (sit almost flush with the USB port) for $1.49 shipped.
Again, I've used Ubuntu Server x64 16.04.3 for the operating system. Make sure to download the right ISO, mine was almost 900MB.
USB Installation
Assuming you are working from a Debain based machine (Ubuntu, Mint, etc), you can download unetbootin from the repos in order to install Ubuntu onto the USB drive.
~$ sudo apt-get update && sudo apt-get install unetbootin -y
If you wanted to check and make sure it was available in your repos, run a quick search
~$ sudo apt-cache search unetbootin
With unetbootin installed, you can use the GUI to write the ISO to the Flash Drive.
Alternatively, if unetbootin fails (which it did for me, the USB was not bootable), you can see if your distribution has its own USB creator. Thankfully Mint had USB Image Writer and I used that to create the bootable USB.
NOTE: you may need to use (2) thumb drives to pull this off. (1) will contain the installation media, the other will be used for the Operating system to be installed to.
BIOS Configuration suggestions
Below are some BIOS configuration suggestions. I'm not going to show you how to change them or what all of the helpful ones might be because there are simply too many different types of BIOS solutions out there, however, the list below is fairly generic.
- Set correct date/time
- Set Boot config so your USB is first.
- disable sound card
- set auto power in if AC is lost
- disable onboard RAID
- disable full screen logo
- change halt on to no errors (you want it to boot without stopping)
- quick boot enabled (no memory checking)
- disable boot up seek floppy
OS Configuration
Setup DHCP
~$ sudo vim /etc/network/interfaces Add: #dhcp - enp3s0=nic auto enp3s0 iface enp3s0 inet dhcp
Update and upgrade all packages
~$ sudo apt-get update && sudo apt-get upgrade -y
Install sshd
~$ sudo apt-get install ssh -y
Configure sshd. This is a basic, low security, setup working over port 22 and password authentication. It is not meant for a device serving ssh connections to the internet.
~$ sudo vim /etc/ssh/ssh_config Uncomment: PasswordAuthentication yes Port 22