Ceci est une ancienne révision du document !


Installation Pandaboard

Cette page regroupe les informations concernant l’installation de la pandaboard dans le cadre des TP de développement sur internet.

Les détails sur la carte sont ici : http://pandaboard.org/content/resources/references et des informations ici http://elinux.org/PandaBoard

Les cartes supportent Linux et Android. Pour une première approche il est conseillé d’utiliser une image préfabriquée. Il en existe beaucoup nous en mentionnerons deux construites au dessus d’ubuntu : une produite par le projet Linaro et une venant directement d’Ubuntu.

  1. Toutes les versions sont là : http://www.linaro.org/downloads/
  2. La dernière version d’ubuntu supportée pour pandaboard au moment de l’écriture de cette page est :
  3. La dernière de développement est ici : http://releases.linaro.org/latest/ubuntu/panda et pour savoir ce qui est supporté pour cette release : http://docs.google.com/spreadsheet/ccc?key=0AroPySpr4FnEdEwwZkhrZ1VYUEg2LTlQZzR0RlhzM3c

L’installation se fait en suivant les instructions données ici : https://wiki.linaro.org/Platform/DevPlatform/Ubuntu/PreBuiltImageInstallation

Un utilisateur par défaut existe : linaro/linaro

Il est aussi possible d’installer une version produite officiellement par Ubuntu pour omap4 :

Attention, la pandaboard ne mémorise pas l’adresse mac de la carte réseau, pour une utilisation avec und DHCP obligatoire en salle de TP, il faut donc configurer le système avant le premier démarrage en modifiant /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet dhcp
hwaddress ether xx:xx:xx:xx:xx:xx

les noms, adresses mac et IP doivent avoir la forme suivante :

panda1  A:A:A:A:A:0     10.9.185.77
[...]
panda16 A:A:A:A:A:F     10.9.185.92

En résumé :

  1. Télécharger une image :
    1. Copier sur une sd card (ATTENTION adapter of= à votre configuration, remplacer XXX par sdb, …):
      1. gzip -dc ubuntu-12.04-preinstalled-server-armhf+omap4.img.gz | sudo dd bs=4M of=/dev/XXX
    2. Configurer l’adresse MAC (cf. ci-dessous) et changer le nom (fichier /etc/hosts)
    3. Booter avec le cable Série/USB et le réseau (cf. ci-dessous).
    4. Mettre ensuite à jour (pour la version 12.04) :
  sudo add-apt-repository ppa:tiomap-dev/release
  sudo apt-get update
  sudo apt-get dist-upgrade

Ensuite la gestion du système se fait comme sur n’importe quelle machine Linux à base de debian/ubuntu.

Attention, en cas de problème lors du démarrage sans affichage (headless), il faut utiliser un adaptateur série vers USB qui utilise généralement un composant électronique appelé ftdi. Un pilote existe dans le noyau linux, la connexion est alors utilisable via /dev/ttyUSB0 avec un émulateur de terminal comme minicom (minicom -d /dev/ttyUSB0). Ce donne accès au message de boot et à une console en root. Cette connexion directe via une console permet les installation de base en particulier il n’y a pas de serveur ssh il faut donc l’installer avant de pouvoir se connecter à distance.

Il est possible d’installer soit un jre spécifique pour arm embarqué :

Soit un jdk pour arm

Penser à mettre en place, les variables d’environnement JAVA_HOME et PATH.

Il est ensuite possible d’installer glassfish (cf. Installation de glassfish). La machine proposée est configurée pour utiliser le jdk pour permettre à glassfish de compiler les JSP.

Pour glassfish, il faut mettre un mot de passe (au lieu du mot de passe vide) :

 asadmin change-admin-password --domain_name <name>
 

Par exemple admin/adminadmin dans la machine fournie.

Puis activer l’administration distante :

 asadmin enable-secure-admin --port 4848

On peut stocker les identifiants de connexion :

asadmin login     [[enseignement:intranet:intranet]]

pour accélerer le démarrage de la console d’administration

asadmin create-jvm-options -Dcom.sun.enterprise.tools.admingui.NO_NETWORK=true

cf. http://docs.oracle.com/cd/E26576_01/doc.312/e24928/extending-updating.htm

Installer mysql. Sur la machine de test, il y a un compte root/admin

Ajouter la mémoire /etc/mysql/my.cnf :

  1. innodb_buffer_pool_size=32M

Pour les étudiants de l’UTLN, je vous propose une image complète basé sur ubuntu 12.04 dans la section intranet.

Elle est configuré comme cela :

  1. ipv6 désactivé dans /etc/sysctl.conf
  2. Oracle java 7 (jdk et jre embedded dans /usr/local/programs) et le paquet via le ppa de webupd8.
  3. git
  4. emacs
  5. maven 3
  6. glassfish4 (dans /usr/local/programs) (admin/adminadmin)
    1. en root service glassfish start/stop/restart
    2. Les driver jdbc pour mysql et postgresl sont dans le lib
  7. wildfly8 (dans /usr/local/programs)
  8. apache
  9. php
  10. python
  11. mysql server (écoute sur toutes les interfaces), mysql client et phpmyadmin. Avec deux utilisateurs (root/admin et test/test) et une base de données de test (test). La connexion vers cette base est configurée dans glassfish.

Pour restaurer une sauvegarde (remplacer XXX par le device de la carte SD, par exemple /dev/sdb) :

 gzip -dc pandafish.gz | sudo dd bs=4M of=/dev/XXX

Pour sauvegarder votre carte SD :

  sudo dd bs=4M if=/dev/XXX | gzip > pandafish.gz
      
  1. Avant connexion au réseau, pour travailler mettez à jour l’adresse MAC et le nom (cf. ci-dessus).
  2. Changer les mots de passe de glassfish et mysql
  3. Modifier le nom de la machine (/etc/hosts 127.0.1.1 et /etc/hostname).
  4. Régénérer de nouvelles clés ssh pour le serveur :
/bin/rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

Cette image peut être copiée sur une carte SD et éventuellement redimensionnée avec GParted.