#+TITLE:
#+AUTHOR: Bob Mottram
#+EMAIL: bob@freedombone.net
#+KEYWORDS: freedombox, debian, armbian
#+DESCRIPTION: Installing Freedombone on Armbian
#+OPTIONS: ^:nil toc:nil
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="freedombone.css" />

#+BEGIN_CENTER
[[file:images/logo.png]]
#+END_CENTER


#+begin_export html
<center><h1>Installing on Armbian</h1></center>
#+end_export

#+begin_quote
"/we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres hauting cyberspace. engineers, artists, hackers./"
#+end_quote

If you have a single board ARM computer which isn't one of the supported ones then you can probably still install Freedombone onto it if it has a [[https://www.armbian.com/download/][Debian Stretch Armbian image]] available for it.

Download the Armbian image for your board. It must be version 9 (Stretch), otherwise it won't work. Extract the image from its archive, then copy it to a microSD card:

#+begin_src bash
sudo dd bs=1M if=[Armbian .img file] of=/dev/sdX conv=fdatasync
#+end_src

Where */dev/sdX* is the path for the microSD drive on your system.

When that's done use a tool such as *Gparted* to resize the partition on the microSD card to fill up any remaining available space.

Insert the microSD drive into your ARM board, connect it to your internet router with an ethernet cable and plug in the power.

The board should then show up somewhere on your local network. You can log into your internet router to see what devices are connected and obtain the local IP address for the board that way, or use a network scanning tool.

Once you know the local IP address of your ARM board then you can log into it with:

#+begin_src bash
ssh root@[local IP address]
#+end_src

Using the default Armbian password of *1234*. You should see the Armbian welcome message and will be asked to change the password, then create a new user account.

#+BEGIN_CENTER
[[file:images/armbian_setup.jpg]]
#+END_CENTER

When the user account is created type *exit* to leave the ssh session then log back in with your new user account.

#+begin_src bash
ssh myusername@[local IP address]
#+end_src

Become the root user:

#+begin_src bash
sudo su
#+end_src

Then clone the Freedombone repository and checkout the stretch development branch.

#+begin_src bash
git clone https://github.com/bashrc/freedombone
cd freedombone
git checkout stretch
#+end_src

Install the Freedombone commands:

#+begin_src bash
make install
#+end_src

And now you can begin installing the Freedombone system. There are two ways of doing this. If you already own a domain name which you want to use then run:

#+begin_src bash
freedombone menuconfig
#+end_src

Alternatively, if you don't own a domain name, don't have administrator access to your internet router or if you want to be able to access your sites only via onion addresses then run:

#+begin_src bash
freedombone menuconfig-onion
#+end_src

You will then be taken through a few questions and the system will install. Afterwards you'll be able to log into your system with:

#+begin_src bash
ssh myusername@freedombone.local -p 2222
#+end_src

Then select *Administrator options*. If you chose the first install option using a domain name then go to *Show Firewall* and make sure that the ports shown are forwarded from your internet router to your ARM board.

You can then [[./apps.html][add or remove apps]] as needed.
