--- title: Flash BeagleBone firmware date: 2018-02-24 11:56:31.924001 UTC --- Download image here: https://rcn-ee.com/rootfs/ Example file to download: https://rcn-ee.com/rootfs/2018-02-09/flasher/BBB-eMMC-flasher-debian-9.3-console-armhf-2018-02-09-2gb.img.xz. We should get Debian one, over Ubuntu. If the file name starts with `BBB-eMMC-flasher`, this image will automatically run the flasher tool when the BeagleBone boots from Micro SD card, we don't need to press the button near to the Micro SD slot to activate the flasher tool. We should use [bmap-tool](https://source.tizen.org/documentation/reference/bmaptool/bmap-tools-project), instead of [`dd`](https://en.wikipedia.org/wiki/Dd_(Unix)), because the later is very slow. Assume that we saved the file to _~/Downloads/_. Before flashing, we need to do: 1\. Generate bmap file from the downloaded file. - Uncompress the image file ```sh unxz BBB-eMMC-flasher-debian-9.3-console-armhf-2018-02-09-2gb.img.xz ``` - Generate bmap file ```sh bmaptool create BBB-eMMC-flasher-debian-9.3-console-armhf-2018-02-09-2gb.img.xz -o BBB-eMMC-flasher-debian-9.3-console-armhf-2018-02-09-2gb.bmap ``` 2\. Insert Micro SD card to your PC and determine its device file: ```sh lsblk ``` The result will be similar to this: ``` NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 4G 0 part [SWAP] ├─sda3 8:3 0 35G 0 part / ├─sda4 8:4 0 20G 0 part ├─sda5 8:5 0 30G 0 part /home sr0 11:0 1 1024M 0 rom mmcblk0 179:0 0 7.4G 0 disk └─mmcblk0p1 179:1 0 1.7G 0 part /media/quan/rootfs ``` The device path for micro SD card will be `/dev/mmcblk0` (note, **not** `mmcblk0p1`). 3\. Because my card has a partition on it, and was automatically mounted, I need to unmount it: ```sh sudo umount /dev/mmcblk0p1 ``` 4\. Write the image to card: ```sh sudo bmaptool copy BBB-eMMC-flasher-debian-9.3-console-armhf-2018-02-09-2gb.img /dev/mmcblk0 ``` Now, you can take out the micro SD card from your PC and insert to BeagleBone, turn it on to flash it. Note that after the flashing finishes, you have to take away the SD card, or next time the flasher will automatically run and reflash your board.