Update- i just downloaded the new Ubuntu mate image onto a raspberry pi3, some of the steps are easier but if you follow this guide it will still work!
this video below helped me get the Ubuntu mate image on the sd card since all the instructions i found were for a linux box. You uwill need 7zip to extract the downloaded image and win32 disk imager to extract the image onto the sd card.
video of how to install 7zip and win32 disk imager
boot it up and now some manual customization since we aren’t installing with NOOBS
#Resize file system from provided instructions
sudo fdisk /dev/mmcblk0
#Delete the second partition (Press d, 2), then re-create it using the defaults (n, p, 2, enter, enter), then write and exit (w).
sudo shutdown -r now
#after the system has rebooted
sudo resize2fs /dev/mmcblk0p2
#Add the user to sudo’ers – this enables sudo to be used without entering a password (may be necessary for some scripts for Raspbian to run):
sudo visudo
#Place this line at the END of the file – replace ‘user’ with yourusername:
user ALL=(ALL) NOPASSWD: ALL
#Save and exit (CTRL+O then CTRL+X).
#Optional: Pi2 overclock at your own risk (requires a 2A power supply):
sudo nano /boot/config.txt
#Add the following, then reboot
arm_freq=1000
sdram_freq=500
core_freq=500
over_voltage=2
hdmi_drive=2
gpu_mem=128
# More 3D and video performance if enabled:
h264_freq=750
isp_freq=750
v3d_freq=750
# Extra speed: will void warranty if enabled!
force_turbo=1
#Save and exit (CTRL+O then CTRL+X)
on my pi3 i am currently overclocked to these settings added to the bottom of config.txt and running stable, your mileage may vary..
#Overclock Settings
arm_freq=1400
over_voltage=6
temp_limit=80
core_freq=500
#get all the current updates with this
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade
#reboot when done, may take a while.
sudo shutdown -r now
#enable ssh access
sudo apt-get install -y openssh-client openssh-server
#And restart the SSH server, in order to apply the changes:
sudo service ssh restart
#Disable ipv6
sudo gedit /etc/sysctl.conf
add the following lines at the end
# IPv6 disabled net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
#Save and exit (CTRL+O then CTRL+X)
Restart sysctl with
sudo sysctl -p #to verify run
ifconfig
#set a time server to work on a corporate network
for some reason ntp ignores the proxy settings, normally this would be no big deal, but since the pi doesn’t have a battery and relies on a time server this is a problem.
sudo nano /etc/ntp.conf
#add a line to a server on the network that broadcasts time (like a domain controller ip addess)
server 1.1.1.1
#Save and exit (CTRL+O then CTRL+X)
#install the latest and greatest chromium browser (not currently supported in raspbian)
sudo apt-get install chromium-browser
#windows rdp support, it makes it easy for me to work on a windows machine and rdp to the pi
sudo apt-get install xrdp
#The screen application is very useful, if you are dealing with multiple programs from a command line interface and for separating programs from the terminal shell. It also allows you to share your sessions with others users and detach/attach terminal sessions.
sudo apt-get install screen
Just type screen at the command prompt. Then the screen will show with interface exactly as the command prompt.
then type “Ctrl-A” and “?” without quotes. Then you will see all commands or parameters on screen.
#Iperf allows the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.
sudo apt-get install iperf
#Httperf is a tool for measuring web server performance. It provides a flexible facility for generating various HTTP workloads and for measuring server performance.
sudo apt-get install httperf
#SNMP stands for simple network management protocol. It is a way that servers can share information about their current state
sudo apt-get install snmpd snmp
#You need to edit the configuration if you want to monitor your Raspberry Pi from across the network rather than just locally. The configuration below allows anyone to read the SNMP data – you may want a more secure configuration. The changes below may not be ideal, but they are what I found to be necessary to get it working:
sudo nano /etc/snmp/snmpd.conf
#Change the agentAddress from:
agentAddress udp:127.0.0.1:161 to,
agentAddress 161
Below the line:
#rocommunity public localhost
add:
rocommunity public (without the initial #)
#Restart the SNMP deamon:
sudo /etc/init.d/snmpd restart
tcpdump, mtr and telent are helpful network tools that already pre-installed on this distro
#install tcpdump (like wireshark)
sudo apt-get install tcpdump
#install telet
sudo apt-get install telnet
#install mtr an equivelant of tracert
sudo apt-get install mtr-tiny