|
@@ -3,26 +3,33 @@
|
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
|
|
-<title></title>
|
7
|
|
-<!-- 2018-04-12 Thu 18:25 -->
|
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"
|
|
6
|
+<!-- 2018-04-15 Sun 18:25 -->
|
|
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>‎</title>
|
|
10
|
+<meta name="generator" content="Org mode" />
|
|
11
|
+<meta name="author" content="Bob Mottram" />
|
|
12
|
+<meta name="description" content="Freedombone mesh network images"
|
12
|
13
|
/>
|
13
|
|
-<meta name="keywords" content="freedombone, mesh" />
|
|
14
|
+<meta name="keywords" content="freedombone, mesh" />
|
14
|
15
|
<style type="text/css">
|
15
|
16
|
<!--/*--><![CDATA[/*><!--*/
|
16
|
|
- .title { text-align: center; }
|
|
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; }
|
17
|
23
|
.todo { font-family: monospace; color: red; }
|
18
|
|
- .done { color: green; }
|
|
24
|
+ .done { font-family: monospace; color: green; }
|
|
25
|
+ .priority { font-family: monospace; color: orange; }
|
19
|
26
|
.tag { background-color: #eee; font-family: monospace;
|
20
|
27
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
21
|
28
|
.timestamp { color: #bebebe; }
|
22
|
29
|
.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; }
|
|
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; }
|
26
|
33
|
.underline { text-decoration: underline; }
|
27
|
34
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
28
|
35
|
p.verse { margin-left: 3%; }
|
|
@@ -49,27 +56,111 @@
|
49
|
56
|
border: 1px solid black;
|
50
|
57
|
}
|
51
|
58
|
pre.src:hover:before { display: inline;}
|
52
|
|
- pre.src-sh:before { content: 'sh'; }
|
53
|
|
- pre.src-bash:before { content: 'sh'; }
|
|
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'; }
|
54
|
70
|
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'; }
|
|
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'; }
|
59
|
151
|
|
60
|
152
|
table { border-collapse:collapse; }
|
61
|
153
|
caption.t-above { caption-side: top; }
|
62
|
154
|
caption.t-bottom { caption-side: bottom; }
|
63
|
155
|
td, th { vertical-align:top; }
|
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; }
|
|
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; }
|
70
|
162
|
dt { font-weight: bold; }
|
71
|
|
- .footpara:nth-child(2) { display: inline; }
|
72
|
|
- .footpara { display: block; }
|
|
163
|
+ .footpara { display: inline; }
|
73
|
164
|
.footdef { margin-bottom: 1em; }
|
74
|
165
|
.figure { padding: 1em; }
|
75
|
166
|
.figure p { text-align: center; }
|
|
@@ -89,6 +180,7 @@
|
89
|
180
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
90
|
181
|
.org-info-js_search-highlight
|
91
|
182
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
|
183
|
+ .org-svg { width: 90%; }
|
92
|
184
|
/*]]>*/-->
|
93
|
185
|
</style>
|
94
|
186
|
<link rel="stylesheet" type="text/css" href="freedombone.css" />
|
|
@@ -97,7 +189,7 @@
|
97
|
189
|
@licstart The following is the entire license notice for the
|
98
|
190
|
JavaScript code in this tag.
|
99
|
191
|
|
100
|
|
-Copyright (C) 2012-2013 Free Software Foundation, Inc.
|
|
192
|
+Copyright (C) 2012-2017 Free Software Foundation, Inc.
|
101
|
193
|
|
102
|
194
|
The JavaScript code in this tag is free software: you can
|
103
|
195
|
redistribute it and/or modify it under the terms of the GNU
|
|
@@ -144,23 +236,23 @@ for the JavaScript code in this tag.
|
144
|
236
|
<a name="top" id="top"></a>
|
145
|
237
|
</div>
|
146
|
238
|
<div id="content">
|
147
|
|
-<h1 class="title"></h1>
|
148
|
239
|
|
149
|
240
|
<div class="figure">
|
150
|
241
|
<p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
|
151
|
242
|
</p>
|
152
|
243
|
</div>
|
153
|
244
|
|
154
|
|
-<div id="outline-container-sec-1" class="outline-2">
|
155
|
|
-<h2 id="sec-1">Mesh Network: Images</h2>
|
|
245
|
+<div id="outline-container-orgd03cecc" class="outline-2">
|
|
246
|
+<h2 id="orgd03cecc">Mesh Network: Images</h2>
|
156
|
247
|
</div>
|
157
|
248
|
|
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">
|
|
249
|
+<div id="outline-container-org2613bbd" class="outline-2">
|
|
250
|
+<h2 id="org2613bbd">Pre-built Disk Images</h2>
|
|
251
|
+<div class="outline-text-2" id="text-org2613bbd">
|
|
252
|
+</div>
|
|
253
|
+<div id="outline-container-org3cdda6d" class="outline-3">
|
|
254
|
+<h3 id="org3cdda6d">Writing many images quickly</h3>
|
|
255
|
+<div class="outline-text-3" id="text-org3cdda6d">
|
164
|
256
|
<p>
|
165
|
257
|
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>.
|
166
|
258
|
</p>
|
|
@@ -170,7 +262,6 @@ For example on Arch/Parabola:
|
170
|
262
|
</p>
|
171
|
263
|
|
172
|
264
|
<div class="org-src-container">
|
173
|
|
-
|
174
|
265
|
<pre class="src src-bash">sudo pacman -S gnome-multi-writer
|
175
|
266
|
</pre>
|
176
|
267
|
</div>
|
|
@@ -180,7 +271,6 @@ Or on Debian based systems:
|
180
|
271
|
</p>
|
181
|
272
|
|
182
|
273
|
<div class="org-src-container">
|
183
|
|
-
|
184
|
274
|
<pre class="src src-bash">sudo apt-get install gnome-multi-writer
|
185
|
275
|
</pre>
|
186
|
276
|
</div>
|
|
@@ -190,9 +280,9 @@ The MultiWriter tool is also available within mesh client images, so that you ca
|
190
|
280
|
</p>
|
191
|
281
|
</div>
|
192
|
282
|
</div>
|
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">
|
|
283
|
+<div id="outline-container-org41f717a" class="outline-3">
|
|
284
|
+<h3 id="org41f717a">Client images</h3>
|
|
285
|
+<div class="outline-text-3" id="text-org41f717a">
|
196
|
286
|
|
197
|
287
|
<div class="figure">
|
198
|
288
|
<p><img src="images/mesh_netbook.jpg" alt="mesh_netbook.jpg" width="100%" align="center" />
|
|
@@ -204,16 +294,13 @@ The MultiWriter tool is also available within mesh client images, so that you ca
|
204
|
294
|
</p>
|
205
|
295
|
|
206
|
296
|
<div class="org-src-container">
|
207
|
|
-
|
208
|
297
|
<pre class="src src-bash">sudo apt-get install xz-utils wget
|
209
|
|
-wget https://freedombone.net/downloads/current/freedombone-meshclient-i386.img.xz
|
210
|
|
-wget https://freedombone.net/downloads/current/freedombone-meshclient-i386.img.xz.sig
|
|
298
|
+wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz
|
|
299
|
+wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz.sig
|
211
|
300
|
gpg --verify freedombone-meshclient-i386.img.xz.sig
|
212
|
|
-sha256sum freedombone-meshclient-i386.img.xz
|
213
|
|
-49391230de6a4f1966db091813deb8f9d93c947677f5483baa52400d7fcba7d3
|
214
|
301
|
unxz freedombone-meshclient-i386.img.xz
|
215
|
|
-sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
|
216
|
|
-sudo dd bs=1M if=freedombone-meshclient-i386.img of=/dev/sdX conv=fdatasync
|
|
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>=1M <span class="org-variable-name">count</span>=8
|
|
303
|
+sudo dd <span class="org-variable-name">bs</span>=1M <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
|
217
|
304
|
</pre>
|
218
|
305
|
</div>
|
219
|
306
|
|
|
@@ -226,31 +313,28 @@ If you're in an emergency and don't have Atheros wifi dongles then there is also
|
226
|
313
|
</p>
|
227
|
314
|
|
228
|
315
|
<div class="org-src-container">
|
229
|
|
-
|
230
|
316
|
<pre class="src src-bash">sudo apt-get install xz-utils wget
|
231
|
|
-wget https://freedombone.net/downloads/current/freedombone-meshclient-insecure-i386.img.xz
|
232
|
|
-wget https://freedombone.net/downloads/current/freedombone-meshclient-insecure-i386.img.xz.sig
|
|
317
|
+wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz
|
|
318
|
+wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz.sig
|
233
|
319
|
gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig
|
234
|
|
-sha256sum freedombone-meshclient-insecure-i386.img.xz
|
235
|
|
-c11783741e66df5072ffcbef8d9b04260a2298d84e33c72fefa4bb539d094810
|
236
|
320
|
unxz freedombone-meshclient-insecure-i386.img.xz
|
237
|
|
-sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
|
238
|
|
-sudo dd bs=1M if=freedombone-meshclient-insecure-i386.img of=/dev/sdX conv=fdatasync
|
|
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>=1M <span class="org-variable-name">count</span>=8
|
|
322
|
+sudo dd <span class="org-variable-name">bs</span>=1M <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
|
239
|
323
|
</pre>
|
240
|
324
|
</div>
|
241
|
325
|
</div>
|
242
|
326
|
</div>
|
243
|
327
|
|
244
|
|
-<div id="outline-container-sec-2-3" class="outline-3">
|
245
|
|
-<h3 id="sec-2-3">Router images</h3>
|
246
|
|
-<div class="outline-text-3" id="text-2-3">
|
|
328
|
+<div id="outline-container-orgbe3f97e" class="outline-3">
|
|
329
|
+<h3 id="orgbe3f97e">Router images</h3>
|
|
330
|
+<div class="outline-text-3" id="text-orgbe3f97e">
|
247
|
331
|
<p>
|
248
|
332
|
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.
|
249
|
333
|
</p>
|
250
|
334
|
</div>
|
251
|
|
-<div id="outline-container-sec-2-3-1" class="outline-4">
|
252
|
|
-<h4 id="sec-2-3-1">Beaglebone Black</h4>
|
253
|
|
-<div class="outline-text-4" id="text-2-3-1">
|
|
335
|
+<div id="outline-container-org1859392" class="outline-4">
|
|
336
|
+<h4 id="org1859392">Beaglebone Black</h4>
|
|
337
|
+<div class="outline-text-4" id="text-org1859392">
|
254
|
338
|
|
255
|
339
|
<div class="figure">
|
256
|
340
|
<p><img src="images/mesh_router.jpg" alt="mesh_router.jpg" width="50%" align="center" />
|
|
@@ -262,15 +346,14 @@ The above picture shows a Beaglebone Black with the image copied onto a microSD
|
262
|
346
|
</p>
|
263
|
347
|
|
264
|
348
|
<div class="org-src-container">
|
265
|
|
-
|
266
|
349
|
<pre class="src src-bash">sudo apt-get install xz-utils wget
|
267
|
|
-wget https://freedombone.net/downloads/current/freedombone-mesh_beaglebone-armhf.img.xz
|
268
|
|
-wget https://freedombone.net/downloads/current/freedombone-mesh_beaglebone-armhf.img.xz.sig
|
|
350
|
+wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz
|
|
351
|
+wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz.sig
|
269
|
352
|
gpg --verify freedombone-mesh_beaglebone-armhf.img.xz.sig
|
270
|
353
|
sha256sum freedombone-mesh_beaglebone-armhf.img.xz
|
271
|
354
|
ad8f22c0d46c98a80aa47b5809402971cf5cf26ebf587c59a667307b2386c3d2
|
272
|
355
|
unxz freedombone-mesh_beaglebone-armhf.img.xz
|
273
|
|
-sudo dd bs=1M if=freedombone-mesh_beaglebone-armhf.img of=/dev/sdX conv=fdatasync
|
|
356
|
+sudo dd <span class="org-variable-name">bs</span>=1M <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
|
274
|
357
|
</pre>
|
275
|
358
|
</div>
|
276
|
359
|
|
|
@@ -286,9 +369,9 @@ There is still a software freedom issue with the Beaglebone Black, but it doesn'
|
286
|
369
|
</div>
|
287
|
370
|
</div>
|
288
|
371
|
|
289
|
|
-<div id="outline-container-sec-3" class="outline-2">
|
290
|
|
-<h2 id="sec-3">Building Disk Images</h2>
|
291
|
|
-<div class="outline-text-2" id="text-3">
|
|
372
|
+<div id="outline-container-orgf16e84d" class="outline-2">
|
|
373
|
+<h2 id="orgf16e84d">Building Disk Images</h2>
|
|
374
|
+<div class="outline-text-2" id="text-orgf16e84d">
|
292
|
375
|
<p>
|
293
|
376
|
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.
|
294
|
377
|
</p>
|
|
@@ -298,15 +381,12 @@ First you will need to create an image. On a Debian based system (tested on Debi
|
298
|
381
|
</p>
|
299
|
382
|
|
300
|
383
|
<div class="org-src-container">
|
301
|
|
-
|
302
|
384
|
<pre class="src src-bash">sudo apt-get -y install git wget build-essential
|
303
|
|
-wget https://freedombone.net/downloads/current/freedombone.tar.gz
|
304
|
|
-wget https://freedombone.net/downloads/current/freedombone.tar.gz.sig
|
|
385
|
+wget https://freedombone.net/downloads/v31/freedombone.tar.gz
|
|
386
|
+wget https://freedombone.net/downloads/v31/freedombone.tar.gz.sig
|
305
|
387
|
gpg --verify freedombone.tar.gz.sig
|
306
|
|
-sha256sum freedombone.tar.gz
|
307
|
|
-afbb536564140aa28c6491d45b7474ced5a0b018539ffd3e96b13b242a41792e
|
308
|
388
|
tar -xzvf freedombone.tar.gz
|
309
|
|
-cd freedombone
|
|
389
|
+<span class="org-builtin">cd</span> freedombone
|
310
|
390
|
git checkout stretch
|
311
|
391
|
sudo make install
|
312
|
392
|
freedombone-image --setup debian
|
|
@@ -319,7 +399,6 @@ If you don't have Atheros or free software compatible wifi adapter then you can
|
319
|
399
|
</p>
|
320
|
400
|
|
321
|
401
|
<div class="org-src-container">
|
322
|
|
-
|
323
|
402
|
<pre class="src src-bash">freedombone-image -t i386 -v meshclient --insecure yes
|
324
|
403
|
</pre>
|
325
|
404
|
</div>
|
|
@@ -333,7 +412,6 @@ List what drives are on your system with:
|
333
|
412
|
</p>
|
334
|
413
|
|
335
|
414
|
<div class="org-src-container">
|
336
|
|
-
|
337
|
415
|
<pre class="src src-bash">ls /dev/sd*
|
338
|
416
|
</pre>
|
339
|
417
|
</div>
|
|
@@ -347,9 +425,8 @@ You can now copy the image to the USB thumb drive, replacing <b>sdX</b> with the
|
347
|
425
|
</p>
|
348
|
426
|
|
349
|
427
|
<div class="org-src-container">
|
350
|
|
-
|
351
|
|
-<pre class="src src-bash">sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8
|
352
|
|
-sudo dd bs=1M if=myimagefile.img of=/dev/sdX conv=fdatasync
|
|
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>=1M <span class="org-variable-name">count</span>=8
|
|
429
|
+sudo dd <span class="org-variable-name">bs</span>=1M <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
|
353
|
430
|
</pre>
|
354
|
431
|
</div>
|
355
|
432
|
|
|
@@ -370,7 +447,6 @@ You can also use single board computers (SBCs) such as the BeagleBone Black to m
|
370
|
447
|
</p>
|
371
|
448
|
|
372
|
449
|
<div class="org-src-container">
|
373
|
|
-
|
374
|
450
|
<pre class="src src-bash">freedombone-image -t beaglebone -v mesh
|
375
|
451
|
</pre>
|
376
|
452
|
</div>
|