1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Recipe to test the Freedombox project on amd64 or Raspberry Pi
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title">Recipe to test the Freedombox project on amd64 or Raspberry Pi
</div>
24 <div class=
"date">10th September
2013</div>
25 <div class=
"body"><p>I was introduced to the
26 <a href=
"http://www.freedomboxfoundation.org/">Freedombox project
</a>
27 in
2010, when Eben Moglen presented his vision about serving the need
28 of non-technical people to keep their personal information private and
29 within the legal protection of their own homes. The idea is to give
30 people back the power over their network and machines, and return
31 Internet back to its intended peer-to-peer architecture. Instead of
32 depending on a central service, the Freedombox will give everyone
33 control over their own basic infrastructure.
</p>
35 <p>I've intended to join the effort since then, but other tasks have
36 taken priority. But this summers nasty news about the misuse of trust
37 and privilege exercised by the "western" intelligence gathering
38 communities increased my eagerness to contribute to a point where I
39 actually started working on the project a while back.
</p>
41 <p>The
<a href=
"https://alioth.debian.org/projects/freedombox/">initial
42 Debian initiative
</a> based on the vision from Eben Moglen, is to
43 create a simple and cheap Debian based appliance that anyone can hook
44 up in their home and get access to secure and private services and
45 communication. The initial deployment platform have been the
46 <a href=
"http://www.globalscaletechnologies.com/t-dreamplugdetails.aspx">Dreamplug
</a>,
47 which is a piece of hardware I do not own. So to be able to test what
48 the current Freedombox setup look like, I had to come up with a way to install
49 it on some hardware I do have access to. I have rewritten the
50 <a href=
"https://github.com/NickDaly/freedom-maker">freedom-maker
</a>
51 image build framework to use .deb packages instead of only copying
52 setup into the boot images, and thanks to this rewrite I am able to
53 set up any machine supported by Debian Wheezy as a Freedombox, using
54 the previously mentioned deb (and a few support debs for packages
55 missing in Debian).
</p>
57 <p>The current Freedombox setup consist of a set of bootstrapping
59 (
<a href=
"https://github.com/petterreinholdtsen/freedombox-setup">freedombox-setup
</a>),
60 and a administrative web interface
61 (
<a href=
"https://github.com/NickDaly/Plinth">plinth
</a> + exmachina +
62 withsqlite), as well as a privacy enhancing proxy based on
63 <a href=
"http://packages.qa.debian.org/privoxy">privoxy
</a>
64 (freedombox-privoxy). There is also a web/javascript based XMPP
65 client (
<a href=
"http://packages.qa.debian.org/jwchat">jwchat
</a>)
66 trying (unsuccessfully so far) to talk to the XMPP server
67 (
<a href=
"http://packages.qa.debian.org/ejabberd">ejabberd
</a>). The
68 web interface is pluggable, and the goal is to use it to enable OpenID
69 services, mesh network connectivity, use of TOR, etc, etc. Not much of
70 this is really working yet, see
71 <a href=
"https://github.com/NickDaly/freedombox-todos/blob/master/TODO">the
72 project TODO
</a> for links to GIT repositories. Most of the code is
73 on github at the moment. The HTTP proxy is operational out of the
74 box, and the admin web interface can be used to add/remove plinth
75 users. I've not been able to do anything else with it so far, but
76 know there are several branches spread around github and other places
77 with lots of half baked features.
</p>
79 <p>Anyway, if you want to have a look at the current state, the
80 following recipes should work to give you a test machine to poke
83 <p><strong>Debian Wheezy amd64
</strong></p>
87 <li>Fetch normal Debian Wheezy installation ISO.
</li>
88 <li>Boot from it, either as CD or USB stick.
</li>
89 <li><p>Press [tab] on the boot prompt and add this as a boot argument
90 to the Debian installer:
<p>
91 <pre>url=
<a href=
"http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat">http://www.reinholdtsen.name/freedombox/preseed-wheezy.dat
</a></pre></li>
93 <li>Answer the few language/region/password questions and pick disk to
96 <li>When the installation is finished and the machine have rebooted a
97 few times, your Freedombox is ready for testing.
</li>
101 <p><strong>Raspberry Pi Raspbian
</strong></p>
105 <li>Fetch a Raspbian SD card image, create SD card.
</li>
106 <li>Boot from SD card, extend file system to fill the card completely.
</li>
107 <li><p>Log in and add this to /etc/sources.list:
</p>
109 deb
<a href=
"http://www.reinholdtsen.name/freedombox/">http://www.reinholdtsen.name/freedombox
</a> wheezy main
111 <li><p>Run this as root:
</p>
113 wget -O - http://www.reinholdtsen.name/freedombox/BE1A583D.asc | \
116 apt-get install freedombox-setup
117 /usr/lib/freedombox/setup
119 <li>Reboot into your freshly created Freedombox.
</li>
123 <p>You can test it on other architectures too, but because the
124 freedombox-privoxy package is binary, it will only work as intended on
125 the architectures where I have had time to build the binary and put it
126 in my APT repository. But do not let this stop you. It is only a
127 short "
<tt>apt-get source -b freedombox-privoxy
</tt>" away. :)</p>
129 <p>Note that by default Freedombox is a DHCP server on the
130 192.168.1.0/24 subnet, so if this is your subnet be careful and turn
131 off the DHCP server by running "<tt>update-rc.d isc-dhcp-server
132 disable
</tt>" as root.</p>
134 <p>Please let me know if this works for you, or if you have any
135 problems. We gather on the IRC channel
136 <a href="irc://irc.debian.org:
6667/%
23freedombox
">#freedombox</a> on
137 irc.debian.org and the
138 <a href="http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/freedombox-discuss
">project
139 mailing list</a>.</p>
141 <p>Once you get your freedombox operational, you can visit
142 <tt>http://your-host-name:8001/</tt> to see the state of the plint
143 welcome screen (dead end - do not be surprised if you are unable to
144 get past it), and next visit <tt>http://your-host-name:8001/help/</tt>
145 to look at the rest of plinth. The default user is 'admin' and the
146 default password is 'secret'.</p>
149 <div class="tags
">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english
">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox
">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet</a>, <a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance</a>, <a href="http://people.skolelinux.org/pere/blog/tags/web
">web</a>.</div>
167 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
01/
">January (11)</a></li>
169 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
02/
">February (9)</a></li>
171 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
03/
">March (9)</a></li>
173 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
04/
">April (6)</a></li>
175 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
05/
">May (9)</a></li>
177 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
06/
">June (10)</a></li>
179 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
07/
">July (7)</a></li>
181 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
08/
">August (3)</a></li>
183 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
09/
">September (5)</a></li>
185 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
10/
">October (7)</a></li>
187 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
11/
">November (9)</a></li>
189 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
12/
">December (1)</a></li>
196 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
01/
">January (7)</a></li>
198 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
02/
">February (10)</a></li>
200 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
03/
">March (17)</a></li>
202 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
04/
">April (12)</a></li>
204 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
05/
">May (12)</a></li>
206 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
06/
">June (20)</a></li>
208 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
07/
">July (17)</a></li>
210 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
08/
">August (6)</a></li>
212 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
09/
">September (9)</a></li>
214 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
10/
">October (17)</a></li>
216 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
11/
">November (10)</a></li>
218 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
12/
">December (7)</a></li>
225 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
01/
">January (16)</a></li>
227 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
02/
">February (6)</a></li>
229 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
03/
">March (6)</a></li>
231 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
04/
">April (7)</a></li>
233 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
05/
">May (3)</a></li>
235 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
06/
">June (2)</a></li>
237 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
07/
">July (7)</a></li>
239 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
08/
">August (6)</a></li>
241 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
09/
">September (4)</a></li>
243 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
10/
">October (2)</a></li>
245 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
11/
">November (3)</a></li>
247 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
12/
">December (1)</a></li>
254 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
01/
">January (2)</a></li>
256 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
02/
">February (1)</a></li>
258 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
03/
">March (3)</a></li>
260 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
04/
">April (3)</a></li>
262 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
05/
">May (9)</a></li>
264 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
06/
">June (14)</a></li>
266 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
07/
">July (12)</a></li>
268 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
08/
">August (13)</a></li>
270 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
09/
">September (7)</a></li>
272 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
10/
">October (9)</a></li>
274 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
11/
">November (13)</a></li>
276 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
12/
">December (12)</a></li>
283 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
01/
">January (8)</a></li>
285 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
02/
">February (8)</a></li>
287 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
03/
">March (12)</a></li>
289 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
04/
">April (10)</a></li>
291 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
05/
">May (9)</a></li>
293 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
06/
">June (3)</a></li>
295 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
07/
">July (4)</a></li>
297 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
08/
">August (3)</a></li>
299 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
09/
">September (1)</a></li>
301 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
10/
">October (2)</a></li>
303 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
11/
">November (3)</a></li>
305 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
12/
">December (3)</a></li>
312 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
11/
">November (5)</a></li>
314 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
12/
">December (7)</a></li>
325 <li><a href="http://people.skolelinux.org/pere/blog/tags/
3d-printer
">3d-printer (13)</a></li>
327 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga
">amiga (1)</a></li>
329 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros
">aros (1)</a></li>
331 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid
">bankid (4)</a></li>
333 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin
">bitcoin (7)</a></li>
335 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem
">bootsystem (13)</a></li>
337 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa
">bsa (2)</a></li>
339 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian (91)</a></li>
341 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu
">debian edu (143)</a></li>
343 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan
">digistan (10)</a></li>
345 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook
">docbook (10)</a></li>
347 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser
">drivstoffpriser (4)</a></li>
349 <li><a href="http://people.skolelinux.org/pere/blog/tags/english
">english (231)</a></li>
351 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami
">fiksgatami (21)</a></li>
353 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling
">fildeling (12)</a></li>
355 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture
">freeculture (12)</a></li>
357 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox
">freedombox (5)</a></li>
359 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen
">frikanalen (11)</a></li>
361 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju
">intervju (38)</a></li>
363 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram
">isenkram (7)</a></li>
365 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart
">kart (18)</a></li>
367 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap
">ldap (8)</a></li>
369 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker
">lenker (6)</a></li>
371 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp
">ltsp (1)</a></li>
373 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network
">mesh network (6)</a></li>
375 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia (25)</a></li>
377 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk
">norsk (238)</a></li>
379 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug
">nuug (160)</a></li>
381 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn
">offentlig innsyn (9)</a></li>
383 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311
">open311 (2)</a></li>
385 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett
">opphavsrett (45)</a></li>
387 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern
">personvern (67)</a></li>
389 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid
">raid (1)</a></li>
391 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap
">reprap (11)</a></li>
393 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid
">rfid (2)</a></li>
395 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot
">robot (9)</a></li>
397 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss
">rss (1)</a></li>
399 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter
">ruter (4)</a></li>
401 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki
">scraperwiki (2)</a></li>
403 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet (33)</a></li>
405 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary
">sitesummary (4)</a></li>
407 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis
">skepsis (4)</a></li>
409 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard
">standard (44)</a></li>
411 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll
">stavekontroll (3)</a></li>
413 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget
">stortinget (9)</a></li>
415 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance (21)</a></li>
417 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin
">sysadmin (1)</a></li>
419 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg
">valg (8)</a></li>
421 <li><a href="http://people.skolelinux.org/pere/blog/tags/video
">video (39)</a></li>
423 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap
">vitenskap (4)</a></li>
425 <li><a href="http://people.skolelinux.org/pere/blog/tags/web
">web (28)</a></li>
431 <p style="text-align: right
">
432 Created by <a href="http://steve.org.uk/Software/chronicle
">Chronicle v4.6</a>