Building Linux for BeagleV-Fire using Buildroot#
Introduction#
Buildroot is a simple, efficient, and user-friendly tool for creating custom embedded Linux systems through cross-compilation.
This document provides a guide for building and flashing a Linux image on the BeagleV-Fire board with Buildroot. It outlines the process for compiling the image, writing image to the eMMC, and booting the new operating system.
Hardware requirements:#
- BeagleV-Fire board 
- USB-C cable 
- 3.3v USB to UART bridge 
Connect BeagleV-Fire UART debug port using 3.3v USB to UART bridge.
 
Software requirements:#
Download Buildroot repository from GitHub.
Start Building#
Note
The following steps are intended for a Linux operating system.
To build and flash Linux image using Buildroot,
Step 2. Configure the Build for BeagleV-Fire#
Configure the build by selecting the default board configuration:
make beaglev_fire_defconfig
Step 3. Customise the build (Optional)#
If you need to customize the build, use the following command:
make menuconfig
Step 4: Start the build process
make
Note
The build process can take 20-30 minutes for a clean build.
Step 5. Locate the build image#
Once the build is complete, the Linux image will be saved as sdcard.img in the /output/images/ directory. The directory structure will look something like this:
$ ls output/images/
boot.scr         boot.vfat.bmap   dts/             Image.gz         mpfs_icicle/     mpfs_icicle.its  rootfs.cpio      rootfs.tar       sdcard.img       sdcard.img.gz
boot.vfat        boot.vfat.gz     Image            microchip/       mpfs_icicle.itb  payload.bin      rootfs.cpio.gz   sdcard.bmap      sdcard.img.bmap  u-boot.bin
Step 6. Flash the Image to BeagleV-Fire’s eMMC#
- Restart the board and halt the HSS (Hart Software Services) by pressing any key 
- In the HSS command line interface, type usbdmsc to expose the eMMC as a USB mass storage device using the USB-C connector. 
- If successful, a message saying “USB Host connected” will be displayed 
- Now, copy the image from local machine to BeagleV-Fire’s eMMC 
sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M
Note
You need to replace /dev/sdX with the actual device name of your eMMC. Be very careful not to overwrite the wrong drive, as this action is irreversible.
- Once the transfer is complete, type CTRL+C to disconnect your device 
- Finally boot the new Linux image by typing boot or reset your board 
Detailed description of this step is mentioned in Flashing eMMC section.