lindev.fr

Aller au contenu | Aller au menu | Aller à la recherche

mardi, décembre 4 2012

RaspberryPi Client LTSP

red-raspberry-isp.jpg

L'Histoire

J'ai présenté il y a peu une solution pour utiliser rapidement la raspberry en client LTSP, grâce à BerryBoot et Berryterminal, bien que fonctionnant correctement, je n'étais pas satisfait d'autant qu’après la mise à jour de BerryBoot sur mes cartes, j'ai constaté des problèmes réseau ( ralentissement ... Freeze .. reprise accéléré comme si l'affichage rattrape ce qui s'est passé pendant le freeze .. étonnant ).

Je vais donc partager avec vous une méthode pour palier à ce problème.

La solution

Je me suis finalement décidé à configurer les clients LTSP, en ma basant sur une Raspbian dernière version .

Après l'installation classique avec l'outil DD, j'ai configuré les locales, keymap, optimisé le système de fichier ext3 , et bien entendu désactivé les modules non nécessaires .

LTSP Display Manager

LDM est le gestionnaire de session X à distance, utilisé par LTSP ( depuis la version 5 ), il nous faut donc simplement l'installer

apt-get install ldm

Remote X

Il ne reste plus qu'à créer un script au démarrage permettant d'ouvrir le tunnel SSH et enfin executer la session X à distance . Bref, LDM

Je me suis donc basé sur le script de berryterminal, qui avec un peut d'adaptation, s'est parfaitement adapté au système.

Commençons par éditer un fichier nommé ldmX dans /etc/init.d/

vim /etc/init.d/ldmX

Voici le contenu

#!/bin/bash
#
# Quick & dirty LTSP startup script
# Author: Floris Bos
#
export GDM_KEYBOARD_LAYOUT=fr
export LC_ALL=fr_FR.UTF-8
export LANG=french
export XKBMODEL="pc105"
export XKBLAYOUT="fr"
export XKBVARIANT=""
export XKBOPTIONS=""



case "$1" in
  start)
    export DISPLAY=:0
    export LDM_THEME=ltsp
    export LANG=fr_FR.UTF-8
    export LANGUAGE=fr_FR.UTF-8
    export LDM_LANGUAGE=fr_FR.UTF-8
    #export LDM_DIRECTX=True
    export LDM_LANGUAGE="fr_FR.UTF-8"
    # FIXME: should introduce a way to embed keys in image to prevent man-in-the-middle scenario
    export LDM_SSHOPTIONS="-o StrictHostKeyChecking=no -o CheckHostIP=no"

    # LTSP acts as DHCP server.  /usr/share/uhdcpc/default.script has been modified to save server IP in /tmp/siaddr
    LDM_SERVER=`cat /tmp/siaddr`

    # If there is a "server=1.2.3.4" kernel parameter use that instead
    for x in `cat /proc/cmdline`
    do
        case $x in
            server=*)
            LDM_SERVER=${x//server=}
            ;;
            autologin=*)
            LDM_AUTOLOGIN=${x//autologin=}
            ;;
            username=*)
            LDM_USERNAME=${x//username=}
            ;;
            password=*)
            LDM_PASSWORD=${x//password=}
            ;;
        esac
    done
    export LDM_SERVER
    export LDM_AUTOLOGIN
    export LDM_USERNAME
    export LDM_PASSWORD

    echo "Retrieving LDM settings from ${LDM_SERVER}"
    mkdir /var/run/ldm
    nc -w 5 ${LDM_SERVER} 9571 > /var/run/ldm/${LDM_SERVER}

    if [ ! -s /var/run/ldm/${LDM_SERVER} ]; then
        echo "Error retrieving LDM settings from ${LDM_SERVER}. Not a LTSP server?"
        exit 1
    fi

    MCOOKIE=$(mcookie)
    xauth -q add ${DISPLAY} . ${MCOOKIE} 2>/dev/null
    echo "Starting X"
    Xorg &
    while true
    do
        ldm
        echo "Restarting LDM"
        sleep 1
    done
    ;;

  *)
    exit 0
esac

exit $?

On le rend exécutable, puis on l'ajoute à l'init au démarrage

chmod +x /etc/init.d/ldmX
cd /etc/init.d/
update-rc.d ldmX defaults

cmdline.txt

Pour paramétrer l'autologin, ou l'ip du serveur LTSP, vous devrez éditer le fichier cmdline.txt, et y spécifier les paramètres suivants

  • server=x.x.x.x
  • autologin=True|False
  • username=Foo
  • password=Bar

Conclusion

Vous voilà avec un client LTSP qui vous a couté 29E ! Et les tests de stabilités réseau semblent passer sans problème .

Je peux transmettre l'image finale pour ceux que ça intéresse.

Ch.

samedi, octobre 18 2008

J'ai flashé sur elle

Je vous rassure , je ne suis pas encore assez fou pour tomber amoureux d'une carte electronique Mort de rire qui plus est je doute que ma douce et tendre soit d'accord ...

Bon revenons à nos mouttons ..

Je vais vous expliquer comment flasher cette carte afin de lui mettre un nouveau firmeware ..

