123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  5. <head>
  6. <title></title>
  7. <!-- 2018-06-16 Sat 13:50 -->
  8. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  9. <meta name="generator" content="Org-mode" />
  10. <meta name="author" content="Bob Mottram" />
  11. <meta name="description" content="Installing Freedombone on Armbian"
  12. />
  13. <meta name="keywords" content="freedombone, debian, armbian, sbc" />
  14. <style type="text/css">
  15. <!--/*--><![CDATA[/*><!--*/
  16. .title { text-align: center; }
  17. .todo { font-family: monospace; color: red; }
  18. .done { color: green; }
  19. .tag { background-color: #eee; font-family: monospace;
  20. padding: 2px; font-size: 80%; font-weight: normal; }
  21. .timestamp { color: #bebebe; }
  22. .timestamp-kwd { color: #5f9ea0; }
  23. .right { margin-left: auto; margin-right: 0px; text-align: right; }
  24. .left { margin-left: 0px; margin-right: auto; text-align: left; }
  25. .center { margin-left: auto; margin-right: auto; text-align: center; }
  26. .underline { text-decoration: underline; }
  27. #postamble p, #preamble p { font-size: 90%; margin: .2em; }
  28. p.verse { margin-left: 3%; }
  29. pre {
  30. border: 1px solid #ccc;
  31. box-shadow: 3px 3px 3px #eee;
  32. padding: 8pt;
  33. font-family: monospace;
  34. overflow: auto;
  35. margin: 1.2em;
  36. }
  37. pre.src {
  38. position: relative;
  39. overflow: visible;
  40. padding-top: 1.2em;
  41. }
  42. pre.src:before {
  43. display: none;
  44. position: absolute;
  45. background-color: white;
  46. top: -10px;
  47. right: 10px;
  48. padding: 3px;
  49. border: 1px solid black;
  50. }
  51. pre.src:hover:before { display: inline;}
  52. pre.src-sh:before { content: 'sh'; }
  53. pre.src-bash:before { content: 'sh'; }
  54. pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
  55. pre.src-R:before { content: 'R'; }
  56. pre.src-perl:before { content: 'Perl'; }
  57. pre.src-java:before { content: 'Java'; }
  58. pre.src-sql:before { content: 'SQL'; }
  59. table { border-collapse:collapse; }
  60. caption.t-above { caption-side: top; }
  61. caption.t-bottom { caption-side: bottom; }
  62. td, th { vertical-align:top; }
  63. th.right { text-align: center; }
  64. th.left { text-align: center; }
  65. th.center { text-align: center; }
  66. td.right { text-align: right; }
  67. td.left { text-align: left; }
  68. td.center { text-align: center; }
  69. dt { font-weight: bold; }
  70. .footpara:nth-child(2) { display: inline; }
  71. .footpara { display: block; }
  72. .footdef { margin-bottom: 1em; }
  73. .figure { padding: 1em; }
  74. .figure p { text-align: center; }
  75. .inlinetask {
  76. padding: 10px;
  77. border: 2px solid gray;
  78. margin: 10px;
  79. background: #ffffcc;
  80. }
  81. #org-div-home-and-up
  82. { text-align: right; font-size: 70%; white-space: nowrap; }
  83. textarea { overflow-x: auto; }
  84. .linenr { font-size: smaller }
  85. .code-highlighted { background-color: #ffff00; }
  86. .org-info-js_info-navigation { border-style: none; }
  87. #org-info-js_console-label
  88. { font-size: 10px; font-weight: bold; white-space: nowrap; }
  89. .org-info-js_search-highlight
  90. { background-color: #ffff00; color: #000000; font-weight: bold; }
  91. /*]]>*/-->
  92. </style>
  93. <link rel="stylesheet" type="text/css" href="freedombone.css" />
  94. <script type="text/javascript">
  95. /*
  96. @licstart The following is the entire license notice for the
  97. JavaScript code in this tag.
  98. Copyright (C) 2012-2013 Free Software Foundation, Inc.
  99. The JavaScript code in this tag is free software: you can
  100. redistribute it and/or modify it under the terms of the GNU
  101. General Public License (GNU GPL) as published by the Free Software
  102. Foundation, either version 3 of the License, or (at your option)
  103. any later version. The code is distributed WITHOUT ANY WARRANTY;
  104. without even the implied warranty of MERCHANTABILITY or FITNESS
  105. FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
  106. As additional permission under GNU GPL version 3 section 7, you
  107. may distribute non-source (e.g., minimized or compacted) forms of
  108. that code without the copy of the GNU GPL normally required by
  109. section 4, provided you include this license notice and a URL
  110. through which recipients can access the Corresponding Source.
  111. @licend The above is the entire license notice
  112. for the JavaScript code in this tag.
  113. */
  114. <!--/*--><![CDATA[/*><!--*/
  115. function CodeHighlightOn(elem, id)
  116. {
  117. var target = document.getElementById(id);
  118. if(null != target) {
  119. elem.cacheClassElem = elem.className;
  120. elem.cacheClassTarget = target.className;
  121. target.className = "code-highlighted";
  122. elem.className = "code-highlighted";
  123. }
  124. }
  125. function CodeHighlightOff(elem, id)
  126. {
  127. var target = document.getElementById(id);
  128. if(elem.cacheClassElem)
  129. elem.className = elem.cacheClassElem;
  130. if(elem.cacheClassTarget)
  131. target.className = elem.cacheClassTarget;
  132. }
  133. /*]]>*///-->
  134. </script>
  135. </head>
  136. <body>
  137. <div id="preamble" class="status">
  138. <a name="top" id="top"></a>
  139. </div>
  140. <div id="content">
  141. <h1 class="title"></h1>
  142. <div class="figure">
  143. <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
  144. </p>
  145. </div>
  146. <blockquote>
  147. <p>
  148. "<i>we are the music makers, we are the dreamers of dreams. cyberpunks and pirates. chaotic spectres haunting cyberspace. engineers, artists, hackers.</i>"
  149. </p>
  150. </blockquote>
  151. <p>
  152. 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 <a href="https://www.armbian.com/download/">Debian Stretch Armbian image</a> available for it.
  153. </p>
  154. <p>
  155. 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:
  156. </p>
  157. <div class="org-src-container">
  158. <pre class="src src-bash">sudo dd bs=32M if=[Armbian .img file] of=/dev/sdX conv=fdatasync,sync,noerror
  159. </pre>
  160. </div>
  161. <p>
  162. Where <b>/dev/sdX</b> is the path for the microSD drive on your system.
  163. </p>
  164. <p>
  165. When that's done use a tool such as <b>Gparted</b> to resize the partition on the microSD card to fill up any remaining available space.
  166. </p>
  167. <p>
  168. Insert the microSD drive into your ARM board, connect it to your internet router with an ethernet cable and plug in the power.
  169. </p>
  170. <p>
  171. 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.
  172. </p>
  173. <p>
  174. Once you know the local IP address of your ARM board then you can log into it with:
  175. </p>
  176. <div class="org-src-container">
  177. <pre class="src src-bash">ssh root@[local IP address]
  178. </pre>
  179. </div>
  180. <p>
  181. Using the default Armbian password of <b>1234</b>. You should see the Armbian welcome message and will be asked to change the password, then create a new user account.
  182. </p>
  183. <div class="figure">
  184. <p><img src="images/armbian_setup.jpg" alt="armbian_setup.jpg" width="80%" align="center" />
  185. </p>
  186. </div>
  187. <p>
  188. When the user account is created type <b>exit</b> to leave the ssh session then log back in with your new user account.
  189. </p>
  190. <div class="org-src-container">
  191. <pre class="src src-bash">ssh myusername@[local IP address]
  192. </pre>
  193. </div>
  194. <p>
  195. Become the root user:
  196. </p>
  197. <div class="org-src-container">
  198. <pre class="src src-bash">sudo su
  199. </pre>
  200. </div>
  201. <p>
  202. Then clone the Freedombone repository and checkout the stretch development branch.
  203. </p>
  204. <div class="org-src-container">
  205. <pre class="src src-bash">apt-get -y install git dialog build-essential
  206. git clone https://code.freedombone.net/bashrc/freedombone
  207. cd freedombone
  208. git checkout stretch
  209. </pre>
  210. </div>
  211. <p>
  212. If you can't obtain a copy of the source code from <b>code.freedombone.net</b> (maybe the server is down) then you may still be able to obtain it with:
  213. </p>
  214. <div class="org-src-container">
  215. <pre class="src src-bash">dat clone dat://e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e/
  216. cd e9cbf606e55cdaa85199f4e6ec25ff7456775389979a668b3faf33e057493f8e
  217. tar -xzvf freedombone.tar.gz
  218. cd freedombone
  219. git checkout stretch
  220. </pre>
  221. </div>
  222. <p>
  223. Install the Freedombone commands:
  224. </p>
  225. <div class="org-src-container">
  226. <pre class="src src-bash">make install
  227. </pre>
  228. </div>
  229. <p>
  230. 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:
  231. </p>
  232. <div class="org-src-container">
  233. <pre class="src src-bash">freedombone menuconfig
  234. </pre>
  235. </div>
  236. <p>
  237. 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:
  238. </p>
  239. <div class="org-src-container">
  240. <pre class="src src-bash">freedombone menuconfig-onion
  241. </pre>
  242. </div>
  243. <p>
  244. 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:
  245. </p>
  246. <div class="org-src-container">
  247. <pre class="src src-bash">ssh myusername@freedombone.local -p 2222
  248. </pre>
  249. </div>
  250. <p>
  251. Then select <b>Administrator options</b>. If you chose the first install option using a domain name then go to <b>Show Firewall</b> and make sure that the ports shown are forwarded from your internet router to your ARM board.
  252. </p>
  253. <p>
  254. You can then <a href="./apps.html">add or remove apps</a> as needed.
  255. </p>
  256. </div>
  257. <div id="postamble" class="status">
  258. <style type="text/css">
  259. .back-to-top {
  260. position: fixed;
  261. bottom: 2em;
  262. right: 0px;
  263. text-decoration: none;
  264. color: #000000;
  265. background-color: rgba(235, 235, 235, 0.80);
  266. font-size: 12px;
  267. padding: 1em;
  268. display: none;
  269. }
  270. .back-to-top:hover {
  271. background-color: rgba(135, 135, 135, 0.50);
  272. }
  273. </style>
  274. <div class="back-to-top">
  275. <a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a>
  276. </div>
  277. </div>
  278. </body>
  279. </html>