First thing first.

I am writing this guide for my selves and for others to follow too. But i assume that everyone knows what Putty is and basic knowhow of networking.

Setting up the device!

Installing Ubuntu 18 was not just straight immediately. First i had to add a user, adduser kossel in my case. Then adding that user to sudoers in /etc/sudoers by replicating the "root" user on a new line. Relog as new user and then i got missmatch when doing apt-get update. This worked for me: sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys AB19BAC9 Also i had to fix some network stuiff.... sudo apt install wpasupplicant net-tools wireless-tools

Let's continue... Turn on radios sudo nmcli radio wifi on. Let's se what we got then by sudo iwconfig. We should now have a device similar to wlan0, could be different for others. I did sudo iwlist wlan0 scan to see the wifi networks available. If you got a response, then we are on!

Enable radio (copy all and paste, enabled is entererd later.)

sudo nmcli radio wifi
enabled

We gotta configure netplan, new thing since some time and i am not well informed about it, thus making this guide both for others and me :P

sudo nano /etc/netplan/01-netcfg.yaml Paste

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  # renderer: networkd
  renderer: NetworkManager
  wifis:
    wlan0:
      dhcp4: yes
      access-points:
        "my-router-name":
          password: "<wifi password here in plain text>"
        "some-other-router":
          password: "plain-text-password"
        "Public Hotspot With No Password": {}

After configuration i also entered these lines.

sudo netplan apply
sudo service network-manager restart
sudo service wpa_supplicant restart

Now, if you enter ifconfig we should see our network connected.

Lets get Octoprint installed.

Series of code that is to be entererd.

sudo apt update
sudo apt install python-pip python-dev python-setuptools python-virtualenv git libyaml-dev build-essential
mkdir OctoPrint && cd OctoPrint
virtualenv venv
source venv/bin/activate
pip install pip --upgrade
pip install https://get.octoprint.org/latest
sudo usermod -a -G tty USERNAME
sudo usermod -a -G dialout USERNAME

Let's start it and se if it runs ~/OctoPrint/venv/bin/octoprint, enter weburl IPADRESS:5000

Autostart? yeah, all in one go. No questions asked.....

wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.init && sudo mv octoprint.init /etc/init.d/octoprint
wget https://github.com/foosel/OctoPrint/raw/master/scripts/octoprint.default && sudo mv octoprint.default /etc/default/octoprint
sudo chmod +x /etc/init.d/octoprint

Edit /etc/default/octoprint and change the following lines:

OCTOPRINT_USER=kossel
DAEMON=/home/kossel/OctoPrint/venv/bin/octoprint
PORT=80

Setting it up.

sudo update-rc.d octoprint defaults
sudo service octoprint start
sudo service octoprint status

Raw server works, but it is better with a real one. Let's install haproxy sudo apt-get install haproxy sudo nano /etc/haproxy/haproxy.cfg Add this at the end of config file

frontend public
        bind :::80 v4v6
        default_backend octoprint

backend octoprint
        reqrep ^([^\ :]*)\ /(.*)     \1\ /\2
        option forwardfor
        server COMPUTERNAME 127.0.0.1:5000

Then we sudo nano /etc/default/haproxy and add ENABLED=1 Restart everything. sudo reboot.

Got most of the guide from Diigiit

Installing Klipper.......

TLDR

git clone https://github.com/KevinOConnor/klipper
./klipper/scripts/install-octopi.sh
cd ~/klipper/
make menuconfig

make

ls /dev/serial/by-id/*

sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
sudo service klipper start

cp ~/klipper/config/example.cfg ~/printer.cfg
nano ~/printer.cfg

Fix [mcu], moi importante. This is merely just the instructions from Kippers own site, so for explainations, go there :P

After Klipper is installed and working, we go on with my eGalax LCD touch screen, to be working on odroid too!