Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

BeagleBone Siyah

OpenThread Sınır Yönlendiricisi (OTBR) BeagleBone Black (BBB) ​​platformu için destek sağlar.

Donanım Gereksinimleri:

  • Güç için harici 5V AC adaptör
  • 8 GB veya daha büyük bir microSD kart (bu kılavuzdaki "SD kart")
  • RCP tasarımında Thread ağ bağlantısı için desteklenen bir OpenThread platformu ( TI CC2652 gibi )

BBB'yi OTBR ile kullanmak için:

  1. Ürün yazılımını indirin ve görüntüyü SD karta yazın.
  2. SD karttan BBB'yi başlatın .
  3. OTBR oluşturmak ve yüklemek için yeterli alan oluşturmak için SD kart görüntüsünü genişletin .
  4. OTBR oluşturun ve kurun .

Ürün yazılımını indir

  1. MicroSD kart ile önerilen ürün yazılımı BeagleBone için Stretch'tir :
    • Debian 9.1 2017-08-31 4GB SD LXQT
    • Dosyaadı: bone-debian-9.1-lxqt-armhf-2017-08-31-4gb.img.xz
  2. Etcher veya Win32 Disk Imager gibi bir araç kullanarak görüntüyü 8 GB veya daha büyük bir SD karta yazın.

SD karttan önyükleme

BeagleBone Siyah

BBB, yerleşik flash bellekten veya SD karttan önyükleme yapabilir. BBB'yi OTBR ile kullanmak için, yerleşik flash bellek OTBR'yi oluşturmak ve kurmak için yeterince büyük olmadığından SD karttan önyükleme yapmanız gerekir.

BBB'yi SD karttan başlatmak için:

  1. SD kartı takın.
  2. Gücü kesin.
  3. BOOT düğmesini basılı tutun.
  4. Gücü bağlayın.
  5. LED'ler yanıp sönmeye başladığında, BOOT düğmesini bırakın.

SD kart görüntüsünü genişlet

Beagle Bone Black (BBB) ​​için Linux görüntüleri, görüntünün herhangi bir 4 GB SD kartına (veya yerleşik 4 GB Flash Belleğe) yerleştirilebilmesi için bilerek küçük bir şekilde oluşturulur ve daha sonra gerektiğinde genişletilir. Toplamda yaklaşık 300 MB boş alan var. Bu, BBB'yi kullanarak OpenThread Sınır Yönlendiricisini kurmak ve oluşturmak için yeterli alan olmayabilir.

Bu problemi çözmek için:

  1. Linux görüntüsünü daha büyük bir SD karta (en az 8 GB) yazın.
  2. Görüntünün ~ 4 GB Linux bölümünü tüm SD kartın boyutundan biraz daha küçük olacak şekilde genişletin. Örneğin, 8 GB SD kart kullanıyorsanız, kartı ~ 7 GB'ye genişletin. 16 GB kart için ~ 15 GB'a genişletin.
  3. SD karttan BBB'yi başlatın.

SD kart bölümleri

SD karttaki veriler etkin bir şekilde sürekli bir veri sektörü dizisidir. Sektörler 0 ile başlayıp XX GB civarında bir yerde N ile bitiyor, kesin son sayı gerçek SD karta bağlı.

Sektör 0 her zaman bir MS-DOS Bölüm tablosu içerir. Bir MS-DOS bölüm tablosu 1 ile 4 bölüm girdisini tutabilir. Her bölüm, SD kart sınırları içinde X Y kadar sürekli bir sektör serisidir. Bu, olası 4 bölümün her biri için tekrarlanır. Tipik olarak, bölümler sırayla yerleştirilir, sonunda kullanılmayan sektörlerin bir kısmı ( 0 N ). Bu "bazı kullanılmayan sektörler" ( SOME_N ) daha sonra avantajınıza kullanılabilir.

Bir SD karta görüntü yazarken, yazma işlemi Sektör 0 başlar ve görüntünün boyutuna bağlı olarak SOME_N ilerler. Yapamayacağınız şey görüntünün etrafındaki bölümü genişletmektir - bu mümkün değildir. Bunun yerine, bir tuvalin etrafında bir resim çerçevesi düşünün. Resim çerçevesi bölümdür ve resim veridir. Yapabileceğiniz şey, mevcut resim çerçevesini daha büyük bir çerçeveyle değiştirmek ve içindeki tuvali genişletmektir:

  1. Verileri silmeden mevcut Linux bölümünü silin. Resim çerçevesini çıkardınız, ancak resim hala tuvalde mevcut.
  2. Tam olarak eskisinin başladığı yerde başlayan, ancak SD kartın sonuna yaklaşan yeni bir Linux bölümü oluşturun. Daha büyük bir resim çerçevesi oluşturdunuz. Resim - veri - hala tuval üzerinde. Hareket etmedi ve bu işlem tarafından bozulmadı.
  3. Dosya sistemini yeni bölümün sınırları dahilinde büyütmek için dosya sistemine özgü bir araç kullanın. Tuval, yeni, daha büyük resim çerçevesini dolduracak şekilde gerilir.

1. Adım: Geçerli veri bölümünü tanımlama

  1. SD Karttan BBB'yi başlatın.
  2. root olarak root :
    sudo bash
    
  3. SD kart veri bölümünü tanımlayın:
    root@beaglebone:/home/debian# df -hT /
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/mmcblk0p1 ext4  3.3G  2.8G  295M  91% /
    
    Filesystem alanındaki p1 soneki, Bölüm 1'in adlandırma kuralıdır. Aygıtın kendisi /dev/mmcblk0 . Bu örnekte, yalnızca 295 MB ücretsizdir. Bu, OTBR oluşturmak ve kurmak için yeterli alan değildir.

