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. Nous utiliserons une installation faites en suivant : https://eewiki.net/display/linuxonarm/PandaBoard

  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

Attention, la pandaboard ne mémorise pas l’adresse mac de la carte réseau, pour une utilisation avec un serveur 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é :

  • Télécharger une image du système
  • Copier sur une sd card (ATTENTION adapter of= à votre configuration, remplacer XXX par sdb, …):
    • gzip -dc ubuntu-12.04-preinstalled-server-armhf+omap4.img.gz | sudo dd bs=4M of=/dev/XXX
  • Monter la sd card, configurer l’adresse MAC (cf. ci-dessus) et changer le nom. (Editer sur la sdcard les fichiers /etc/hosts et /etc/hostname)
  • Booter avec éventuellement le câble Série/USB et le réseau (cf. ci-dessous).
  • Régénérer de nouvelles clés ssh pour le pandaboard :
    • /bin/rm /etc/ssh/ssh_host_*
    • dpkg-reconfigure openssh-server
  • Changer les mots de passe de glassfish et h2

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 de tout installer directement : http://www.oracle.com/technetwork/java/embedded/embedded-suite/overview/index.html

Il est possible d’installer :

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

Il est ensuite possible d’installer un serveur d’applications JEE. Par exemple, glassfish (cf. Installation de glassfish).

Pour glassfish, il faut mettre un mot de passe (au lieu du mot de passe vide) pour permettre l’accès distant :

 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, on peut désactiver les mises à jour au démarrage :

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 une base de données par exemple h2.

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

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 8 (jdk dans /usr/local/programs)
  3. build-essential, git
  4. emacs
  5. maven 3
  6. glassfish4.1 (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. apache
  8. php
  9. python
  10. La base de données h2. 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.
    1. /etc/default/h2

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
      

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