Summary
FreedomBox/UniLeipzigPractical is the documentation of a freedom box related practical course at the AKSW Research Group at the University of Leipzig (in german).
The original course page is available at http://bis.informatik.uni-leipzig.de/de/Lehre/1213/WS/LV/DSSNP The practical will be organized in 3-4 hackaktons and a lot of work between these sessions. The idea of the practical is to extend the freedombox with semantic technologies.
History
- 01.11.2012 - We had our first Hackaton so everybody has his OLinuXino now
- 22.10.2012 - olimex was really fast, ten nice A13-OLinuXino-WIFI arrived today!
18.10.2012 - We ordered our student hardware: the A13-OLinuXino-WIFI
12.10.2012 - We now have a mailing list http://lists.informatik.uni-leipzig.de/pipermail/w12.bis.dssnp/
- 11.10.2012 - first meeting with 5 students, the practical will now start with 6 students
- 08.10.2012 - introductional talk to the audience of the Software aus Komponenten lesson
Hardware
This is our practical hardware, the OLinuXino (actually, we use the WIFI version of it)
Software
Basic Installation
Debian Image: https://dl.dropbox.com/u/27470434/olinuxino-original.img.torrent
The A1x Linux Project: http://linux-sunxi.org/Main_Page
Basic Configuration
first steps (e.g. WLAN activation): http://lists.informatik.uni-leipzig.de/pipermail/w12.bis.dssnp/2012-October/000062.html
Time
follow http://wiki.debian.org/NTP to configure NTP, after that run tzselect to correct the timezone
OR read this for the deamon http://www.debianadmin.com/ntp-server-and-client-configuration-in-debian.html
Network
This section describes how to setup the network connection of your device. Out goal is to have a roaming tolerant setup where the box is reachable from outside despite any odd ISP configurations.
Network Manager
- Find the name of your wifi device with iwconfig (wlanX)
- run "apt-get install network-manager"
- Copy all your configured Wifis from your desktop or laptop to your board (e.g. via SD-Card) You may find them in /etc/NetworkManager/system-connections and that is the same place, where it has to go in the board.
- Make sure all files in /etc/NetworkManager/system-connections have owner root:root and only read and write rights for the owner.
Make sure your wifi device (wlanX) does not appear in /etc/network/interfaces
- Restart your board (power off - wait - power on)
Further reading: http://wiki.debian.org/NetworkManager
Network Access for non-root Users
# groupadd -g 3003 aid_inet # adduser <username> aid_inet
This is cause by the enabled kernel option: CONFIG_ANDROID_PARANOID_NETWORK (another reason for a new kernel)
Source: http://forums.debian.net/viewtopic.php?f=5&t=62151
Usability
Shell
For the bash users among us I think it would be helpfully to enable the tab auto completion. You can find the instructions here: http://www.simplylinux.ch/bash-completion-fuer-debian
The tutor of this practical suggests to use zsh:-) which has much better completion options as well as a lot of other nice features.
qemu Emulation
todo clemens
connectivity
How to provide a stable WebID over standard networks?
?FreedomBox/Connections
How to provide a stable WebID over p2p, crypto networks?
dssn.js
DSSN implementation for node.js
Kernel compilation
Because the kernel in our current image doesn't support the GPIO (all these pins) and IPv6 I'm trying to build a new kernel for us.
Preparations
First you have to check out the kernel sources from linux-sunxi@github or download the tar-ball and extract it. Second you have to download the Toolchain and extract it and add the bin/-Folder to your $PATH.
Configure and Compile the Kernel
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- a13_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
- load the default configuration for our board
adjust the setting e.g. enable "Device Drivers > Misc devices > An ugly sun4i gpio driver" and "Networking support > Networking options > TCP/IP networking > The IPv6 protocol"
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 uImage modules make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install
'currently I'm stuck at building the image'
Sources and further reading: