浏览代码

Less verbose index page

Bob Mottram 6 年前
父节点
当前提交
efc318db22
共有 3 个文件被更改,包括 187 次插入174 次删除
  1. 5
    7
      doc/EN/index.org
  2. 28
    13
      website/EN/index.html
  3. 154
    154
      website/EN/mesh_images.html

+ 5
- 7
doc/EN/index.org 查看文件

@@ -17,13 +17,11 @@ So you want to run your own internet services? Email, chat, VoIP, web sites, fil
17 17
 
18 18
 You can run Freedombone on an old laptop or a single board computer. See the [[./installmethods.html][list of installation methods]]. You can also use it to [[./mesh.html][set up a mesh network]] in your local area.
19 19
 
20
-Check out the [[./apps.html][list of available apps]] and [[./faq.html][Frequently Asked Questions]] section. Recent developments are also described on [[https://blog.freedombone.net/tag/freedombone][the blog]]. You might also wish to know how to [[./backups.html][backup and restore the system]].
21
-
22
-Disk images which can be cloned straight to USB or microSD drives are [[./downloads/v31][available here]].
23
-
24
-If you find bugs, or want to add a new app to this system see the [[./devguide.html][Developers Guide]] and [[./codeofconduct.html][Code of Conduct]]. There is a Matrix chat room available at *#fbone:matrix.freedombone.net* and an XMPP channel at *support@chat.freedombone.net*. The XMPP channel requires membership which you can ask for via [[./support.html][these contact details]].
25
-
26
-If you like this project and want to support continued development then [[./support.html][here's what to do]].
20
+#+attr_html: :align center
21
+| [[./downloads/v31][Downloads]]  | [[./apps.html][Apps]]            |
22
+| [[./devguide.html][Developers]] | [[./codeofconduct.html][Code of Conduct]] |
23
+| [[https://blog.freedombone.net/tag/freedombone][Blog]]       | [[./backups.html][Backups]]         |
24
+| [[./faq.html][FAQ]]        | [[./support.html][Contact]]         |
27 25
 
28 26
 #+attr_html: :width 10% :height 2% :align center
29 27
 [[file:fdl-1.3.txt][file:images/gfdl.png]]

+ 28
- 13
website/EN/index.html 查看文件

@@ -4,7 +4,7 @@
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6 6
 <title></title>
7
-<!-- 2018-05-24 Thu 21:18 -->
7
+<!-- 2018-06-16 Sat 10:32 -->
8 8
 <meta  http-equiv="Content-Type" content="text/html;charset=utf-8" />
9 9
 <meta  name="generator" content="Org-mode" />
10 10
 <meta  name="author" content="Bob Mottram" />
@@ -165,21 +165,36 @@ So you want to run your own internet services? Email, chat, VoIP, web sites, fil
165 165
 You can run Freedombone on an old laptop or a single board computer. See the <a href="./installmethods.html">list of installation methods</a>. You can also use it to <a href="./mesh.html">set up a mesh network</a> in your local area.
166 166
 </p>
167 167
 
168
-<p>
169
-Check out the <a href="./apps.html">list of available apps</a> and <a href="./faq.html">Frequently Asked Questions</a> section. Recent developments are also described on <a href="https://blog.freedombone.net/tag/freedombone">the blog</a>. You might also wish to know how to <a href="./backups.html">backup and restore the system</a>.
170
-</p>
168
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides" align="center">
171 169
 
172
-<p>
173
-Disk images which can be cloned straight to USB or microSD drives are <a href="./downloads/v31">available here</a>.
174
-</p>
175 170
 
176
-<p>
177
-If you find bugs, or want to add a new app to this system see the <a href="./devguide.html">Developers Guide</a> and <a href="./codeofconduct.html">Code of Conduct</a>. There is a Matrix chat room available at <b>#fbone:matrix.freedombone.net</b> and an XMPP channel at <b>support@chat.freedombone.net</b>. The XMPP channel requires membership which you can ask for via <a href="./support.html">these contact details</a>.
178
-</p>
171
+<colgroup>
172
+<col  class="left" />
179 173
 
180
-<p>
181
-If you like this project and want to support continued development then <a href="./support.html">here's what to do</a>.
182
-</p>
174
+<col  class="left" />
175
+</colgroup>
176
+<tbody>
177
+<tr>
178
+<td class="left"><a href="./downloads/v31">Downloads</a></td>
179
+<td class="left"><a href="./apps.html">Apps</a></td>
180
+</tr>
181
+
182
+<tr>
183
+<td class="left"><a href="./devguide.html">Developers</a></td>
184
+<td class="left"><a href="./codeofconduct.html">Code of Conduct</a></td>
185
+</tr>
186
+
187
+<tr>
188
+<td class="left"><a href="https://blog.freedombone.net/tag/freedombone">Blog</a></td>
189
+<td class="left"><a href="./backups.html">Backups</a></td>
190
+</tr>
191
+
192
+<tr>
193
+<td class="left"><a href="./faq.html">FAQ</a></td>
194
+<td class="left"><a href="./support.html">Contact</a></td>
195
+</tr>
196
+</tbody>
197
+</table>
183 198
 
184 199
 
185 200
 <div class="figure">

+ 154
- 154
website/EN/mesh_images.html 查看文件

@@ -3,33 +3,26 @@
3 3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5 5
 <head>
6
-<!-- 2018-05-10 Thu 11:48 -->
7
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
-<meta name="viewport" content="width=device-width, initial-scale=1" />
9
-<title>&lrm;</title>
10
-<meta name="generator" content="Org mode" />
11
-<meta name="author" content="Bob Mottram" />
12
-<meta name="description" content="Freedombone mesh network images"
6
+<title></title>
7
+<!-- 2018-06-15 Fri 17:40 -->
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="Freedombone mesh network images"
13 12
  />
14
-<meta name="keywords" content="freedombone, mesh" />
13
+<meta  name="keywords" content="freedombone, mesh" />
15 14
 <style type="text/css">
16 15
  <!--/*--><![CDATA[/*><!--*/
17
-  .title  { text-align: center;
18
-             margin-bottom: .2em; }
19
-  .subtitle { text-align: center;
20
-              font-size: medium;
21
-              font-weight: bold;
22
-              margin-top:0; }
16
+  .title  { text-align: center; }
23 17
   .todo   { font-family: monospace; color: red; }
24
-  .done   { font-family: monospace; color: green; }
25
-  .priority { font-family: monospace; color: orange; }
18
+  .done   { color: green; }
26 19
   .tag    { background-color: #eee; font-family: monospace;
27 20
             padding: 2px; font-size: 80%; font-weight: normal; }
28 21
   .timestamp { color: #bebebe; }
29 22
   .timestamp-kwd { color: #5f9ea0; }
30
-  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
31
-  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
32
-  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
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; }
33 26
   .underline { text-decoration: underline; }
34 27
   #postamble p, #preamble p { font-size: 90%; margin: .2em; }
35 28
   p.verse { margin-left: 3%; }
@@ -56,111 +49,27 @@
56 49
     border: 1px solid black;
57 50
   }
58 51
   pre.src:hover:before { display: inline;}
59
-  /* Languages per Org manual */
60
-  pre.src-asymptote:before { content: 'Asymptote'; }
61
-  pre.src-awk:before { content: 'Awk'; }
62
-  pre.src-C:before { content: 'C'; }
63
-  /* pre.src-C++ doesn't work in CSS */
64
-  pre.src-clojure:before { content: 'Clojure'; }
65
-  pre.src-css:before { content: 'CSS'; }
66
-  pre.src-D:before { content: 'D'; }
67
-  pre.src-ditaa:before { content: 'ditaa'; }
68
-  pre.src-dot:before { content: 'Graphviz'; }
69
-  pre.src-calc:before { content: 'Emacs Calc'; }
52
+  pre.src-sh:before    { content: 'sh'; }
53
+  pre.src-bash:before  { content: 'sh'; }
70 54
   pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
71
-  pre.src-fortran:before { content: 'Fortran'; }
72
-  pre.src-gnuplot:before { content: 'gnuplot'; }
73
-  pre.src-haskell:before { content: 'Haskell'; }
74
-  pre.src-hledger:before { content: 'hledger'; }
75
-  pre.src-java:before { content: 'Java'; }
76
-  pre.src-js:before { content: 'Javascript'; }
77
-  pre.src-latex:before { content: 'LaTeX'; }
78
-  pre.src-ledger:before { content: 'Ledger'; }
79
-  pre.src-lisp:before { content: 'Lisp'; }
80
-  pre.src-lilypond:before { content: 'Lilypond'; }
81
-  pre.src-lua:before { content: 'Lua'; }
82
-  pre.src-matlab:before { content: 'MATLAB'; }
83
-  pre.src-mscgen:before { content: 'Mscgen'; }
84
-  pre.src-ocaml:before { content: 'Objective Caml'; }
85
-  pre.src-octave:before { content: 'Octave'; }
86
-  pre.src-org:before { content: 'Org mode'; }
87
-  pre.src-oz:before { content: 'OZ'; }
88
-  pre.src-plantuml:before { content: 'Plantuml'; }
89
-  pre.src-processing:before { content: 'Processing.js'; }
90
-  pre.src-python:before { content: 'Python'; }
91
-  pre.src-R:before { content: 'R'; }
92
-  pre.src-ruby:before { content: 'Ruby'; }
93
-  pre.src-sass:before { content: 'Sass'; }
94
-  pre.src-scheme:before { content: 'Scheme'; }
95
-  pre.src-screen:before { content: 'Gnu Screen'; }
96
-  pre.src-sed:before { content: 'Sed'; }
97
-  pre.src-sh:before { content: 'shell'; }
98
-  pre.src-sql:before { content: 'SQL'; }
99
-  pre.src-sqlite:before { content: 'SQLite'; }
100
-  /* additional languages in org.el's org-babel-load-languages alist */
101
-  pre.src-forth:before { content: 'Forth'; }
102
-  pre.src-io:before { content: 'IO'; }
103
-  pre.src-J:before { content: 'J'; }
104
-  pre.src-makefile:before { content: 'Makefile'; }
105
-  pre.src-maxima:before { content: 'Maxima'; }
106
-  pre.src-perl:before { content: 'Perl'; }
107
-  pre.src-picolisp:before { content: 'Pico Lisp'; }
108
-  pre.src-scala:before { content: 'Scala'; }
109
-  pre.src-shell:before { content: 'Shell Script'; }
110
-  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
111
-  /* additional language identifiers per "defun org-babel-execute"
112
-       in ob-*.el */
113
-  pre.src-cpp:before  { content: 'C++'; }
114
-  pre.src-abc:before  { content: 'ABC'; }
115
-  pre.src-coq:before  { content: 'Coq'; }
116
-  pre.src-groovy:before  { content: 'Groovy'; }
117
-  /* additional language identifiers from org-babel-shell-names in
118
-     ob-shell.el: ob-shell is the only babel language using a lambda to put
119
-     the execution function name together. */
120
-  pre.src-bash:before  { content: 'bash'; }
121
-  pre.src-csh:before  { content: 'csh'; }
122
-  pre.src-ash:before  { content: 'ash'; }
123
-  pre.src-dash:before  { content: 'dash'; }
124
-  pre.src-ksh:before  { content: 'ksh'; }
125
-  pre.src-mksh:before  { content: 'mksh'; }
126
-  pre.src-posh:before  { content: 'posh'; }
127
-  /* Additional Emacs modes also supported by the LaTeX listings package */
128
-  pre.src-ada:before { content: 'Ada'; }
129
-  pre.src-asm:before { content: 'Assembler'; }
130
-  pre.src-caml:before { content: 'Caml'; }
131
-  pre.src-delphi:before { content: 'Delphi'; }
132
-  pre.src-html:before { content: 'HTML'; }
133
-  pre.src-idl:before { content: 'IDL'; }
134
-  pre.src-mercury:before { content: 'Mercury'; }
135
-  pre.src-metapost:before { content: 'MetaPost'; }
136
-  pre.src-modula-2:before { content: 'Modula-2'; }
137
-  pre.src-pascal:before { content: 'Pascal'; }
138
-  pre.src-ps:before { content: 'PostScript'; }
139
-  pre.src-prolog:before { content: 'Prolog'; }
140
-  pre.src-simula:before { content: 'Simula'; }
141
-  pre.src-tcl:before { content: 'tcl'; }
142
-  pre.src-tex:before { content: 'TeX'; }
143
-  pre.src-plain-tex:before { content: 'Plain TeX'; }
144
-  pre.src-verilog:before { content: 'Verilog'; }
145
-  pre.src-vhdl:before { content: 'VHDL'; }
146
-  pre.src-xml:before { content: 'XML'; }
147
-  pre.src-nxml:before { content: 'XML'; }
148
-  /* add a generic configuration mode; LaTeX export needs an additional
149
-     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
150
-  pre.src-conf:before { content: 'Configuration File'; }
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'; }
151 59
 
152 60
   table { border-collapse:collapse; }
153 61
   caption.t-above { caption-side: top; }
154 62
   caption.t-bottom { caption-side: bottom; }
155 63
   td, th { vertical-align:top;  }
156
-  th.org-right  { text-align: center;  }
157
-  th.org-left   { text-align: center;   }
158
-  th.org-center { text-align: center; }
159
-  td.org-right  { text-align: right;  }
160
-  td.org-left   { text-align: left;   }
161
-  td.org-center { text-align: center; }
64
+  th.right  { text-align: center;  }
65
+  th.left   { text-align: center;   }
66
+  th.center { text-align: center; }
67
+  td.right  { text-align: right;  }
68
+  td.left   { text-align: left;   }
69
+  td.center { text-align: center; }
162 70
   dt { font-weight: bold; }
163
-  .footpara { display: inline; }
71
+  .footpara:nth-child(2) { display: inline; }
72
+  .footpara { display: block; }
164 73
   .footdef  { margin-bottom: 1em; }
165 74
   .figure { padding: 1em; }
166 75
   .figure p { text-align: center; }
@@ -180,7 +89,6 @@
180 89
     { font-size: 10px; font-weight: bold; white-space: nowrap; }
181 90
   .org-info-js_search-highlight
182 91
     { background-color: #ffff00; color: #000000; font-weight: bold; }
183
-  .org-svg { width: 90%; }
184 92
   /*]]>*/-->
185 93
 </style>
186 94
 <link rel="stylesheet" type="text/css" href="freedombone.css" />
@@ -189,7 +97,7 @@
189 97
 @licstart  The following is the entire license notice for the
190 98
 JavaScript code in this tag.
191 99
 
192
-Copyright (C) 2012-2017 Free Software Foundation, Inc.
100
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
193 101
 
194 102
 The JavaScript code in this tag is free software: you can
195 103
 redistribute it and/or modify it under the terms of the GNU
@@ -236,23 +144,23 @@ for the JavaScript code in this tag.
236 144
 <a name="top" id="top"></a>
237 145
 </div>
238 146
 <div id="content">
147
+<h1 class="title"></h1>
239 148
 
240 149
 <div class="figure">
241 150
 <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
242 151
 </p>
243 152
 </div>
244 153
 
245
-<div id="outline-container-org4a6d63d" class="outline-2">
246
-<h2 id="org4a6d63d">Mesh Network: Images</h2>
154
+<div id="outline-container-sec-1" class="outline-2">
155
+<h2 id="sec-1">Mesh Network: Images</h2>
247 156
 </div>
248 157
 
249
-<div id="outline-container-org0b5ce82" class="outline-2">
250
-<h2 id="org0b5ce82">Pre-built Disk Images</h2>
251
-<div class="outline-text-2" id="text-org0b5ce82">
252
-</div>
253
-<div id="outline-container-org3c967ad" class="outline-3">
254
-<h3 id="org3c967ad">Writing many images quickly</h3>
255
-<div class="outline-text-3" id="text-org3c967ad">
158
+<div id="outline-container-sec-2" class="outline-2">
159
+<h2 id="sec-2">Pre-built Disk Images</h2>
160
+<div class="outline-text-2" id="text-2">
161
+</div><div id="outline-container-sec-2-1" class="outline-3">
162
+<h3 id="sec-2-1">Writing many images quickly</h3>
163
+<div class="outline-text-3" id="text-2-1">
256 164
 <p>
257 165
 There may be situations where you need to write the same disk image to multiple drives at the same time in order to maximize rate of deployment. In the instructions given below the <b>dd</b> command is used for writing to the target drive, but to write to multiple drives you can use a tool such as <a href="https://wiki.gnome.org/Apps/MultiWriter">GNOME MultiWriter</a>.
258 166
 </p>
@@ -262,6 +170,7 @@ For example on Arch/Parabola:
262 170
 </p>
263 171
 
264 172
 <div class="org-src-container">
173
+
265 174
 <pre class="src src-bash">sudo pacman -S gnome-multi-writer
266 175
 </pre>
267 176
 </div>
@@ -271,6 +180,7 @@ Or on Debian based systems:
271 180
 </p>
272 181
 
273 182
 <div class="org-src-container">
183
+
274 184
 <pre class="src src-bash">sudo apt-get install gnome-multi-writer
275 185
 </pre>
276 186
 </div>
@@ -280,9 +190,9 @@ The MultiWriter tool is also available within mesh client images, so that you ca
280 190
 </p>
281 191
 </div>
282 192
 </div>
283
-<div id="outline-container-orge9f8bf4" class="outline-3">
284
-<h3 id="orge9f8bf4">Client images</h3>
285
-<div class="outline-text-3" id="text-orge9f8bf4">
193
+<div id="outline-container-sec-2-2" class="outline-3">
194
+<h3 id="sec-2-2">Client images</h3>
195
+<div class="outline-text-3" id="text-2-2">
286 196
 
287 197
 <div class="figure">
288 198
 <p><img src="images/mesh_netbook.jpg" alt="mesh_netbook.jpg" width="100%" align="center" />
@@ -293,14 +203,57 @@ The MultiWriter tool is also available within mesh client images, so that you ca
293 203
 "Client" isn't exactly the right term, but it's a mesh peer with a user interface. These images can be copied to a USB drive, then you can plug it into a laptop/netbook/desktop machine and boot from it. You will probably also need an Atheros USB wifi dongle (the black protruding object on the left side of the netbook in the picture above), because most built-in wifi usually requires proprietary firmware. In the commands below substitute /dev/sdX with the USB drive device, excluding any trailing numbers (eg. /dev/sdb). The USB drive you're copying to will need to be at least 16GB in size.
294 204
 </p>
295 205
 
206
+<p>
207
+Install some prerequisites:
208
+</p>
209
+
296 210
 <div class="org-src-container">
211
+
297 212
 <pre class="src src-bash">sudo apt-get install xz-utils wget
298
-wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz
213
+</pre>
214
+</div>
215
+
216
+<p>
217
+To download images with dat:
218
+</p>
219
+
220
+<div class="org-src-container">
221
+
222
+<pre class="src src-bash">dat clone dat://e2ed9767d6ab64f4c43a2adbce65af225133fec7ba95737f0a2f6ae292ba358e/
223
+cd e2ed9767d6ab64f4c43a2adbce65af225133fec7ba95737f0a2f6ae292ba358e
224
+</pre>
225
+</div>
226
+
227
+<p>
228
+Or to download images directly with wget (may be slower):
229
+</p>
230
+
231
+<div class="org-src-container">
232
+
233
+<pre class="src src-bash">wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz
299 234
 wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz.sig
300
-gpg --verify freedombone-meshclient-i386.img.xz.sig
235
+</pre>
236
+</div>
237
+
238
+<p>
239
+Check the signature:
240
+</p>
241
+
242
+<div class="org-src-container">
243
+
244
+<pre class="src src-bash">gpg --verify freedombone-meshclient-i386.img.xz.sig
301 245
 unxz freedombone-meshclient-i386.img.xz
302
-sudo dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">count</span>=8
303
-sudo dd <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">if</span>=freedombone-meshclient-i386.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync,sync,noerror
246
+</pre>
247
+</div>
248
+
249
+<p>
250
+Then clone to the USB drive, where sdX is your USB device:
251
+</p>
252
+
253
+<div class="org-src-container">
254
+
255
+<pre class="src src-bash">sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8
256
+sudo dd bs=32M if=freedombone-meshclient-i386.img of=/dev/sdX conv=fdatasync,sync,noerror
304 257
 </pre>
305 258
 </div>
306 259
 
@@ -312,29 +265,72 @@ To get a number of systems onto the mesh repeat the <i>dd</i> command to create
312 265
 If you're in an emergency and don't have Atheros wifi dongles then there is also an "insecure" image which contains some proprietary wifi drivers which may work with a wider range of laptops. Proprietary drivers <b>are not recommended</b> because they're unsupportable and may be exploitable or contain malicious antifeatures which fundamentally compromise the security of the network. However, the trade-off between security/maintainability and simply having the ability to communicate at all may be a valid one in some situations.
313 266
 </p>
314 267
 
268
+<p>
269
+Install some prerequisites:
270
+</p>
271
+
315 272
 <div class="org-src-container">
273
+
316 274
 <pre class="src src-bash">sudo apt-get install xz-utils wget
317
-wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz
275
+</pre>
276
+</div>
277
+
278
+<p>
279
+To download images with dat:
280
+</p>
281
+
282
+<div class="org-src-container">
283
+
284
+<pre class="src src-bash">dat clone dat://6d1b73d13b6f9b5c481c6dfd64be6aa58e1cd2d153a6bb04bbc177999ee9925e/
285
+cd 6d1b73d13b6f9b5c481c6dfd64be6aa58e1cd2d153a6bb04bbc177999ee9925e
286
+</pre>
287
+</div>
288
+
289
+<p>
290
+Or to download images directly with wget (may be slower):
291
+</p>
292
+
293
+<div class="org-src-container">
294
+
295
+<pre class="src src-bash">wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz
318 296
 wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz.sig
319
-gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig
297
+</pre>
298
+</div>
299
+
300
+<p>
301
+Check the signature:
302
+</p>
303
+
304
+<div class="org-src-container">
305
+
306
+<pre class="src src-bash">gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig
320 307
 unxz freedombone-meshclient-insecure-i386.img.xz
321
-sudo dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">count</span>=8
322
-sudo dd <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">if</span>=freedombone-meshclient-insecure-i386.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync,sync,noerror
308
+</pre>
309
+</div>
310
+
311
+<p>
312
+Then clone to the USB drive, where sdX is your USB device:
313
+</p>
314
+
315
+<div class="org-src-container">
316
+
317
+<pre class="src src-bash">sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8
318
+sudo dd bs=32M if=freedombone-meshclient-insecure-i386.img of=/dev/sdX conv=fdatasync,sync,noerror
323 319
 </pre>
324 320
 </div>
325 321
 </div>
326 322
 </div>
327 323
 
328
-<div id="outline-container-org82896b1" class="outline-3">
329
-<h3 id="org82896b1">Router images</h3>
330
-<div class="outline-text-3" id="text-org82896b1">
324
+<div id="outline-container-sec-2-3" class="outline-3">
325
+<h3 id="sec-2-3">Router images</h3>
326
+<div class="outline-text-3" id="text-2-3">
331 327
 <p>
332 328
 Routers are intended to build network coverage for an area using small and low cost hardware. You can bolt them to walls or leave them on window ledges. They don't have any user interface and their only job is to haul network traffic across the mesh and to enable peers to find each other via running bootstrap nodes for Tox and IPFS. Copy the image to a microSD card and insert it into the router, plug in an Atheros wifi dongle and power on. That should be all you need to do.
333 329
 </p>
334 330
 </div>
335
-<div id="outline-container-org874f9bb" class="outline-4">
336
-<h4 id="org874f9bb">Beaglebone Black</h4>
337
-<div class="outline-text-4" id="text-org874f9bb">
331
+<div id="outline-container-sec-2-3-1" class="outline-4">
332
+<h4 id="sec-2-3-1">Beaglebone Black</h4>
333
+<div class="outline-text-4" id="text-2-3-1">
338 334
 
339 335
 <div class="figure">
340 336
 <p><img src="images/mesh_router.jpg" alt="mesh_router.jpg" width="50%" align="center" />
@@ -346,14 +342,13 @@ The above picture shows a Beaglebone Black with the image copied onto a microSD
346 342
 </p>
347 343
 
348 344
 <div class="org-src-container">
345
+
349 346
 <pre class="src src-bash">sudo apt-get install xz-utils wget
350 347
 wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz
351 348
 wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz.sig
352 349
 gpg --verify freedombone-mesh_beaglebone-armhf.img.xz.sig
353
-sha256sum freedombone-mesh_beaglebone-armhf.img.xz
354
-ad8f22c0d46c98a80aa47b5809402971cf5cf26ebf587c59a667307b2386c3d2
355 350
 unxz freedombone-mesh_beaglebone-armhf.img.xz
356
-sudo dd <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">if</span>=freedombone-mesh_beaglebone-armhf.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync,sync,noerror
351
+sudo dd bs=32M if=freedombone-mesh_beaglebone-armhf.img of=/dev/sdX conv=fdatasync,sync,noerror
357 352
 </pre>
358 353
 </div>
359 354
 
@@ -369,9 +364,9 @@ There is still a software freedom issue with the Beaglebone Black, but it doesn'
369 364
 </div>
370 365
 </div>
371 366
 
372
-<div id="outline-container-orgda68996" class="outline-2">
373
-<h2 id="orgda68996">Building Disk Images</h2>
374
-<div class="outline-text-2" id="text-orgda68996">
367
+<div id="outline-container-sec-3" class="outline-2">
368
+<h2 id="sec-3">Building Disk Images</h2>
369
+<div class="outline-text-2" id="text-3">
375 370
 <p>
376 371
 It's better not to trust images downloaded from random places on the interwebs. Chances are that unless you are in the web of trust of the above GPG signatures then they don't mean very much to you. If you actually want something trustworthy then build the images from scratch. It will take some time. Here's how to do it.
377 372
 </p>
@@ -381,12 +376,13 @@ First you will need to create an image. On a Debian based system (tested on Debi
381 376
 </p>
382 377
 
383 378
 <div class="org-src-container">
379
+
384 380
 <pre class="src src-bash">sudo apt-get -y install git wget build-essential
385 381
 wget https://freedombone.net/downloads/v31/freedombone.tar.gz
386 382
 wget https://freedombone.net/downloads/v31/freedombone.tar.gz.sig
387 383
 gpg --verify freedombone.tar.gz.sig
388 384
 tar -xzvf freedombone.tar.gz
389
-<span class="org-builtin">cd</span> freedombone
385
+cd freedombone
390 386
 git checkout stretch
391 387
 sudo make install
392 388
 freedombone-image --setup debian
@@ -399,6 +395,7 @@ If you don't have Atheros or free software compatible wifi adapter then you can
399 395
 </p>
400 396
 
401 397
 <div class="org-src-container">
398
+
402 399
 <pre class="src src-bash">freedombone-image -t i386 -v meshclient --insecure yes
403 400
 </pre>
404 401
 </div>
@@ -412,6 +409,7 @@ List what drives are on your system with:
412 409
 </p>
413 410
 
414 411
 <div class="org-src-container">
412
+
415 413
 <pre class="src src-bash">ls /dev/sd*
416 414
 </pre>
417 415
 </div>
@@ -425,8 +423,9 @@ You can now copy the image to the USB thumb drive, replacing <b>sdX</b> with the
425 423
 </p>
426 424
 
427 425
 <div class="org-src-container">
428
-<pre class="src src-bash">sudo dd <span class="org-variable-name">if</span>=/dev/zero <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">count</span>=8
429
-sudo dd <span class="org-variable-name">bs</span>=32M <span class="org-variable-name">if</span>=myimagefile.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync,sync,noerror
426
+
427
+<pre class="src src-bash">sudo dd if=/dev/zero of=/dev/sdX bs=32M count=8
428
+sudo dd bs=32M if=myimagefile.img of=/dev/sdX conv=fdatasync,sync,noerror
430 429
 </pre>
431 430
 </div>
432 431
 
@@ -447,6 +446,7 @@ You can also use single board computers (SBCs) such as the BeagleBone Black to m
447 446
 </p>
448 447
 
449 448
 <div class="org-src-container">
449
+
450 450
 <pre class="src src-bash">freedombone-image -t beaglebone -v mesh
451 451
 </pre>
452 452
 </div>