en effet on a besoin de tel ou tel module activé dans le noyau pour faire tel ou tel chose .. exemple le wifi , qui n'est pas activé par defaut ..

Ou alors vous voulez utiliser un firmeware tout fait stable avec tout ce qui faut , comme ceuui de foXServe . ou d'autres disponibles ici

Bref vous vous retrouvez avec une image par default nommé fimage mais peut avoir n'importe quel nom.

  • copiez votre image dans le repertoire devboard/
  • initialisez votre environement

# sudo . init_env
  • puis pour charger l'image complete :

# boot_linux -F -i
  • Votre image est prete à etre ecrite sur la carte (Ne fermez pas votre terminal)
  • Eteignez votre carte
  • Mettez un cavalier sur les bornes J8


  • Rallumez la carte fox
  • Et là vous pouvez constater que les données sont transféré vers votre carte (Ne touchez à rien avant la fin )
  • Puis la carte redemarre toute seule eteignez là enlevez le cavalier et rallumez là
  • Et voilà rien de plus simple.

Note : la del (dl1) clignote en rouge , cela signifie que vous devez attribuer une adresse mac .

Pour attribuer une adresse mac à la carte ,

  • connectez vous en ssh sur la carte
  • Par default vous avez au moins ceci : 00408Cxxxxxx
  • Sachant que c'est de l'hexadecimal , (de 0 à F ) mettez par exemple via la commande :

# bootblocktool -a SERNO 00408C000001
  • quitter la connexion ssh et entrez cette commande :


# arp -d


Bon flash ..

Code Blocks pour carte fox

Creer un programme pour la carte fox:

Oui mais car il y a un amais ...

Meme pour un tout petit programme , les manipulation pour le compiler , puis le tester sont énormes Triste

Mais grâce à Monsieur Monrose , une solution existe et simplifie vraiment grandement l'étape de compilation de programme en C ou C++

Deux choses sont nécessaires ,

  1. Avoir installé code Blocks
  2. Avoir installé et compilé le SDk ici Version R2_1 dans le repertoire /usr/local/

Ensuite je vous laisse suivre le tutoriel écrit par Mr Monrose .

Pour mon cas ca a été un énorme soulagement ...

CodeBlocks

En vue de creer des petits programmes pour la carte fox ,

Et tant qu'à faire , autant utiliser une bon IDE qui va nous faciliter grandement la tâche , vous allez voir.

1 .Commençons par télécharger la version la plus recente de code blocks:

Télécharger Code Blocks

Soit le .deb ou .tar.gz

Pour le .tar.gz vous le decompressez puis :

sudo dpkg -i *.deb 

2 .Ensuite , sous linux , pour installer wxWigets:

Ajouter dans votre sources.list:

deb http://apt.tt-solutions.com/ubuntu/ gutsy main
Ensuite ajoutez la clef
sudo wget -q http://www.tt-solutions.com/vz/key.asc
sudo apt-key add key.asc 
3 .Installez les composants :
sudo apt-get install libwxgtk2.8-0 libwxgtk2.8-dev wx2.8-headers wx-common 
4 .Puis configurez le systeme pour utiliser wxWidgets 2.8 par defaut:
sudo update-alternatives --config wx-config
Et voilà ... enjoy Cool 

 

FoxBoard Software distribution

Pour installer le Software Distribution d'Axis ,

Commencons par telecharger les sources ici ou (ici je vais prendre la 2_10)

Il y a deux archives disponibles . vouns n'etes pas obligé de telecharger les deux ..

celle ci est suffisante : devboard-R2_10.tar.gz

Mais vous pouvez tout de meme telecharger la seconde , qui permet de ne plus necessiter de connexion internet pour la suite des operations :

->devboard-R2_10-distfiles.tar.gz

... Vous y etes ? ok , on continue :-)

Commençons par decompresser devboard-R2_10.tar.gz

 

# tar zxf devboard-R2_10.tar.gz

# cp devboard-R2_10-distfiles.tar.gz devboard-R2_10/

# cd devboard-R2_10/

# tar zxf devboard-R2_10-distfiles.tar.gz


Voilà qui est fait ..

Note : installé tout les paquets necessaire listé dans le fichier INSTALL

Sous ubuntu , la liste à installer est là :

# sudo apt-get install make
# sudo apt-get install gcc
# sudo apt-get install libc6-dev
# sudo apt-get install libncurses5-dev
# sudo apt-get install pmake
# sudo apt-get install zlib1g-dev
# sudo apt-get install flex
# sudo apt-get install bison
# sudo apt-get install subversion
//ne pas oublier :
# sudo ln -sf /bin/bash /bin/sh

 

 

Ensuite , rien de bien compliqué ... lancé les commandes suivantes :

 
# sudo ./configure

 

//choisir la carte correspondante ici "5"

# make

//Attendre ... un autre café :-)



 

Et voilà vous avez tout entre les mains pour compliler des programmes pour la carte Fox , ou creer de nouvelles images à flasher avec vos propres options :-)

Compiler un programme pour la carte fox .. dans un article future

creer une nouvelle image grace à la commance make menuconfig options detaillé dans un future article ..

 

 

 

- page 1 de 2