- <div class="title"><a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">Oslo community mesh network - with NUUG and Hackeriet at Hausmania</a></div>
- <div class="date">11th October 2013</div>
- <div class="body"><p>Wireless mesh networks are self organising and self healing
-networks that can be used to connect computers across small and large
-areas, depending on the radio technology used. Normal wifi equipment
-can be used to create home made radio networks, and there are several
-successful examples like
-<a href="http://www.freifunk.net/">Freifunk</a> and
-<a href="http://www.awmn.net/">Athens Wireless Metropolitan Network</a>
-(see
-<a href="http://en.wikipedia.org/wiki/List_of_wireless_community_networks_by_region#Greece">wikipedia
-for a large list</a>) around the globe. To give you an idea how it
-work, check out the nice overview of the Kiel Freifunk community which
-can be seen from their
-<a href="http://freifunk.in-kiel.de/ffmap/nodes.html">dynamically
-updated node graph and map</a>, where one can see how the mesh nodes
-automatically handle routing and recover from nodes disappearing.
-There is also a small community mesh network group in Oslo, Norway,
-and that is the main topic of this blog post.</p>
-
-<p>I've wanted to check out mesh networks for a while now, and hoped
-to do it as part of my involvement with the <a
-href="http://www.nuug.no/">NUUG member organisation</a> community, and
-my recent involvement in
-<a href="https://wiki.debian.org/FreedomBox">the Freedombox project</a>
-finally lead me to give mesh networks some priority, as I suspect a
-Freedombox should use mesh networks to connect neighbours and family
-when possible, given that most communication between people are
-between those nearby (as shown for example by research on Facebook
-communication patterns). It also allow people to communicate without
-any central hub to tap into for those that want to listen in on the
-private communication of citizens, which have become more and more
-important over the years.</p>
-
-<p>So far I have only been able to find one group of people in Oslo
-working on community mesh networks, over at the hack space
-<a href="http://hackeriet.no/">Hackeriet</a> at Husmania. They seem to
-have started with some Freifunk based effort using OLSR, called
-<a href="http://oslo.freifunk.net/index.php?title=Main_Page">the Oslo
-Freifunk project</a>, but that effort is now dead and the people
-behind it have moved on to a batman-adv based system called
-<a href="http://meshfx.org/trac">meshfx</a>. Unfortunately the wiki
-site for the Oslo Freifunk project is no longer possible to update to
-reflect this fact, so the old project page can't be updated to point to
-the new project. A while back, the people at Hackeriet invited people
-from the Freifunk community to Oslo to talk about mesh networks. I
-came across this video where Hans Jørgen Lysglimt interview the
-speakers about this talk (from
-<a href="https://www.youtube.com/watch?v=N2Kd7CLkhSY">youtube</a>):</p>
-
-<p><iframe width="420" height="315" src="https://www.youtube.com/embed/N2Kd7CLkhSY" frameborder="0" allowfullscreen></iframe></p>
-
-<p>I mentioned OLSR and batman-adv, which are mesh routing protocols.
-There are heaps of different protocols, and I am still struggling to
-figure out which one would be "best" for some definitions of best, but
-given that the community mesh group in Oslo is so small, I believe it
-is best to hook up with the existing one instead of trying to create a
-completely different setup, and thus I have decided to focus on
-batman-adv for now. It sure help me to know that the very cool
-<a href="http://www.servalproject.org/">Serval project in Australia</a>
-is using batman-adv as their meshing technology when it create a self
-organizing and self healing telephony system for disaster areas and
-less industrialized communities. Check out this cool video presenting
-that project (from
-<a href="https://www.youtube.com/watch?v=30qNfzJCQOA">youtube</a>):</p>
-
-<p><iframe width="560" height="315" src="https://www.youtube.com/embed/30qNfzJCQOA" frameborder="0" allowfullscreen></iframe></p>
-
-<p>According to the wikipedia page on
-<a href="http://en.wikipedia.org/wiki/Wireless_mesh_network">Wireless
-mesh network</a> there are around 70 competing schemes for routing
-packets across mesh networks, and OLSR, B.A.T.M.A.N. and
-B.A.T.M.A.N. advanced are protocols used by several free software
-based community mesh networks.</p>
-
-<p>The batman-adv protocol is a bit special, as it provide layer 2
-(as in ethernet ) routing, allowing ipv4 and ipv6 to work on the same
-network. One way to think about it is that it provide a mesh based
-vlan you can bridge to or handle like any other vlan connected to your
-computer. The required drivers are already in the Linux kernel at
-least since Debian Wheezy, and it is fairly easy to set up. A
-<a href="http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide">good
-introduction</a> is available from the Open Mesh project. These are
-the key settings needed to join the Oslo meshfx network:</p>
-
-<p><table>
-<tr><th>Setting</th><th>Value</th></tr>
-<tr><td>Protocol / kernel module</td><td>batman-adv</td></tr>
-<tr><td>ESSID</td><td>meshfx@hackeriet</td></tr>
-<td>Channel / Frequency</td><td>11 / 2462</td></tr>
-<td>Cell ID</td><td>02:BA:00:00:00:01</td>
-</table></p>
-
-<p>The reason for setting ad-hoc wifi Cell ID is to work around bugs
-in firmware used in wifi card and wifi drivers. (See a nice post from
-VillageTelco about
-"<a href="http://tiebing.blogspot.no/2009/12/ad-hoc-cell-splitting-re-post-original.html">Information
-about cell-id splitting, stuck beacons, and failed IBSS merges!</a>
-for details.) When these settings are activated and you have some
-other mesh node nearby, your computer will be connected to the mesh
-network and can communicate with any mesh node that is connected to
-any of the nodes in your network of nodes. :)</p>
-
-<p>My initial plan was to reuse my old Linksys WRT54GL as a mesh node,
-but that seem to be very hard, as I have not been able to locate a
-firmware supporting batman-adv. If anyone know how to use that old
-wifi access point with batman-adv these days, please let me know.</p>
-
-<p>If you find this project interesting and want to join, please join
-us on IRC, either channel
-<a href="irc://irc.freenode.net/#oslohackerspace">#oslohackerspace</a>
-or <a href="irc://irc.freenode.net/#nuug">#nuug</a> on
-irc.freenode.net.</p>
-
-<p>While investigating mesh networks in Oslo, I came across an old
-research paper from the university of Stavanger and Telenor Research
-and Innovation called
-<a href="http://folk.uio.no/paalee/publications/netrel-egeland-iswcs-2008.pdf">The
-reliability of wireless backhaul mesh networks</a> and elsewhere
-learned that Telenor have been experimenting with mesh networks at
-Grünerløkka in Oslo. So mesh networks are also interesting for
-commercial companies, even though Telenor discovered that it was hard
-to figure out a good business plan for mesh networking and as far as I
-know have closed down the experiment. Perhaps Telenor or others would
-be interested in a cooperation?</p>
-
-<p><strong>Update 2013-10-12</strong>: I was just
-<a href="http://lists.alioth.debian.org/pipermail/freedombox-discuss/2013-October/005900.html">told
-by the Serval project developers</a> that they no longer use
-batman-adv (but are compatible with it), but their own crypto based
-mesh system.</p>
+ <div class="title"><a href="http://people.skolelinux.org/pere/blog/Testing_sysvinit_from_experimental_in_Debian_Hurd.html">Testing sysvinit from experimental in Debian Hurd</a></div>
+ <div class="date"> 3rd February 2014</div>
+ <div class="body"><p>A few days ago I decided to try to help the Hurd people to get
+their changes into sysvinit, to allow them to use the normal sysvinit
+boot system instead of their old one. This follow up on the
+<a href="https://teythoon.cryptobitch.de//categories/gsoc.html">great
+Google Summer of Code work</a> done last summer by Justus Winter to
+get Debian on Hurd working more like Debian on Linux. To get started,
+I downloaded a prebuilt hard disk image from
+<a href="http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz">http://ftp.debian-ports.org/debian-cd/hurd-i386/current/debian-hurd.img.tar.gz</a>,
+and started it using virt-manager.</p>
+
+<p>The first think I had to do after logging in (root without any
+password) was to get the network operational. I followed
+<a href="https://www.debian.org/ports/hurd/hurd-install">the
+instructions on the Debian GNU/Hurd ports page</a> and ran these
+commands as root to get the machine to accept a IP address from the
+kvm internal DHCP server:</p>
+
+<p><blockquote><pre>
+settrans -fgap /dev/netdde /hurd/netdde
+kill $(ps -ef|awk '/[p]finet/ { print $2}')
+kill $(ps -ef|awk '/[d]evnode/ { print $2}')
+dhclient /dev/eth0
+</pre></blockquote></p>
+
+<p>After this, the machine had internet connectivity, and I could
+upgrade it and install the sysvinit packages from experimental and
+enable it as the default boot system in Hurd.</p>
+
+<p>But before I did that, I set a password on the root user, as ssh is
+running on the machine it for ssh login to work a password need to be
+set. Also, note that a bug somewhere in openssh on Hurd block
+compression from working. Remember to turn that off on the client
+side.</p>
+
+<p>Run these commands as root to upgrade and test the new sysvinit
+stuff:</p>
+
+<p><blockquote><pre>
+cat > /etc/apt/sources.list.d/experimental.list <<EOF
+deb http://http.debian.net/debian/ experimental main
+EOF
+apt-get update
+apt-get dist-upgrade
+apt-get install -t experimental initscripts sysv-rc sysvinit \
+ sysvinit-core sysvinit-utils
+update-alternatives --config runsystem
+</pre></blockquote></p>
+
+<p>To reboot after switching boot system, you have to use
+<tt>reboot-hurd</tt> instead of just <tt>reboot</tt>, as there is not
+yet a sysvinit process able to receive the signals from the normal
+'reboot' command. After switching to sysvinit as the boot system,
+upgrading every package and rebooting, the network come up with DHCP
+after boot as it should, and the settrans/pkill hack mentioned at the
+start is no longer needed. But for some strange reason, there are no
+longer any login prompt in the virtual console, so I logged in using
+ssh instead.
+
+<p>Note that there are some race conditions in Hurd making the boot
+fail some times. No idea what the cause is, but hope the Hurd porters
+figure it out. At least Justus said on IRC (#debian-hurd on
+irc.debian.org) that they are aware of the problem. A way to reduce
+the impact is to upgrade to the Hurd packages built by Justus by
+adding this repository to the machine:</p>
+
+<p><blockquote><pre>
+cat > /etc/apt/sources.list.d/hurd-ci.list <<EOF
+deb http://darnassus.sceen.net/~teythoon/hurd-ci/ sid main
+EOF
+</pre></blockquote></p>
+
+<p>At the moment the prebuilt virtual machine get some packages from
+http://ftp.debian-ports.org/debian, because some of the packages in
+unstable do not yet include the required patches that are lingering in
+BTS. This is the completely list of "unofficial" packages installed:</p>
+
+<p><blockquote><pre>
+# aptitude search '?narrow(?version(CURRENT),?origin(Debian Ports))'
+i emacs - GNU Emacs editor (metapackage)
+i gdb - GNU Debugger
+i hurd-recommended - Miscellaneous translators
+i isc-dhcp-client - ISC DHCP client
+i isc-dhcp-common - common files used by all the isc-dhcp* packages
+i libc-bin - Embedded GNU C Library: Binaries
+i libc-dev-bin - Embedded GNU C Library: Development binaries
+i libc0.3 - Embedded GNU C Library: Shared libraries
+i A libc0.3-dbg - Embedded GNU C Library: detached debugging symbols
+i libc0.3-dev - Embedded GNU C Library: Development Libraries and Hea
+i multiarch-support - Transitional package to ensure multiarch compatibilit
+i A x11-common - X Window System (X.Org) infrastructure
+i xorg - X.Org X Window System
+i A xserver-xorg - X.Org X server
+i A xserver-xorg-input-all - X.Org X server -- input driver metapackage
+#
+</pre></blockquote></p>
+
+<p>All in all, testing hurd has been an interesting experience. :)
+X.org did not work out of the box and I never took the time to follow
+the porters instructions to fix it. This time I was interested in the
+command line stuff.<p>