Sunday, March 14, 2010

Installation d'Angstrom

NB : la quasi totalité des commandes/actions sont réalisées sur un PC. Sauf mention contraire.

Démarrage

Avant toute chose, j'ai essayé de brancher ma carte sur ma télévision, mais celle-ci ne supporte pas le 1024x768, j'ai donc du me rabattre sur la connection RS232 (n'ayant pas envie de connecter mon écran d'ordinateur). Ce choix est meilleur puisque la trace de démarrage est envoyé dans un terminal qui permet de scroller ensuite (contrairement à un écran). Dernier avantage, lors du démarrage, certaines informations ne sont pas affichées sur l'écran (notamment uboot)

La connexion RS232 nécessite le cable vendu sur le site de l'igep, et ne coute que 4€. La connexion de celui-ci est génée par le port USB, mais en forçant doucement, j'ai finalement réussi. La configuration de minicom est expliquée sur le site de beagleboard

Construction de l'image Angstrom

Maintenant que la carte démarre, il lui faut un OS. J'ai donc utilisé le créateur d'image en ligne. Coup de chance (ou pas ?), celui-ci propose l'igepv2 dans sa liste de machine. J'ai pris la version stable, avec le système "task-base-extended", puis les options par défaut.

Pour la partie packages, j'ai ajouté :

  • python
  • All kernel modules
  • Bluez
  • I2C-tools
  • JamVM
  • Juluis
  • OpenCV
  • Dropbear SSH
  • Wireless-tools

Booter Angstrom

Il faut commencer par partitionner la microSD correctement. J'ai donc utilisé la documentation de référence et le script de XorA pour faire des SD bootables.

J'ai suivi à la lettre le tutorial du beagle board. La carte microSD est sur l'igep, mais à la mise sous tension, rien. La diode ne s'allume pas. Je retire donc la carte, branche l'alimentation, et, par automatisme, remet la carte, et là, Angstrom boote. Je réfléchi, regarde le méchanisme de boot, puis, un peu au hasard, supprime le fichier MLO sur la partition de boot (puisque nulle-part la documentation de l'igep n'en faisait mention). Et victoire, ça démarre !

Le wifi et le reste

Pour le wifi, absolument rien de sorcier, celui-ci est détecté au démarrage :

$ dmesg
[...]
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
libertas: 00:13:e0:c3:0c:3c, fw 9.70.3p24, cap 0x00000303
libertas: unidentified region code; using the default (USA)
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth1: Marvell WLAN 802.11 adapter
[...]

J'ai du nommer correctement les fichiers (sd8686_heper.bin et sd8686.bin) du drivers Marvell car ceux-ci s'appellent différement dans l'archive téléchargée, puis les placer dans /lib/firmware/ de la partition qui s'appelle rootfs.

Configuration du wifi.

NB : Les commandes sont tapées dans l'igep.

Pour une raison que j'ignore, le wifi refusait de se connecter automatiquement à mon réseau wifi en utilisant le DHCP. J'ai donc configuré l'adresse en statique en éditant le fichier /etc/network/interfaces

Je peux maintenant me connecter en SSH sur l'igep ! Les choses sérieuses commencent !

Références :

  • http://elinux.org/BeagleBoardBeginners
  • http://wiki.myigep.com/trac/wiki/HowToSetupWifi
  • http://www.angstrom-distribution.org/narcissus/