Google is committed to advancing racial equity for Black communities. See how.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

BeagleBone Black

OpenThread Border Router (OTBR) menyediakan dukungan untuk platform BeagleBone Black (BBB).

Persyaratan perangkat keras:

  • Adaptor AC 5V eksternal untuk daya
  • Kartu microSD 8 GB atau lebih besar ("kartu SD" dalam panduan ini)
  • Platform OpenThread yang didukung (seperti TI CC2652 ) untuk konektivitas jaringan Thread dalam desain RCP

Untuk menggunakan BBB dengan OTBR:

  1. Unduh firmware dan tulis gambar ke kartu SD.
  2. Boot BBB dari kartu SD .
  3. Perluas gambar kartu SD untuk menciptakan ruang yang cukup untuk membangun dan menginstal OTBR.
  4. Bangun dan pasang OTBR .

Unduh firmware

  1. Firmware yang disarankan adalah Stretch untuk BeagleBone melalui kartu microSD :
    • Debian 9.1 2017-08-31 4GB SD LXQT
    • Nama file: bone-debian-9.1-lxqt-armhf-2017-08-31-4gb.img.xz
  2. Tulis gambar ke kartu SD 8 GB atau lebih besar menggunakan alat seperti Etcher atau Win32 Disk Imager .

Boot dari kartu SD

BeagleBone Black

BBB dapat mem-boot dari memori flash terpasang atau kartu SD. Untuk menggunakan BBB dengan OTBR, Anda harus mem-boot dari kartu SD, karena memori flash terpasang tidak cukup besar untuk membangun dan menginstal OTBR.

Untuk mem-boot BBB dari kartu SD:

  1. Masukkan kartu SD.
  2. Putuskan sambungan daya.
  3. Tekan dan tahan tombol BOOT.
  4. Hubungkan daya.
  5. Saat LED mulai berkedip, lepaskan tombol BOOT.

Perluas gambar kartu SD

Gambar Linux untuk Beagle Bone Black (BBB) ​​sengaja dibuat kecil sehingga gambar dapat ditempatkan pada kartu SD 4 GB (atau Memori Flash 4 GB terpasang), kemudian diperluas sesuai kebutuhan. Total ada sekitar 300 MB ruang kosong. Itu mungkin tidak cukup ruang untuk menginstal dan membangun Router Border OpenThread menggunakan BBB.

Untuk mengatasi masalah ini:

  1. Tulis gambar Linux ke kartu SD yang lebih besar (minimal 8 GB).
  2. Perbanyak ~ 4 GB Linux partisi gambar menjadi sedikit kurang dari ukuran seluruh kartu SD. Misalnya, jika menggunakan kartu SD 8 GB, perluas hingga ~ 7 GB. Untuk kartu 16 GB, perluas hingga ~ 15 GB.
  3. Boot BBB dari kartu SD.

Partisi kartu SD

Data pada kartu SD secara efektif merupakan array berkelanjutan dari sektor data. Sektor diberi nomor mulai dengan 0 dan berakhir di Sektor N suatu tempat sekitar XX GB, angka terakhir yang tepat tergantung pada kartu SD yang sebenarnya.

Sektor 0 selalu berisi tabel partisi MS-DOS. Tabel partisi MS-DOS dapat menampung antara 1 dan 4 entri partisi. Setiap partisi adalah serangkaian sektor berkelanjutan dari X ke Y suatu tempat dalam batas-batas kartu SD. Ini mengulangi untuk masing-masing 4 partisi yang mungkin. Biasanya, partisi ditempatkan secara berurutan, dengan sejumlah ( 0 hingga N ) sektor yang tidak digunakan pada akhirnya. Ini "sejumlah sektor yang tidak digunakan" ( SOME_N ) dapat digunakan untuk keuntungan Anda nanti.

Saat menulis gambar ke kartu SD, penulisan dimulai di Sektor 0 dan berlanjut ke SOME_N , tergantung pada ukuran gambar. Yang tidak bisa Anda lakukan adalah meregangkan partisi di sekitar gambar — itu tidak mungkin. Alih-alih, pikirkan bingkai foto di sekitar kanvas. Bingkai foto adalah partisi dan gambar adalah data. Yang dapat Anda lakukan adalah mengganti bingkai foto yang ada dengan yang lebih besar, dan perluas kanvas dalam:

  1. Hapus partisi Linux yang ada tanpa menghapus data. Anda telah menghapus bingkai foto, tetapi gambar itu masih ada di kanvas.
  2. Buat partisi Linux baru yang dimulai tepat di tempat yang lama dimulai, tetapi berakhir dekat dengan akhir kartu SD. Anda telah membuat bingkai foto yang lebih besar. Gambar itu — datanya — masih ada di kanvas. Itu belum bergerak dan tidak rusak oleh operasi ini.
  3. Gunakan alat khusus sistem file untuk menumbuhkan sistem file dalam batas-batas partisi baru. Kanvas direntangkan untuk mengisi bingkai foto baru yang lebih besar.

Langkah 1: Identifikasi partisi data saat ini

  1. Boot BBB dari Kartu SD.
  2. Masuk sebagai root :
    sudo bash
    
  3. Identifikasi partisi data kartu SD:
    root@beaglebone:/home/debian# df -hT /
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/mmcblk0p1 ext4  3.3G  2.8G  295M  91% /
    
    Sufiks p1 pada bidang Filesystem adalah konvensi penamaan untuk Partisi 1. Perangkat itu sendiri adalah /dev/mmcblk0 . Dalam contoh ini, hanya 295 MB gratis. Ini tidak cukup ruang untuk membangun dan menginstal OTBR.