2. Adım: Yeni, daha büyük bölümü oluşturun

  1. Cihazda fdisk çalıştırın (SD kart):
    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. Başlangıç ​​sektörünü bulmak için geçerli bölüm tablosunu yazdırın:
    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
    
    Start alanının değeri, hedef bölümün başlangıç ​​kesimidir. Bir Linux Type ile 1. Adımdakiyle aynı bölüm adıyla listelenmelidir. Yukarıdaki çıktıda, başlangıç ​​sektörü 8192 .
  3. Mevcut bölümü silin:
    Command (m for help): d
    Selected partition 1
    Partition 1 has been deleted.
    
  4. 1 numaralı bölüm numarasını, önceki bölümün aynı başlangıç ​​sektörünü (bu örnekte 8192 ) ve SD kart boyutundan 1 GB daha küçük bir boyut kullanarak yeni bölümü oluşturun. Örneğin, 8 GB SD kart kullanıyorsanız +7G boyutunu belirtin. 16 GB SD kart için +15GB boyut belirtin.
    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. Yeni versiyonları fdisk eski diski silmek isteyecektir ext4 imzası. Bu imzayı silmeyin. Aksi takdirde, veriler bozulur ve görüntünün tamamı işe yaramaz hale gelir.
    Partition #1 contains a ext4 signature.
    
    Do you want to remove the signature [Y]/No: n
    
  6. Yeni bölüm tablosunu diske yazın ve fdisk çıkın:
    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).
    

3. Adım: Dosya sistemini yeniden boyutlandırın

Görüntü dosyası sistemini yeni genişletilmiş bölüm boyutuna göre yeniden boyutlandırmak için resize2fs kullanın. Bu araç bir dosya sistemini genişletir veya daraltır.

  1. BBB'yi yeniden başlatın.

    1. Bazı görüntüler yeniden başlatıldığında fsck hatası verebilir. fsck önyüklemede otomatik olarak çalışır ve dosya sistemi tutarlılığını kontrol eder.

       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. Bu hatayı alırsanız, yok sayın ve giriş isteminin görünmesi için yaklaşık 20 saniye bekleyin.

  2. root olarak root :

    sudo bash
    
  3. Hedef bölüm için dosya sistemini yeniden boyutlandırın:

     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. BBB'yi yeniden başlatın.

  5. fsck sorunuyla karşılaştıysanız, Linux önyüklendiğinde kullanılan ilk RAM dosya sistemi olan initramfs yeniden oluşturun.

    sudo update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-4.4.54-ti-r93
    
  6. BBB'yi yeniden başlatın. fsck hatası olmadan önyükleme yapmalıdır.

OTBR oluşturma ve yükleme

OTBR oluşturma ve kurma talimatları için Yapı ve Yapılandırma'ya bakın.

Yeniden yapılandırılmış bir SD kartı klonlayın (isteğe bağlı)

BBB için yeniden boyutlandırılan Linux bölümü ile yeniden yapılandırılan bir SD kart, daha kolay dağıtım için klonlanabilir.

Sorun: Birçok GUI aracı, bölümün sonundan sonra ve son sektöre kadar olan boş alan da dahil olmak üzere tüm SD kartı okur ve görüntünün yalnızca bir kısmını okumak için bir yol sunmaz. Her SD kartta farklı sayıda iyi ve kötü sektör vardır ve yeni SD kartın toplam bayt boyutu, yeniden boyutlandırılan görüntüden (8,0 GB) daha küçük olabilir (7.999 GB). Bu durumda, yeniden boyutlandırılan görüntü yeni SD karta sığamaz.

Çözüm: SD kartın tam boyutundan biraz daha küçük bir bölüm boyutu kullanın. SD kart görüntü genişletme prosedürü, 8 GB SD kart için yeni bölüm boyutu olarak +7G kullanır. Bu, OTBR oluşturmak ve kurmak için yeterince büyük olmakla birlikte, herhangi bir benzer 8 GB SD karta (kötü sektörlerden bağımsız olarak) güvenli bir şekilde sığacak kadar küçük bir görüntü üretir.

"Veri görüntüsünün" tüm bayt boyutunu hesaplamak ve IMG dosyasını o bayt ofsetinde kısaltmak için veri bölümünün bitiş sektörünü kullanın. En basit yöntem truncate komutunu kullanmaktır. truncate komutu standart bir Unix komut satırı aracıdır ve MSYS'nin MS-Windows Git Bash dağıtımında da bulunur.

  1. root olarak, cihazda fdisk çalıştırın (SD kart):

     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. Bitiş sektörünü bulmak için geçerli bölüm tablosunu yazdırın:

     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
     

    Bu örnekte, bitiş sektörü 14688255 .

  3. Çık fdisk ve görüntünün toplam boyutunu hesaplamak:

    1. Son bölüm 14688255 sektöründe sona 14688255 .
    2. Her sektör 512 bayttır.
    3. SD kartın başlangıç ​​sektörü daima 0 . Bu sektörü hesaba katmak için 1 bayt ekleyin.
    4. Toplam boyut: (14688255 + 1) * 512 = 7520387072
  4. SD kart görüntüsünü Etcher veya Win32 Disk Imager gibi bir araç kullanarak bir .img dosyasına okuyun.

  5. Görüntü dosyasını hesaplanan toplam boyuta göre kısaltın:

     root@beaglebone:/home/debian# truncate -s 7520387072  myimage.img
     
  6. Kesilmiş görüntü dosyasını dağıtım için diğer SD kartlara kopyalayın.