Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

BeagleBone Noir

OpenThread Border Router (OTBR) prend en charge la plate-forme BeagleBone Black (BBB).

Exigences matérielles:

  • Adaptateur secteur externe 5 V pour l'alimentation
  • Une carte microSD de 8 Go ou plus («carte SD» dans ce guide)
  • Une plate-forme OpenThread prise en charge (telle que la TI CC2652 ) pour la connectivité réseau Thread dans une conception RCP

Pour utiliser BBB avec OTBR:

  1. Téléchargez le micrologiciel et écrivez l'image sur la carte SD.
  2. Démarrez BBB à partir de la carte SD .
  3. Développez l'image de la carte SD pour créer suffisamment d'espace pour créer et installer OTBR.
  4. Construisez et installez OTBR .

Télécharger le firmware

  1. Le micrologiciel recommandé est Stretch pour BeagleBone via une carte microSD :
    • Debian 9.1 31/08/2017 4 Go SD LXQT
    • Nom de fichier: bone-debian-9.1-lxqt-armhf-2017-08-31-4gb.img.xz
  2. Écrivez l'image sur une carte SD de 8 Go ou plus à l'aide d'un outil tel que Etcher ou Win32 Disk Imager .

Démarrer à partir de la carte SD

BeagleBone Noir

BBB peut démarrer à partir de la mémoire flash intégrée ou de la carte SD. Pour utiliser BBB avec OTBR, vous devez démarrer à partir de la carte SD, car la mémoire flash intégrée n'est pas assez grande pour construire et installer OTBR.

Pour démarrer BBB à partir de la carte SD:

  1. Insérez la carte SD.
  2. Débranchez l'alimentation.
  3. Appuyez sur le bouton BOOT et maintenez-le enfoncé.
  4. Branchez l'alimentation.
  5. Lorsque les voyants commencent à clignoter, relâchez le bouton BOOT.

Développez l'image de la carte SD

Les images Linux pour Beagle Bone Black (BBB) ​​sont volontairement créées de petite taille afin que l'image puisse être placée sur n'importe quelle carte SD de 4 Go (ou sur la mémoire flash intégrée de 4 Go), puis agrandie si nécessaire. Au total, il y a environ 300 Mo d'espace libre. Cela peut ne pas être assez d'espace pour installer et construire le routeur OpenThread Border à l'aide du BBB.

Pour résoudre ce problème:

  1. Écrivez l'image Linux sur une carte SD plus grande (au moins 8 Go).
  2. Développez la partition Linux ~ 4 Go de l'image à un peu moins que la taille de la carte SD entière. Par exemple, si vous utilisez une carte SD de 8 Go, étendez-la à ~ 7 Go. Pour une carte de 16 Go, étendez-la à ~ 15 Go.
  3. Démarrez le BBB à partir de la carte SD.

Partitions de la carte SD

Les données sur une carte SD sont en fait un tableau continu de secteurs de données. Les secteurs sont numérotés en commençant par 0 et se terminant au secteur N quelque part autour de XX Go, le dernier nombre exact dépend de la carte SD réelle.

Le secteur 0 contient toujours une table de partition MS-DOS. Une table de partition MS-DOS peut contenir entre 1 et 4 entrées de partition. Chaque partition est une série continue de secteurs de X à Y quelque part dans les limites de la carte SD. Cela se répète pour chacune des 4 partitions possibles. En règle générale, les partitions sont situées dans l'ordre, avec un certain nombre (de 0 à N ) de secteurs inutilisés à la fin. Ce "certain nombre de secteurs inutilisés" ( SOME_N ) peut être utilisé à votre avantage plus tard.

Lors de l'écriture d'une image sur une carte SD, l'écriture commence au secteur 0 et progresse vers SOME_N , en fonction de la taille de l'image. Ce que vous ne pouvez pas faire, c'est étirer la partition autour de l'image - ce n'est pas possible. Pensez plutôt à un cadre photo autour d'une toile. Le cadre d'image est la partition et l'image est les données. Ce que vous pouvez faire est de remplacer le cadre photo existant par un plus grand et d'agrandir le canevas dans:

  1. Supprimez la partition Linux existante sans supprimer les données. Vous avez supprimé le cadre photo, mais l'image est toujours présente sur la toile.
  2. Créez une nouvelle partition Linux qui commence exactement là où l'ancienne a commencé, mais se termine près de la fin de la carte SD. Vous avez créé un cadre photo plus grand. L'image - les données - est toujours là sur le canevas. Il n'a pas bougé et n'a pas été corrompu par cette opération.
  3. Utilisez un outil spécifique au système de fichiers pour développer le système de fichiers dans les limites de la nouvelle partition. La toile est étirée pour remplir le nouveau cadre photo plus grand.

