Switch image links to 3.1

This commit is contained in:
Bob Mottram 2018-04-15 18:27:48 +01:00
parent c02e6b6479
commit 8161704e10
3 changed files with 440 additions and 201 deletions

View File

@ -3,26 +3,33 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<title></title> <!-- 2018-04-15 Sun 18:22 -->
<!-- 2018-04-12 Thu 12:50 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Org-mode" /> <title>&lrm;</title>
<meta name="author" content="Bob Mottram" /> <meta name="generator" content="Org mode" />
<meta name="description" content="List of supported ARM boards" <meta name="author" content="Bob Mottram" />
<meta name="description" content="List of supported ARM boards"
/> />
<meta name="keywords" content="freedombone, arm board, SBC, single board computer" /> <meta name="keywords" content="freedombone, arm board, SBC, single board computer" />
<style type="text/css"> <style type="text/css">
<!--/*--><![CDATA[/*><!--*/ <!--/*--><![CDATA[/*><!--*/
.title { text-align: center; } .title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; } .todo { font-family: monospace; color: red; }
.done { color: green; } .done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace; .tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; } padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; } .timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; } .timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; } .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; } .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; } .org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; } .underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; } #postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; } p.verse { margin-left: 3%; }
@ -49,27 +56,111 @@
border: 1px solid black; border: 1px solid black;
} }
pre.src:hover:before { display: inline;} pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; } /* Languages per Org manual */
pre.src-bash:before { content: 'sh'; } pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; } pre.src-fortran:before { content: 'Fortran'; }
pre.src-perl:before { content: 'Perl'; } pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-java:before { content: 'Java'; } pre.src-haskell:before { content: 'Haskell'; }
pre.src-sql:before { content: 'SQL'; } pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; } table { border-collapse:collapse; }
caption.t-above { caption-side: top; } caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; } caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; } td, th { vertical-align:top; }
th.right { text-align: center; } th.org-right { text-align: center; }
th.left { text-align: center; } th.org-left { text-align: center; }
th.center { text-align: center; } th.org-center { text-align: center; }
td.right { text-align: right; } td.org-right { text-align: right; }
td.left { text-align: left; } td.org-left { text-align: left; }
td.center { text-align: center; } td.org-center { text-align: center; }
dt { font-weight: bold; } dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; } .footpara { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; } .footdef { margin-bottom: 1em; }
.figure { padding: 1em; } .figure { padding: 1em; }
.figure p { text-align: center; } .figure p { text-align: center; }
@ -89,6 +180,7 @@
{ font-size: 10px; font-weight: bold; white-space: nowrap; } { font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight .org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; } { background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/--> /*]]>*/-->
</style> </style>
<link rel="stylesheet" type="text/css" href="freedombone.css" /> <link rel="stylesheet" type="text/css" href="freedombone.css" />
@ -97,7 +189,7 @@
@licstart The following is the entire license notice for the @licstart The following is the entire license notice for the
JavaScript code in this tag. JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc. Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU redistribute it and/or modify it under the terms of the GNU
@ -144,49 +236,36 @@ for the JavaScript code in this tag.
<a name="top" id="top"></a> <a name="top" id="top"></a>
</div> </div>
<div id="content"> <div id="content">
<h1 class="title"></h1>
<div class="figure"> <div class="figure">
<p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" /> <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
</p> </p>
</div> </div>
<div id="outline-container-sec-1" class="outline-2"> <div id="outline-container-org8a04b66" class="outline-2">
<h2 id="sec-1">Supported ARM boards</h2> <h2 id="org8a04b66">Supported ARM boards</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-org8a04b66">
<p> <p>
The following ARM boards are supported by the build system. If your board isn't listed here then you may still be able to install Freedombone using <a href="./armbian.html">Armbian</a>. The following ARM boards are supported by the build system. If your board isn't listed here then you may still be able to install Freedombone using <a href="./armbian.html">Armbian</a>.
</p> </p>
<ul class="org-ul"> <ul class="org-ul">
<li><a href="./downloads/current/freedombone-current-beaglebone-armhf.img.xz">beaglebone</a> <li><a href="./downloads/v31/freedombone-beaglebone-armhf.img.xz">beaglebone</a></li>
</li> <li><a href="./downloads/v31/freedombone-cubieboard2-armhf.img.xz">cubieboard2</a></li>
<li><a href="./downloads/current/freedombone-current-cubieboard2-armhf.img.xz">cubieboard2</a> <li><a href="./downloads/v31/freedombone-cubietruck-armhf.img.xz">cubietruck</a></li>
</li> <li><a href="./downloads/v31/freedombone-pcduino3-armhf.img.xz">pcduino3</a></li>
<li><a href="./downloads/current/freedombone-current-cubietruck-armhf.img.xz">cubietruck</a> <li>a20-olinuxino-lime</li>
</li> <li>a20-olinuxino-lime2</li>
<li><a href="./downloads/current/freedombone-current-pcduino3-armhf.img.xz">pcduino3</a> <li>a20-olinuxino-micro</li>
</li>
<li>a20-olinuxino-lime
</li>
<li>a20-olinuxino-lime2
</li>
<li>a20-olinuxino-micro
</li>
</ul> </ul>
<p> <p>
The latest image builds can be <a href="./downloads/current">found here</a>. The latest image builds can be <a href="./downloads/current">found here</a>.
</p> </p>
<div class="export"> <center>
<p> Return to the <a href="index.html">home page</a>
&lt;center&gt; </center>
Return to the &lt;a href="index.html"&gt;home page&lt;/a&gt;
&lt;/center&gt;
</p>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -3,26 +3,33 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<title></title> <!-- 2018-04-15 Sun 18:25 -->
<!-- 2018-04-12 Thu 18:25 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Org-mode" /> <title>&lrm;</title>
<meta name="author" content="Bob Mottram" /> <meta name="generator" content="Org mode" />
<meta name="description" content="Freedombone mesh network images" <meta name="author" content="Bob Mottram" />
<meta name="description" content="Freedombone mesh network images"
/> />
<meta name="keywords" content="freedombone, mesh" /> <meta name="keywords" content="freedombone, mesh" />
<style type="text/css"> <style type="text/css">
<!--/*--><![CDATA[/*><!--*/ <!--/*--><![CDATA[/*><!--*/
.title { text-align: center; } .title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; } .todo { font-family: monospace; color: red; }
.done { color: green; } .done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace; .tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; } padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; } .timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; } .timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; } .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; } .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; } .org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; } .underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; } #postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; } p.verse { margin-left: 3%; }
@ -49,27 +56,111 @@
border: 1px solid black; border: 1px solid black;
} }
pre.src:hover:before { display: inline;} pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; } /* Languages per Org manual */
pre.src-bash:before { content: 'sh'; } pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; } pre.src-fortran:before { content: 'Fortran'; }
pre.src-perl:before { content: 'Perl'; } pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-java:before { content: 'Java'; } pre.src-haskell:before { content: 'Haskell'; }
pre.src-sql:before { content: 'SQL'; } pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; } table { border-collapse:collapse; }
caption.t-above { caption-side: top; } caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; } caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; } td, th { vertical-align:top; }
th.right { text-align: center; } th.org-right { text-align: center; }
th.left { text-align: center; } th.org-left { text-align: center; }
th.center { text-align: center; } th.org-center { text-align: center; }
td.right { text-align: right; } td.org-right { text-align: right; }
td.left { text-align: left; } td.org-left { text-align: left; }
td.center { text-align: center; } td.org-center { text-align: center; }
dt { font-weight: bold; } dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; } .footpara { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; } .footdef { margin-bottom: 1em; }
.figure { padding: 1em; } .figure { padding: 1em; }
.figure p { text-align: center; } .figure p { text-align: center; }
@ -89,6 +180,7 @@
{ font-size: 10px; font-weight: bold; white-space: nowrap; } { font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight .org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; } { background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/--> /*]]>*/-->
</style> </style>
<link rel="stylesheet" type="text/css" href="freedombone.css" /> <link rel="stylesheet" type="text/css" href="freedombone.css" />
@ -97,7 +189,7 @@
@licstart The following is the entire license notice for the @licstart The following is the entire license notice for the
JavaScript code in this tag. JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc. Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU redistribute it and/or modify it under the terms of the GNU
@ -144,23 +236,23 @@ for the JavaScript code in this tag.
<a name="top" id="top"></a> <a name="top" id="top"></a>
</div> </div>
<div id="content"> <div id="content">
<h1 class="title"></h1>
<div class="figure"> <div class="figure">
<p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" /> <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
</p> </p>
</div> </div>
<div id="outline-container-sec-1" class="outline-2"> <div id="outline-container-orgd03cecc" class="outline-2">
<h2 id="sec-1">Mesh Network: Images</h2> <h2 id="orgd03cecc">Mesh Network: Images</h2>
</div> </div>
<div id="outline-container-sec-2" class="outline-2"> <div id="outline-container-org2613bbd" class="outline-2">
<h2 id="sec-2">Pre-built Disk Images</h2> <h2 id="org2613bbd">Pre-built Disk Images</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-org2613bbd">
</div><div id="outline-container-sec-2-1" class="outline-3"> </div>
<h3 id="sec-2-1">Writing many images quickly</h3> <div id="outline-container-org3cdda6d" class="outline-3">
<div class="outline-text-3" id="text-2-1"> <h3 id="org3cdda6d">Writing many images quickly</h3>
<div class="outline-text-3" id="text-org3cdda6d">
<p> <p>
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>. 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>.
</p> </p>
@ -170,7 +262,6 @@ For example on Arch/Parabola:
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo pacman -S gnome-multi-writer <pre class="src src-bash">sudo pacman -S gnome-multi-writer
</pre> </pre>
</div> </div>
@ -180,7 +271,6 @@ Or on Debian based systems:
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo apt-get install gnome-multi-writer <pre class="src src-bash">sudo apt-get install gnome-multi-writer
</pre> </pre>
</div> </div>
@ -190,9 +280,9 @@ The MultiWriter tool is also available within mesh client images, so that you ca
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-sec-2-2" class="outline-3"> <div id="outline-container-org41f717a" class="outline-3">
<h3 id="sec-2-2">Client images</h3> <h3 id="org41f717a">Client images</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-org41f717a">
<div class="figure"> <div class="figure">
<p><img src="images/mesh_netbook.jpg" alt="mesh_netbook.jpg" width="100%" align="center" /> <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
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo apt-get install xz-utils wget <pre class="src src-bash">sudo apt-get install xz-utils wget
wget https://freedombone.net/downloads/current/freedombone-meshclient-i386.img.xz wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz
wget https://freedombone.net/downloads/current/freedombone-meshclient-i386.img.xz.sig wget https://freedombone.net/downloads/v31/freedombone-meshclient-i386.img.xz.sig
gpg --verify freedombone-meshclient-i386.img.xz.sig gpg --verify freedombone-meshclient-i386.img.xz.sig
sha256sum freedombone-meshclient-i386.img.xz
49391230de6a4f1966db091813deb8f9d93c947677f5483baa52400d7fcba7d3
unxz freedombone-meshclient-i386.img.xz unxz freedombone-meshclient-i386.img.xz
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8 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
sudo dd bs=1M if=freedombone-meshclient-i386.img of=/dev/sdX conv=fdatasync 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
</pre> </pre>
</div> </div>
@ -226,31 +313,28 @@ If you're in an emergency and don't have Atheros wifi dongles then there is also
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo apt-get install xz-utils wget <pre class="src src-bash">sudo apt-get install xz-utils wget
wget https://freedombone.net/downloads/current/freedombone-meshclient-insecure-i386.img.xz wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz
wget https://freedombone.net/downloads/current/freedombone-meshclient-insecure-i386.img.xz.sig wget https://freedombone.net/downloads/v31/freedombone-meshclient-insecure-i386.img.xz.sig
gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig gpg --verify freedombone-meshclient-insecure-i386.img.xz.sig
sha256sum freedombone-meshclient-insecure-i386.img.xz
c11783741e66df5072ffcbef8d9b04260a2298d84e33c72fefa4bb539d094810
unxz freedombone-meshclient-insecure-i386.img.xz unxz freedombone-meshclient-insecure-i386.img.xz
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8 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
sudo dd bs=1M if=freedombone-meshclient-insecure-i386.img of=/dev/sdX conv=fdatasync 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
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-sec-2-3" class="outline-3"> <div id="outline-container-orgbe3f97e" class="outline-3">
<h3 id="sec-2-3">Router images</h3> <h3 id="orgbe3f97e">Router images</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-orgbe3f97e">
<p> <p>
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. 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.
</p> </p>
</div> </div>
<div id="outline-container-sec-2-3-1" class="outline-4"> <div id="outline-container-org1859392" class="outline-4">
<h4 id="sec-2-3-1">Beaglebone Black</h4> <h4 id="org1859392">Beaglebone Black</h4>
<div class="outline-text-4" id="text-2-3-1"> <div class="outline-text-4" id="text-org1859392">
<div class="figure"> <div class="figure">
<p><img src="images/mesh_router.jpg" alt="mesh_router.jpg" width="50%" align="center" /> <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
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo apt-get install xz-utils wget <pre class="src src-bash">sudo apt-get install xz-utils wget
wget https://freedombone.net/downloads/current/freedombone-mesh_beaglebone-armhf.img.xz wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz
wget https://freedombone.net/downloads/current/freedombone-mesh_beaglebone-armhf.img.xz.sig wget https://freedombone.net/downloads/v31/freedombone-mesh_beaglebone-armhf.img.xz.sig
gpg --verify freedombone-mesh_beaglebone-armhf.img.xz.sig gpg --verify freedombone-mesh_beaglebone-armhf.img.xz.sig
sha256sum freedombone-mesh_beaglebone-armhf.img.xz sha256sum freedombone-mesh_beaglebone-armhf.img.xz
ad8f22c0d46c98a80aa47b5809402971cf5cf26ebf587c59a667307b2386c3d2 ad8f22c0d46c98a80aa47b5809402971cf5cf26ebf587c59a667307b2386c3d2
unxz freedombone-mesh_beaglebone-armhf.img.xz unxz freedombone-mesh_beaglebone-armhf.img.xz
sudo dd bs=1M if=freedombone-mesh_beaglebone-armhf.img of=/dev/sdX conv=fdatasync 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
</pre> </pre>
</div> </div>
@ -286,9 +369,9 @@ There is still a software freedom issue with the Beaglebone Black, but it doesn'
</div> </div>
</div> </div>
<div id="outline-container-sec-3" class="outline-2"> <div id="outline-container-orgf16e84d" class="outline-2">
<h2 id="sec-3">Building Disk Images</h2> <h2 id="orgf16e84d">Building Disk Images</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-orgf16e84d">
<p> <p>
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. 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.
</p> </p>
@ -298,15 +381,12 @@ First you will need to create an image. On a Debian based system (tested on Debi
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo apt-get -y install git wget build-essential <pre class="src src-bash">sudo apt-get -y install git wget build-essential
wget https://freedombone.net/downloads/current/freedombone.tar.gz wget https://freedombone.net/downloads/v31/freedombone.tar.gz
wget https://freedombone.net/downloads/current/freedombone.tar.gz.sig wget https://freedombone.net/downloads/v31/freedombone.tar.gz.sig
gpg --verify freedombone.tar.gz.sig gpg --verify freedombone.tar.gz.sig
sha256sum freedombone.tar.gz
afbb536564140aa28c6491d45b7474ced5a0b018539ffd3e96b13b242a41792e
tar -xzvf freedombone.tar.gz tar -xzvf freedombone.tar.gz
cd freedombone <span class="org-builtin">cd</span> freedombone
git checkout stretch git checkout stretch
sudo make install sudo make install
freedombone-image --setup debian freedombone-image --setup debian
@ -319,7 +399,6 @@ If you don't have Atheros or free software compatible wifi adapter then you can
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">freedombone-image -t i386 -v meshclient --insecure yes <pre class="src src-bash">freedombone-image -t i386 -v meshclient --insecure yes
</pre> </pre>
</div> </div>
@ -333,7 +412,6 @@ List what drives are on your system with:
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">ls /dev/sd* <pre class="src src-bash">ls /dev/sd*
</pre> </pre>
</div> </div>
@ -347,9 +425,8 @@ You can now copy the image to the USB thumb drive, replacing <b>sdX</b> with the
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<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
<pre class="src src-bash">sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8 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
sudo dd bs=1M if=myimagefile.img of=/dev/sdX conv=fdatasync
</pre> </pre>
</div> </div>
@ -370,7 +447,6 @@ You can also use single board computers (SBCs) such as the BeagleBone Black to m
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">freedombone-image -t beaglebone -v mesh <pre class="src src-bash">freedombone-image -t beaglebone -v mesh
</pre> </pre>
</div> </div>

View File

@ -3,26 +3,33 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<title></title> <!-- 2018-04-15 Sun 18:26 -->
<!-- 2018-04-12 Thu 13:27 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="generator" content="Org-mode" /> <title>&lrm;</title>
<meta name="author" content="Bob Mottram" /> <meta name="generator" content="Org mode" />
<meta name="description" content="Social Instance" <meta name="author" content="Bob Mottram" />
<meta name="description" content="Social Instance"
/> />
<meta name="keywords" content="freedombone, debian, social, fediverse, instance, pleroma, gnusocial, postactiv" /> <meta name="keywords" content="freedombone, debian, social, fediverse, instance, pleroma, gnusocial, postactiv" />
<style type="text/css"> <style type="text/css">
<!--/*--><![CDATA[/*><!--*/ <!--/*--><![CDATA[/*><!--*/
.title { text-align: center; } .title { text-align: center;
margin-bottom: .2em; }
.subtitle { text-align: center;
font-size: medium;
font-weight: bold;
margin-top:0; }
.todo { font-family: monospace; color: red; } .todo { font-family: monospace; color: red; }
.done { color: green; } .done { font-family: monospace; color: green; }
.priority { font-family: monospace; color: orange; }
.tag { background-color: #eee; font-family: monospace; .tag { background-color: #eee; font-family: monospace;
padding: 2px; font-size: 80%; font-weight: normal; } padding: 2px; font-size: 80%; font-weight: normal; }
.timestamp { color: #bebebe; } .timestamp { color: #bebebe; }
.timestamp-kwd { color: #5f9ea0; } .timestamp-kwd { color: #5f9ea0; }
.right { margin-left: auto; margin-right: 0px; text-align: right; } .org-right { margin-left: auto; margin-right: 0px; text-align: right; }
.left { margin-left: 0px; margin-right: auto; text-align: left; } .org-left { margin-left: 0px; margin-right: auto; text-align: left; }
.center { margin-left: auto; margin-right: auto; text-align: center; } .org-center { margin-left: auto; margin-right: auto; text-align: center; }
.underline { text-decoration: underline; } .underline { text-decoration: underline; }
#postamble p, #preamble p { font-size: 90%; margin: .2em; } #postamble p, #preamble p { font-size: 90%; margin: .2em; }
p.verse { margin-left: 3%; } p.verse { margin-left: 3%; }
@ -49,27 +56,111 @@
border: 1px solid black; border: 1px solid black;
} }
pre.src:hover:before { display: inline;} pre.src:hover:before { display: inline;}
pre.src-sh:before { content: 'sh'; } /* Languages per Org manual */
pre.src-bash:before { content: 'sh'; } pre.src-asymptote:before { content: 'Asymptote'; }
pre.src-awk:before { content: 'Awk'; }
pre.src-C:before { content: 'C'; }
/* pre.src-C++ doesn't work in CSS */
pre.src-clojure:before { content: 'Clojure'; }
pre.src-css:before { content: 'CSS'; }
pre.src-D:before { content: 'D'; }
pre.src-ditaa:before { content: 'ditaa'; }
pre.src-dot:before { content: 'Graphviz'; }
pre.src-calc:before { content: 'Emacs Calc'; }
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
pre.src-R:before { content: 'R'; } pre.src-fortran:before { content: 'Fortran'; }
pre.src-perl:before { content: 'Perl'; } pre.src-gnuplot:before { content: 'gnuplot'; }
pre.src-java:before { content: 'Java'; } pre.src-haskell:before { content: 'Haskell'; }
pre.src-sql:before { content: 'SQL'; } pre.src-hledger:before { content: 'hledger'; }
pre.src-java:before { content: 'Java'; }
pre.src-js:before { content: 'Javascript'; }
pre.src-latex:before { content: 'LaTeX'; }
pre.src-ledger:before { content: 'Ledger'; }
pre.src-lisp:before { content: 'Lisp'; }
pre.src-lilypond:before { content: 'Lilypond'; }
pre.src-lua:before { content: 'Lua'; }
pre.src-matlab:before { content: 'MATLAB'; }
pre.src-mscgen:before { content: 'Mscgen'; }
pre.src-ocaml:before { content: 'Objective Caml'; }
pre.src-octave:before { content: 'Octave'; }
pre.src-org:before { content: 'Org mode'; }
pre.src-oz:before { content: 'OZ'; }
pre.src-plantuml:before { content: 'Plantuml'; }
pre.src-processing:before { content: 'Processing.js'; }
pre.src-python:before { content: 'Python'; }
pre.src-R:before { content: 'R'; }
pre.src-ruby:before { content: 'Ruby'; }
pre.src-sass:before { content: 'Sass'; }
pre.src-scheme:before { content: 'Scheme'; }
pre.src-screen:before { content: 'Gnu Screen'; }
pre.src-sed:before { content: 'Sed'; }
pre.src-sh:before { content: 'shell'; }
pre.src-sql:before { content: 'SQL'; }
pre.src-sqlite:before { content: 'SQLite'; }
/* additional languages in org.el's org-babel-load-languages alist */
pre.src-forth:before { content: 'Forth'; }
pre.src-io:before { content: 'IO'; }
pre.src-J:before { content: 'J'; }
pre.src-makefile:before { content: 'Makefile'; }
pre.src-maxima:before { content: 'Maxima'; }
pre.src-perl:before { content: 'Perl'; }
pre.src-picolisp:before { content: 'Pico Lisp'; }
pre.src-scala:before { content: 'Scala'; }
pre.src-shell:before { content: 'Shell Script'; }
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
/* additional language identifiers per "defun org-babel-execute"
in ob-*.el */
pre.src-cpp:before { content: 'C++'; }
pre.src-abc:before { content: 'ABC'; }
pre.src-coq:before { content: 'Coq'; }
pre.src-groovy:before { content: 'Groovy'; }
/* additional language identifiers from org-babel-shell-names in
ob-shell.el: ob-shell is the only babel language using a lambda to put
the execution function name together. */
pre.src-bash:before { content: 'bash'; }
pre.src-csh:before { content: 'csh'; }
pre.src-ash:before { content: 'ash'; }
pre.src-dash:before { content: 'dash'; }
pre.src-ksh:before { content: 'ksh'; }
pre.src-mksh:before { content: 'mksh'; }
pre.src-posh:before { content: 'posh'; }
/* Additional Emacs modes also supported by the LaTeX listings package */
pre.src-ada:before { content: 'Ada'; }
pre.src-asm:before { content: 'Assembler'; }
pre.src-caml:before { content: 'Caml'; }
pre.src-delphi:before { content: 'Delphi'; }
pre.src-html:before { content: 'HTML'; }
pre.src-idl:before { content: 'IDL'; }
pre.src-mercury:before { content: 'Mercury'; }
pre.src-metapost:before { content: 'MetaPost'; }
pre.src-modula-2:before { content: 'Modula-2'; }
pre.src-pascal:before { content: 'Pascal'; }
pre.src-ps:before { content: 'PostScript'; }
pre.src-prolog:before { content: 'Prolog'; }
pre.src-simula:before { content: 'Simula'; }
pre.src-tcl:before { content: 'tcl'; }
pre.src-tex:before { content: 'TeX'; }
pre.src-plain-tex:before { content: 'Plain TeX'; }
pre.src-verilog:before { content: 'Verilog'; }
pre.src-vhdl:before { content: 'VHDL'; }
pre.src-xml:before { content: 'XML'; }
pre.src-nxml:before { content: 'XML'; }
/* add a generic configuration mode; LaTeX export needs an additional
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
pre.src-conf:before { content: 'Configuration File'; }
table { border-collapse:collapse; } table { border-collapse:collapse; }
caption.t-above { caption-side: top; } caption.t-above { caption-side: top; }
caption.t-bottom { caption-side: bottom; } caption.t-bottom { caption-side: bottom; }
td, th { vertical-align:top; } td, th { vertical-align:top; }
th.right { text-align: center; } th.org-right { text-align: center; }
th.left { text-align: center; } th.org-left { text-align: center; }
th.center { text-align: center; } th.org-center { text-align: center; }
td.right { text-align: right; } td.org-right { text-align: right; }
td.left { text-align: left; } td.org-left { text-align: left; }
td.center { text-align: center; } td.org-center { text-align: center; }
dt { font-weight: bold; } dt { font-weight: bold; }
.footpara:nth-child(2) { display: inline; } .footpara { display: inline; }
.footpara { display: block; }
.footdef { margin-bottom: 1em; } .footdef { margin-bottom: 1em; }
.figure { padding: 1em; } .figure { padding: 1em; }
.figure p { text-align: center; } .figure p { text-align: center; }
@ -89,6 +180,7 @@
{ font-size: 10px; font-weight: bold; white-space: nowrap; } { font-size: 10px; font-weight: bold; white-space: nowrap; }
.org-info-js_search-highlight .org-info-js_search-highlight
{ background-color: #ffff00; color: #000000; font-weight: bold; } { background-color: #ffff00; color: #000000; font-weight: bold; }
.org-svg { width: 90%; }
/*]]>*/--> /*]]>*/-->
</style> </style>
<link rel="stylesheet" type="text/css" href="freedombone.css" /> <link rel="stylesheet" type="text/css" href="freedombone.css" />
@ -97,7 +189,7 @@
@licstart The following is the entire license notice for the @licstart The following is the entire license notice for the
JavaScript code in this tag. JavaScript code in this tag.
Copyright (C) 2012-2013 Free Software Foundation, Inc. Copyright (C) 2012-2017 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU redistribute it and/or modify it under the terms of the GNU
@ -144,31 +236,25 @@ for the JavaScript code in this tag.
<a name="top" id="top"></a> <a name="top" id="top"></a>
</div> </div>
<div id="content"> <div id="content">
<h1 class="title"></h1>
<div class="figure"> <div class="figure">
<p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" /> <p><img src="images/logo.png" alt="logo.png" width="80%" height="10%" align="center" />
</p> </p>
</div> </div>
<div id="outline-container-sec-1" class="outline-2"> <div id="outline-container-org3a57e54" class="outline-2">
<h2 id="sec-1">Social Instance</h2> <h2 id="org3a57e54">Social Instance</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-org3a57e54">
<p> <p>
A social instance image allows you to easily set up a fediverse server, which federates using the OStatus or ActivityPub protocol. You will need: A social instance image allows you to easily set up a fediverse server, which federates using the OStatus or ActivityPub protocol. You will need:
</p> </p>
<ul class="org-ul"> <ul class="org-ul">
<li>An old laptop, capable of booting from USB <li>An old laptop, capable of booting from USB</li>
</li> <li>A USB drive, preferably Sandisk and 16GB or larger</li>
<li>A USB drive, preferably Sandisk and 16GB or larger <li>An ethernet patch cable</li>
</li> <li>A domain name of your own</li>
<li>An ethernet patch cable <li>A dynamic DNS account</li>
</li>
<li>A domain name of your own
</li>
<li>A dynamic DNS account
</li>
</ul> </ul>
<p> <p>
@ -177,22 +263,21 @@ The installation process is the same as usual, with the only difference being th
</div> </div>
</div> </div>
<div id="outline-container-sec-2" class="outline-2"> <div id="outline-container-orgb2f2066" class="outline-2">
<h2 id="sec-2">Copy the image to the USB drive</h2> <h2 id="orgb2f2066">Copy the image to the USB drive</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-orgb2f2066">
<p> <p>
Substitute <b>sdX</b> with the device name for your USB drive. Substitute <b>sdX</b> with the device name for your USB drive.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">sudo apt-get install xz-utils wget <pre class="src src-bash">sudo apt-get install xz-utils wget
wget https://freedombone.net/downloads/current/freedombone-pleroma-amd64.img.xz wget https://freedombone.net/downloads/v31/freedombone-pleroma-amd64.img.xz
wget https://freedombone.net/downloads/current/freedombone-pleroma-amd64.img.xz.sig wget https://freedombone.net/downloads/v31/freedombone-pleroma-amd64.img.xz.sig
gpg --verify freedombone-pleroma-amd64.img.xz.sig gpg --verify freedombone-pleroma-amd64.img.xz.sig
unxz freedombone-pleroma-amd64.img.xz unxz freedombone-pleroma-amd64.img.xz
sudo dd if=/dev/zero of=/dev/sdX bs=1M count=8 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
sudo dd bs=1M if=freedombone-pleroma-amd64.img of=/dev/sdX conv=fdatasync sudo dd <span class="org-variable-name">bs</span>=1M <span class="org-variable-name">if</span>=freedombone-pleroma-amd64.img <span class="org-variable-name">of</span>=/dev/sdX <span class="org-variable-name">conv</span>=fdatasync
</pre> </pre>
</div> </div>
@ -202,9 +287,9 @@ Also note that if the laptop has a removable SSD drive it's possible to copy the
</div> </div>
</div> </div>
<div id="outline-container-sec-3" class="outline-2"> <div id="outline-container-orgb12b5ef" class="outline-2">
<h2 id="sec-3">Connect the laptop to your internet router</h2> <h2 id="orgb12b5ef">Connect the laptop to your internet router</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-orgb12b5ef">
<p> <p>
Plug the USB drive into the laptop and connect it to your internet router with the ethernet cable. Plug the USB drive into the laptop and connect it to your internet router with the ethernet cable.
</p> </p>
@ -217,9 +302,9 @@ Plug the USB drive into the laptop and connect it to your internet router with t
</div> </div>
</div> </div>
<div id="outline-container-sec-4" class="outline-2"> <div id="outline-container-org32addf2" class="outline-2">
<h2 id="sec-4">Boot the laptop from the USB drive</h2> <h2 id="org32addf2">Boot the laptop from the USB drive</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-org32addf2">
<p> <p>
You may need to alter the BIOS settings to get this to work reliably. You may need to alter the BIOS settings to get this to work reliably.
</p> </p>
@ -232,9 +317,9 @@ You may need to alter the BIOS settings to get this to work reliably.
</div> </div>
</div> </div>
<div id="outline-container-sec-5" class="outline-2"> <div id="outline-container-org6417b90" class="outline-2">
<h2 id="sec-5">Forward ports 80 (HTTP) and 443 (HTTPS) from your internet router to the laptop</h2> <h2 id="org6417b90">Forward ports 80 (HTTP) and 443 (HTTPS) from your internet router to the laptop</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-org6417b90">
<p> <p>
Log into your internet router using a non-Tor browser (usually it's on an address like 192.168.1.1 or 192.168.1.254). Often port forwarding settings are together with firewall settings. Log into your internet router using a non-Tor browser (usually it's on an address like 192.168.1.1 or 192.168.1.254). Often port forwarding settings are together with firewall settings.
</p> </p>
@ -247,11 +332,10 @@ Log into your internet router using a non-Tor browser (usually it's on an addres
</div> </div>
</div> </div>
<div id="outline-container-sec-6" class="outline-2"> <div id="outline-container-orga1248fc" class="outline-2">
<h2 id="sec-6">From another machine ssh into the laptop</h2> <h2 id="orga1248fc">From another machine ssh into the laptop</h2>
<div class="outline-text-2" id="text-6"> <div class="outline-text-2" id="text-orga1248fc">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-bash">ssh fbone@freedombone.local -p 2222 <pre class="src src-bash">ssh fbone@freedombone.local -p 2222
</pre> </pre>
</div> </div>
@ -262,18 +346,18 @@ Or alternatively you can log in directly on the laptop. The initial username is
</div> </div>
</div> </div>
<div id="outline-container-sec-7" class="outline-2"> <div id="outline-container-orge7dea9e" class="outline-2">
<h2 id="sec-7">Follow the setup procedure</h2> <h2 id="orge7dea9e">Follow the setup procedure</h2>
<div class="outline-text-2" id="text-7"> <div class="outline-text-2" id="text-orge7dea9e">
<p> <p>
Enter your user details, domain name and dynamic DNS settings. Enter your user details, domain name and dynamic DNS settings.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-sec-8" class="outline-2"> <div id="outline-container-orgde5ef18" class="outline-2">
<h2 id="sec-8">When installation is complete</h2> <h2 id="orgde5ef18">When installation is complete</h2>
<div class="outline-text-2" id="text-8"> <div class="outline-text-2" id="text-orgde5ef18">
<p> <p>
Navigate to your domain and register a new user. Navigate to your domain and register a new user.
</p> </p>