BeagleBone : mettre son noyau à jour
Pour ceux qui ont installé une Ubuntu toute fraiche sur leur BeagleBone, quelle surprise de se rendre compte qu’il manque certains »devices » necessaires ( Analogic Input,etc…).
Alors voilà, le noyau fourni avec la version Ubuntu est trop vieux, et les mise à jour se font pas fréquentes. Du coup, hopla, un petit script pour faire la mise à jour :
############################################################################
## This is a script obtained from http://elinux.org/BeagleBoardUbuntu ##
## It updates the kernel on the BeagleBone using Robert C Nelsons Sources ##
## https://github.com/RobertCNelson/stable-kernel ##
############################################################################
#export DIST=precise #(options are lucid/maverick/natty/oneiric/precise/squeeze/wheezy)
export DIST=oneiric
#export ARCH=armhf #(options are armel/armhf (armhf only for precise))
export ARCH=armel #(options are armel/armhf (armhf only for precise))
#Beagle/Panda
#export BOARD=omap
#BeagleBone
export BOARD=omap-psp
wget http://rcn-ee.net/deb/${DIST}-${ARCH}/LATEST-${BOARD}
wget $(cat ./LATEST-${BOARD} | grep STABLE | awk '{print $3}')
/bin/bash install-me.sh
Executé juste ce script…jusqu’au message « Please Reboot ».
Et voilà, votre BeagleBone est à jour.
BeagleBone Ubuntu Firstboot
Et voilà… La carte vient d’arriver dans sa jolie boite.
Je la pensais plus grosse et en fait…elle est toute petite, bien plus petite que mon arduino Mega.
Le bon côté des choses, ben c’est que ca marche comme prévu.
J’avais préparé ma carte SD, lu un peu de doc. Je remplace la carte livrée de base par ma carte, je connecte un terminal dessus (driver windows ici) et magie….
U-Boot SPL 2011.09-dirty (Feb 27 2012 - 10:01:37) Texas Instruments Revision detection unimplemented No AC power, disabling frequency switch OMAP SD/MMC: 0 reading u-boot.img reading u-boot.img U-Boot 2011.09-dirty (Feb 27 2012 - 10:01:37) I2C: ready DRAM: 256 MiB No daughter card present
Conformément à mon précédent billet, les sésames sont bien les bons (ubuntu/temppwd).
Hopla, j’y met ma petite carte wifi pour faire un premier test :
[ 7.864898] usb 1-1: reset high-speed USB device number 2 using musb-hdrc [ 8.058258] cfg80211: Updating information on frequency 2412 MHz for a 20 MHz width channel with regulatory rule: [ 8.058288] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058319] cfg80211: Updating information on frequency 2417 MHz for a 20 MHz width channel with regulatory rule: [ 8.058319] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058349] cfg80211: Updating information on frequency 2422 MHz for a 20 MHz width channel with regulatory rule: [ 8.058380] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058410] cfg80211: Updating information on frequency 2427 MHz for a 20 MHz width channel with regulatory rule: [ 8.058410] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058441] cfg80211: Updating information on frequency 2432 MHz for a 20 MHz width channel with regulatory rule: [ 8.058471] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058502] cfg80211: Updating information on frequency 2437 MHz for a 20 MHz width channel with regulatory rule: [ 8.058502] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058532] cfg80211: Updating information on frequency 2442 MHz for a 20 MHz width channel with regulatory rule: [ 8.058563] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058593] cfg80211: Updating information on frequency 2447 MHz for a 20 MHz width channel with regulatory rule: [ 8.058624] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058624] cfg80211: Updating information on frequency 2452 MHz for a 20 MHz width channel with regulatory rule: [ 8.058654] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058685] cfg80211: Updating information on frequency 2457 MHz for a 20 MHz width channel with regulatory rule: [ 8.058715] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058715] cfg80211: Updating information on frequency 2462 MHz for a 20 MHz width channel with regulatory rule: [ 8.058746] cfg80211: 2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2000 mBm) [ 8.058776] cfg80211: Updating information on frequency 2467 MHz for a 20 MHz width channel with regulatory rule: [ 8.058807] cfg80211: 2457000 KHz - 2482000 KHz @ 20000 KHz), (600 mBi, 2000 mBm) [ 8.058807] cfg80211: Updating information on frequency 2472 MHz for a 20 MHz width channel with regulatory rule: [ 8.058837] cfg80211: 2457000 KHz - 2482000 KHz @ 20000 KHz), (600 mBi, 2000 mBm) [ 8.058868] cfg80211: Updating information on frequency 2484 MHz for a 20 MHz width channel with regulatory rule: [ 8.058898] cfg80211: 2474000 KHz - 2494000 KHz @ 20000 KHz), (600 mBi, 2000 mBm) [ 8.158325] ieee80211 phy0: Selected rate control algorithm 'pid' [ 8.161834] Registered led device: rt2800usb-phy0::radio [ 8.162017] Registered led device: rt2800usb-phy0::assoc [ 8.162170] Registered led device: rt2800usb-phy0::quality [ 8.162353] usbcore: registered new interface driver rt2800usb
BeagleBone et debian
Le BeagleBone est livré avec la distribution linux Ångström installée sur la carte micro-SD de 4Go fournie.
Afin de bénéficier d’une distribution plus complète en terme de fonctionnalités, nous avons décidé de changer cette distribution. Après quelques recherches sur les différentes distributions proposées pour l’architecture ARM du BeagleBone, nous vous laissons choisir d’utiliser la distribution basée sur Debian que vous voulez. Quant à nous, nous installerons une Ubuntu.
Pour installer Ubuntu sur le BeagleBone, nous avons suivi les instructions de cette page. Les drivers graphiques n’étaient pas disponibles pour la dernière version (12.04, Precise), donc nous avons choisi d’installer la version précédente (11.10, Oneiric).
1. Télécharger la dernière image de la distribution ici.
Pour ma part, je prend la dernière version (r9 au 29 Mai 2012):
$ wget http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r9-minimal-armel.tar.xz --2012-05-29 00:20:03-- http://rcn-ee.net/deb/rootfs/oneiric/ubuntu-11.10-r9-minimal-armel.tar.xz Résolution de rcn-ee.net (rcn-ee.net)... 69.163.149.169 Connexion vers rcn-ee.net (rcn-ee.net)|69.163.149.169|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 121973032 (116M) [application/x-tar] Sauvegarde en : «ubuntu-11.10-r9-minimal-armel.tar.xz+ 100%[==========================================================================================>] 121 973 032 373K/s ds 4m 51s 2012-05-29 00:24:54 (410 KB/s) - «ubuntu-11.10-r9-minimal-armel.tar.xz+ sauvegardé [121973032/121973032]
2. Extraire l’archive :
$ tar xJf ubuntu-11.10-r9-minimal-armel.tar.xz
3. Inserer la carte SD (moi je mets une carte de 8Go, sait-on jamais), et localiser le périphérique associé à cette carte :
$ cd ubuntu-11.10-r9-minimal-armel/ $ sudo ./setup_sdcard.sh --probe-mmc Mot de passe : Are you sure? I Don't see [/dev/idontknow], here is what I do see... fdisk -l: Disk /dev/sda: 320.1 GB, 320072933376 bytes Disk /dev/sdb: 163.9 GB, 163928604672 bytes Disk /dev/sdc: 82.0 GB, 81964302336 bytes Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes Disk /dev/sde: 1000.2 GB, 1000204886016 bytes Disk /dev/sdf: 7948 MB, 7948205568 bytes < == ici ma carte SD mount:devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) /dev/disk/by-uuid/1b2fea45-18fb-4c4c-b009-fc16c2bcab9c on / type ext3 (rw,relatime,errors=remount-ro,barrier=1,data=ordered)
4. Installer la distribution sur la carte SD ( ici située en /dev/sdf)
Cette étape peut nécessiter l’installation de quelques paquets, les instructions seront expliquées dans la sortie de la commande:
Debug: ARM rootfs: armel-rootfs-201205160638.tar Debug: image has initrd.img: HAS_INITRD=1 You're missing command mkimage (consider installing package uboot-mkimage) You're missing command mkfs.btrfs (consider installing package btrfs-tools) Your system is missing some dependencies Ubuntu/Debian: sudo apt-get install uboot-mkimage wget pv dosfstools btrfs-tools parted Fedora: as root: yum install uboot-tools wget pv dosfstools btrfs-progs parted Gentoo: emerge u-boot-tools wget pv dosfstools btrfs-progs parted
Pour information, vous pouvez procéder de la même façon pour installer Ubuntu sur une Pandora, ou une Beagle-Board en précisant le paramètre pour l'option uboot :
----------------------------- -Supported TI Devices:------- beagle_bx - beagle_cx - beagle_xm - bone - igepv2 - panda - panda_es - -----------------------------
Donc, la commande pour installer Ubuntu pour une carte BeagleBone sur la carte SD /dev/sdf est la suivante :
$ sudo ./setup_sdcard.sh --mmc /dev/sdf --uboot bone
5. Let's have some fun now...
Vous pouvez maintenant démonter la carte micro-SD de votre ordinateur, la remettre dans le BeagleBone et le démarrer. Vous pouvez donc vous connecter via le port série, les identifiants par défaut sont :
login : ubuntu
mot de passe : temppwd
Attention, j’espère que vous avez noté ceci lors de l'installation :
----------------------------- Ubuntu: with no ethernet cable connected it can take up to 2 mins to login, removing upstart sleep calls... ----------------------------- Ubuntu: to unfix: sudo sed -i -e 's:#sleep 20:sleep 20:g' /etc/init/failsafe.conf Ubuntu: to unfix: sudo sed -i -e 's:#sleep 40:sleep 40:g' /etc/init/failsafe.conf Ubuntu: to unfix: sudo sed -i -e 's:#sleep 59:sleep 59:g' /etc/init/failsafe.conf -----------------------------
Il faut maintenant installer les différents paquets dont nous pourrions avoir besoin...
BeagleBone
Petit dernier des inventeurs du Beagle Board, à coup sûr le Beagle Bone remplacera notre Arduino!
Beagle Bone est une carte plus petite et plus légère tout en restant un puissant ordinateur linux embarqué!
Cette carte de developpement dispose d’une interface Ethernet intégré, d’un port host USB, et d’une interface client USB (un circuit FTDI pour les accès de type shell).
Il est même fourni avec une version « préchargée » de Linux Angstrom (sur une carte micro SD de 4 GB), mais on peut y mettre Ubuntu!
Cette interface est disponible sur Amazon, chez Adafruit, mais aussi chez Mouser (mon choix).
Avec plus d’ 1.5 billion d’opérations Dhrystone et d’opérations vectorielles à virgules flottantes à la seconde, BeagleBone n’est pas seulement capable de s’interfacer avec tous vos contrôleurs robotiques, vos différents capteurs, système de localisation, ou encore d’appareils photos. Il est aussi capable d’exécuter du code Python, C/C++, OpenCV, OpenNI et autres logiciels de capture et d’analyse d’image permettant de reconnaître les objets autour de votre robot lui permettant ainsi d’adapter ses déplacements et mouvements en fonction.
Par l’intermédiaire d’extension HDMI, VGA ou LCD, il est capable de décoder et afficher divers formats vidéo en utilisant des piles logicielles complètement Open-Source.
Détails techniques :
- Taille de la carte: 8.64cm x 5.33cm
- Fourni avec une carte Micro SD de 4 GB incluant la distribution Linux Angstrom (avec node.js et l’IDE Cloud9)
- Interface FTDI-based serial/JTAG
- Entrées/Sorties 3.3V
- Carte Ethernet On-chip
- Support USB Host et Slave
- 256MB de RAM DDR2
- Un processeur ARM Cortex™-A8 super-scalaire cadancé à 700-MHz