Étape 1: Identifiez la partition de données actuelle

  1. Démarrez le BBB à partir de la carte SD.
  2. Connectez-vous en tant que root :
    sudo bash
    
  3. Identifiez la partition de données de la carte SD:
    root@beaglebone:/home/debian# df -hT /
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/mmcblk0p1 ext4  3.3G  2.8G  295M  91% /
    
    Le suffixe p1 du champ Filesystem est la convention de dénomination de la partition 1. Le périphérique lui-même est /dev/mmcblk0 . Dans cet exemple, seuls 295 Mo sont disponibles. Ce n'est pas assez d'espace pour construire et installer OTBR.

Étape 2: Créez la nouvelle partition plus grande

  1. Exécutez fdisk sur l'appareil (carte SD):
    root@beaglebone:/home/debian# fdisk /dev/mmcblk0
    
    Welcome to fdisk (util-linux 2.25.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
  2. Imprimez la table de partition actuelle pour trouver le secteur de départ:
    Command (m for help): p
    Disk /dev/mmcblk0: 7.2 GiB, 7744782336 bytes, 15126528 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xca52207f
    
    Device         Boot Start     End Sectors  Size Id Type
    /dev/mmcblk0p1 *     8192 6963199 6955008  3.3G 83 Linux
    
    La valeur du champ Start est le secteur de départ de la partition cible. Il doit être répertorié avec le même nom de partition qu'à l'étape 1, avec un Type de Linux . Dans la sortie ci-dessus, le secteur de départ est 8192 .
  3. Supprimez la partition existante:
    Command (m for help): d
    Selected partition 1
    Partition 1 has been deleted.
    
  4. Créez la nouvelle partition en utilisant un numéro de partition de 1, le même secteur de départ de la partition précédente ( 8192 dans cet exemple) et une taille inférieure de 1 Go à la taille de la carte SD. Par exemple, si vous utilisez une carte SD de 8 Go, spécifiez une taille de +7G . Pour une carte SD de 16 Go, spécifiez une taille de +15GB .
    Command (m for help): n
    Partition type
    p   primary (0 primary, 0 extended, 4 free)
    e   extended (container for logical partitions)
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-15126527, default 2048): 8192
    Last sector, +sectors or +size{K,M,G,T,P} (8192-15126527, default 15126527): +7G
    
    Created a new partition 1 of type 'Linux' and of size 7 GiB.
    
  5. Les versions plus récentes de fdisk vous invitent à effacer l'ancienne signature ext4 disque. N'effacez pas cette signature. Sinon, les données sont corrompues et l'image entière devient inutile.
    Partition #1 contains a ext4 signature.
    
    Do you want to remove the signature [Y]/No: n
    
  6. Écrivez la nouvelle table de partition sur le disque et quittez fdisk :
    Command (m for help): w
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Re-reading the partition table failed.: Device or resource busy
    
    The kernel still uses the old table. The new table will be used at the next
    reboot or after you run partprobe(8) or kpartx(8).
    

Étape 3: redimensionner le système de fichiers