Langkah 2: Buat partisi baru yang lebih besar

  1. Jalankan fdisk di perangkat (kartu 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. Cetak tabel partisi saat ini untuk menemukan sektor awal:
    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
    
    Nilai bidang Start adalah sektor awal untuk partisi target. Itu harus terdaftar dengan nama partisi yang sama seperti pada Langkah 1, dengan Type Linux . Dalam output di atas, sektor awal adalah 8192 .
  3. Hapus partisi yang ada:
    Command (m for help): d
    Selected partition 1
    Partition 1 has been deleted.
    
  4. Buat partisi baru, menggunakan nomor partisi 1, sektor awal yang sama dari partisi sebelumnya ( 8192 dalam contoh ini), dan ukuran yang 1 GB kurang dari ukuran kartu SD. Misalnya, jika menggunakan kartu SD 8 GB, tentukan ukuran +7G . Untuk kartu SD 16 GB, tentukan ukuran +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. Versi fdisk meminta Anda menghapus tanda tangan ext4 disk lama. Jangan hapus tanda tangan ini. Jika tidak, data rusak dan seluruh gambar menjadi tidak berguna.
    Partition #1 contains a ext4 signature.
    
    Do you want to remove the signature [Y]/No: n
    
  6. Tulis tabel partisi baru ke disk dan keluar dari 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).
    

Langkah 3: Ubah ukuran sistem file

Gunakan resize2fs untuk mengubah ukuran sistem file gambar ke ukuran partisi yang baru diperluas. Alat ini memperluas atau menyusutkan sistem file.

  1. Nyalakan kembali BBB.

    1. Beberapa gambar dapat menimbulkan kesalahan fsck saat reboot. fsck berjalan secara otomatis saat boot dan memeriksa konsistensi sistem file.

       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. Jika Anda mendapatkan kesalahan ini, abaikan saja dan tunggu sekitar 20 detik hingga muncul prompt login.

  2. Masuk sebagai root :

    sudo bash
    
  3. Ubah ukuran sistem file untuk partisi target:

     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. Nyalakan kembali BBB.

  5. Jika Anda mengalami masalah fsck , initramfs kembali initramfs , yang merupakan sistem file RAM awal yang digunakan saat Linux melakukan booting.

    sudo update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-4.4.54-ti-r93
    
  6. Nyalakan kembali BBB. Seharusnya boot tanpa kesalahan fsck .

Bangun dan pasang OTBR

Lihat Membangun dan Konfigurasi untuk instruksi membangun dan memasang OTBR.

Mengkloning kartu SD yang dikonfigurasi ulang (opsional)

Kartu SD yang dikonfigurasi ulang dengan partisi Linux yang diubah ukurannya untuk BBB dapat dikloning agar distribusi lebih mudah.

Masalahnya: Banyak alat GUI membaca seluruh kartu SD — termasuk area bebas setelah akhir partisi dan hingga sektor terakhir — dan tidak menawarkan cara untuk membaca hanya sebagian dari gambar. Setiap kartu SD memiliki jumlah sektor baik dan buruk yang berbeda, dan ukuran total byte kartu SD baru mungkin lebih kecil (7,999 GB) daripada gambar yang diubah ukurannya (8,0 GB). Dalam hal ini, gambar yang diubah ukurannya tidak dapat masuk pada kartu SD baru.

Solusinya: Gunakan ukuran partisi yang sedikit lebih kecil dari ukuran penuh kartu SD. Prosedur Expand the SD card image menggunakan +7G sebagai ukuran partisi baru untuk kartu SD 8 GB. Ini menghasilkan gambar yang cukup kecil untuk masuk dengan aman pada kartu SD 8 GB yang sebanding (terlepas dari sektor buruk) sementara masih cukup besar untuk membangun dan menginstal OTBR.

Gunakan sektor akhir dari partisi data untuk menghitung ukuran byte keseluruhan dari "data gambar" dan memotong file IMG pada offset byte itu. Metode paling sederhana adalah dengan menggunakan perintah truncate . Perintah truncate adalah alat baris perintah Unix standar, dan juga ada dalam distribusi MS-Windows Git Bash dari MSYS.

  1. Sebagai root , jalankan fdisk di perangkat (kartu 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. Cetak tabel partisi saat ini untuk menemukan sektor akhir:

     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
     

    Dalam contoh ini, sektor akhirnya adalah 14688255 .

  3. Keluar dari fdisk dan hitung ukuran total gambar:

    1. Partisi terakhir berakhir di sektor 14688255 .
    2. Setiap sektor adalah 512 byte.
    3. Sektor awal kartu SD selalu 0 . Tambahkan 1 byte ke akun untuk sektor ini.
    4. Ukuran total adalah: (14688255 + 1) * 512 = 7520387072
  4. Baca gambar kartu SD ke file .img , menggunakan alat seperti Etcher atau Win32 Disk Imager .

  5. Pangkas file gambar ke ukuran total yang dihitung:

     root@beaglebone:/home/debian# truncate -s 7520387072  myimage.img
     
  6. Salin file gambar terpotong ke kartu SD lain untuk distribusi.