Samstag, 20. Juli 2013

Create RetroShare ID on Raspberry Pi

[HowTo] Create RetroShare ID on Raspberry Pi

SSH with X-Forwarding into your Raspberry Pi.
ssh -X pi@ipaddress

Download RetroShare Binarys for Raspberry Pi

RetroShare binarys for Raspberry Pi are available at [HowTo]compile-retroshare-on-raspberry-pi or download it from PiShare

Place RetroShare and retroshare-nogui in your  home directory
go to your home directory

pi@retropi ~ $ cd ~/
pi@retropi ~ $ ./RetroShare
RetroShare:: Successfully Installedthe SIGPIPE Block
Hashed main executable: a7308a6c6283892a25f5af05986ee8b6a835ab89
retroShare::basedir() -> $HOME = /home/pi
Creating Root Retroshare Config Directories
pubring file "/home/pi/.retroshare/pgp/retroshare_public_keyring.gpg" not found. Creating a void keyring.
Pubring read successfully.
secring file "/home/pi/.retroshare/pgp/retroshare_secret_keyring.gpg" not found. Creating a void keyring.
Secring read successfully.
  private trust database not found. No trust info loaded.
No Existing User
getRetroshareDataDirectory() Linux: /usr/share/RetroShareData Directory not Found: /usr/share/RetroShare
Finding PGPUsers

Choose a nickname.
Enter a good, long, unique, new and secure password. 

Select a Location Name.
Put a meaningful location for example: home, laptop, server, raspberrypi, etc ...
This field will be used to differentiate different installations with the same identity (PGP key)

Your RetroShare is now available and ready to use.
You can run the GUI directly on LXDE, with VNC or with X-Forwarding.

Done, RetroShare is now working on your Raspberry Pi

haf phun

Freitag, 19. Juli 2013

HowTo compile RetroShare on Raspberry Pi

This HowTo is for native compiling on Raspberry Pi.
There are other faster ways to compile Raspberry Pi with architectural root or cross compiling tools or chroot. This tutorial is for compiling on Raspberry Pi directly. Takes some time but works well. 

If you do not want to compile yourself, i upload sometimes binarys Gui+noGui to

Tutorial should work for Debian Wheezy 7.0 in general!

First install your Raspbian (Debian ARMHF) on your Raspberry Pi and do your settings, static IP or whatever your network needs. 

SSH into your Raspberry Pi
ssh pi@IPaddress

Upgrade your system
sudo apt-get update && apt-get upgrade -y

Install dependencies to build RetroShare regarding
sudo apt-get update

sudo apt-get install g++ libgnome-keyring-dev libqt4-dev libxss-dev \ 
             libssl-dev libupnp-dev subversion libbz2-dev \
             libprotobuf-dev protobuf-compiler cmake \
             qt4-qmake libqt4-dev-bin libbz2-dev

Go to your home directory
cd ~/
create build directory
mkdir build
enter the build dir 
cd build
create a directory lib
mkdir lib
enter the directory lib
cd lib
download the libssh-0.5.4 source tarball
extract the tarball
tar zxvf libssh-0.5.4.tar.gz
enter the created room
cd libssh-0.5.4
create another build directory
mkdir build
enter the directory build
cd build
run command cmake
run command make

libssh is built now, good.

go to your home directory
clone RetroShare Trunk from subversion Code repository
cd ~/build && svn co svn:// retroshare

If you do not have enough ram (256MB) you need to create a bigger SWAP Space.

command "free -h" shows your ram and Swap space. 
pi@retropi ~ $ free -h
             total       used       free     shared    buffers     cached
Mem:          232M        90M       141M         0B        11M        55M
-/+ buffers/cache:        23M       208M
Swap:          99M         0B        99M

cd ~/
create a file with 512MB
sudo dd if=/dev/zero of=swapfile bs=1M count=512
create a swapfile out of the file.
sudo mkswap swapfile
start swaping 
sudo swapon swapfile

the swap space is now increased by 512MB.

pi@retropi ~ $ free -h
             total       used       free     shared    buffers     cached
Mem:          232M       220M        11M         0B       3,2M       190M
-/+ buffers/cache:        26M       205M
Swap:         611M         0B       611M
after a restart the swap is not active anymore and the swapfile unneeded

retroshare-gui takes a lot of time on this small CPU. 
i suggest using screen

apt-get install screen

start screen 
enter the message away
you can run this command in a single step and it will compile libbitdht, openpgpsdk, libretroshare, rsctrl, retroshare-nogui and retroshare-gui

cd ~/build/retroshare/libbitdht/src && qmake && make clean && make -j 4 && \
cd ~/build/retroshare/openpgpsdk/src && qmake && make clean && make -j 4 && \
cd ~/build/retroshare/libretroshare/src && qmake && make clean && make -j 4 && \
cd ~/build/retroshare/rsctrl/src && make && \
cd ~/build/retroshare/retroshare-nogui/src && qmake && make clean && make -j 4 && \
cd ~/build/retroshare/retroshare-gui/src && qmake && make clean && make -j 4

and detach from this screen session with "CTRL+A D"

you can now grab a cup of coffee, watch and 

after 1-2 hours start your screen session with "screen -r +TAB" 
and look, if it has finished yet. 
screen -r +TAB

if not finished yet, wait and do more NYANing. 

after finishing this process. 
cd ~/
cd ~/build/retroshare/retroshare-nogui/src/
cp retroshare-nogui ~/
cd ~/build/retroshare/retroshare-gui/src/
cp RetroShare ~/

your executeable binarys are now in your home directory
cd ~/

exit your SSH session

start SSH with X-Forwarding into your Raspberry Pi  to start the GUI
for X-Forwarding use a Linux PC or a Windows PC with xming

cd ~/
Start RetroShare and create a new ID or set up a second location for your Main ID
Your Gui should now be running