Utilisez resize2fs pour redimensionner le système de fichiers image à la taille de partition nouvellement développée. Cet outil étend ou réduit un système de fichiers.

  1. Redémarrez le BBB.

    1. Certaines images peuvent générer une erreur fsck lors du redémarrage. fsck s'exécute automatiquement au démarrage et vérifie la cohérence du système de fichiers.

       Loading, please wait...
      [    4.873285]  remoteproc1: failed to load am335x-pru0-fw
      [    4.918852]  remoteproc1: request_firmware failed: -2
      [    4.924046] pru-rproc 4a334000.pru0: rproc_boot failed
      [    5.052414]  remoteproc1: failed to load am335x-pru1-fw
      [    5.069652]  remoteproc1: request_firmware failed: -2
      [    5.074889] pru-rproc 4a338000.pru1: rproc_boot failed
      fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/mmcblk0p1
      fsck exited with status code 8
       
    2. Si vous obtenez cette erreur, ignorez-la et attendez environ 20 secondes pour que l'invite de connexion apparaisse.

  2. Connectez-vous en tant que root :

    sudo bash
    
  3. Redimensionnez le système de fichiers pour la partition cible:

     root@beaglebone:/home/debian# resize2fs /dev/mmcblk0p1
    resize2fs 1.43 (17-May-2016)
    Filesystem at /dev/mmcblk0p1 is mounted on /; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    The filesystem on /dev/mmcblk0p1 is now 1835008 (4k) blocks long.
     
  4. Redémarrez le BBB.

  5. Si vous rencontrez le problème fsck , reconstruisez le fichier initramfs , qui est le système de fichiers RAM initial utilisé lors du démarrage de Linux.

    sudo update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-4.4.54-ti-r93
    
  6. Redémarrez le BBB. Il devrait démarrer sans l'erreur fsck .

Construire et installer OTBR

Voir Génération et configuration pour obtenir des instructions sur la construction et l'installation d'OTBR.

Cloner une carte SD reconfigurée (facultatif)

Une carte SD reconfigurée avec la partition Linux redimensionnée pour BBB peut être clonée pour une distribution plus facile.

Le problème: de nombreux outils d'interface graphique lisent l'intégralité de la carte SD - y compris la zone libre après la fin de la partition et jusqu'au dernier secteur - et n'offrent pas de moyen de lire uniquement une partie de l'image. Chaque carte SD a un nombre différent de bons et de mauvais secteurs, et la taille totale des octets de la nouvelle carte SD peut être plus petite (7,999 Go) que l'image redimensionnée (8,0 Go). Dans ce cas, l'image redimensionnée ne peut pas tenir sur la nouvelle carte SD.

La solution: utilisez une taille de partition légèrement inférieure à la taille totale de la carte SD. La procédure d' +7G de l' image de la carte SD utilise +7G comme nouvelle taille de partition pour une carte SD de 8 Go. Cela produit une image suffisamment petite pour tenir en toute sécurité sur n'importe quelle carte SD comparable de 8 Go (quels que soient les secteurs défectueux) tout en étant suffisamment grande pour construire et installer OTBR.

Utilisez le secteur de fin de la partition de données pour calculer la taille d'octet entière de "l'image de données" et tronquez le fichier IMG à ce décalage d'octet. La méthode la plus simple consiste à utiliser la commande truncate . La commande truncate est un outil de ligne de commande Unix standard, et elle est également présente dans la distribution MS-Windows Git Bash de MSYS.

  1. En tant que root , exécutez fdisk sur l'appareil (carte SD):

     root@beaglebone:/home/debian# fdisk /dev/mmcblk0
    
    Welcome to fdisk (util-linux 2.25.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
     
  2. Imprimez la table de partition actuelle pour trouver le secteur de fin:

     Command (m for help): p
    Disk /dev/mmcblk0: 7.2 GiB, 7744782336 bytes, 15126528 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xca52207f
    
    Device         Boot Start      End  Sectors Size Id Type
    /dev/mmcblk0p1       8192 14688255 14680064   7G 83 Linux
     

    Dans cet exemple, le secteur de fin est 14688255 .

  3. Quittez fdisk et calculez la taille totale de l'image:

    1. La dernière partition se termine au secteur 14688255 .
    2. Chaque secteur est de 512 octets.
    3. Le secteur de départ d'une carte SD est toujours 0 . Ajoutez 1 octet pour tenir compte de ce secteur.
    4. La taille totale est: (14688255 + 1) * 512 = 7520387072
  4. Lisez l'image de la carte SD dans un fichier .img , à l'aide d'un outil tel que Etcher ou Win32 Disk Imager .

  5. Tronquez le fichier image à la taille totale calculée:

     root@beaglebone:/home/debian# truncate -s 7520387072  myimage.img
     
  6. Copiez le fichier image tronqué sur d'autres cartes SD pour distribution.