BPI-M5上手体验(1)- 下载编译bsp

准备一张烧录过系统的SD卡,我的之前用于BPI-M4镜像的烧录。

fdisk -l # 查看SD卡挂载点

image

块设备名称为/dev/sdb,分成了sdb1和sdb2两个分区。

Docker image

BPI-M5提供了docker环境用于源码的编译。

docker pull sinovoip/bpi-build-linux-4.4:ubuntu16.04
docker run -it --privileged=true --device=/dev/sdb sinovoip/bpi-build-linux-4.4:ubuntu16.04 /bin/bash
# 让容器内的root拥有真正的root权限,并将主机设备映射到容器。

安装bpi-tools

方法一:

curl -sL https://github.com/BPI-SINOVOIP/bpi-tools/raw/master/bpi-tools|sudo -E bash

方法二:

  1. 进入github仓库:GitHub - BPI-SINOVOIP/bpi-tools: tools for Banana Pi
  2. 下载ZIP压缩文件

  1. 解压缩并配置环境
unzip bpi-tools-master.zip
cp -a bpi-tools-master/* /usr/bin/

命令基本使用

# 1.bpi-copy,例如将镜像写入到EMMC中
sudo bpi-copy xxx.img.zip /dev/mmcblk1
sudo unzip -p xxx.img.zip |pv| of=/dev/mmcblk1 bs=10 status=noxfer

# 2.bpi-bootsel,例如切换U-boot到M5
sudo bpi-bootsel bpi-m5-512b.img.gz /dev/sdb
sudo gunzip -c bpi-m5-512.img.gz | sudo dd of=/dev/sdb bs=512 seek=1

# 3.查看shell脚本源码
# https://github.com/BPI-SINOVOIP/bpi-tools

下载bsp源码

git clone https://github.com/BPI-SINOVOIP/BPI-M5-bsp
cd BPI-M5-bsp
git submodule update --init --recursive

这一过程需要较长时间。

官方提供的bsp中包括了kernel、u-boot、rfs和tool chains。

开始编译

./build.sh bpi-m5

可以看到,脚本提供了7个编译选项,这里输入1编译所有。

编译完成后会出现一个名为SD的文件夹,接着将本地文件更新到SD卡中(需要之前安装过bpi-tools)。

更新成功后,取出SD卡插入到BPI-M5开发板上,上电后可以看到M5能够顺利启动。

image