折腾开发板的过程一般是先烧录官方release 的镜像,然后在想着自己编译kernal制作镜像,在这之前需要编译u-boot,u-boot 是一个主要用于引导加载内核,u-boot 编译过程如下记录。

1 安装toolchain

先查看kernal 和u-boot 支持的toolchain 版本:

zhy@zhy-ThinkPad-E480:~/code/BPI5/BSP/BPI-M5-bsp$ find . -name "compiler-gcc*"
./linux-aml/include/linux/compiler-gcc.h
./linux-aml/tools/include/linux/compiler-gcc.h
./u-boot-aml/include/linux/compiler-gcc4.h
./u-boot-aml/include/linux/compiler-gcc3.h
./u-boot-aml/include/linux/compiler-gcc.h
zhy@zhy-ThinkPad-E480:~/code/BPI5/BSP/BPI-M5-bsp$

可以看到支持的版本有3、4,因此选择的toolchain的版本是4.8,下载链接:

https://releases.linaro.org/archive/13.11/components/toolchain/binaries/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz
https://releases.linaro.org/archive/14.04/components/toolchain/binaries/gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz

创建toolchain路径并解压:

sudo mkdir -p /opt/toolchains
sudo tar xvf gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz -C /opt/toolchains/
sudo tar xvf gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz -C /opt/toolchains/

将toolchain路径添加到环境变量:

sudo vim ~/.bashrc

在文件最末尾添加以下内容:

export ARCH=arm64
export CROSS_COMPILE=aarch64-none-elf-
export PATH=/opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin:/opt/toolchains/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/bin:$PATH

执行命令,使环境变量改变立即生效:

source ~/.bashrc

执行以下命令,测试是否安装成功:

aarch64-none-elf-gcc -v

如果有以下类似输出则代表安装成功:

Using built-in specs.
COLLECT_GCC=aarch64-none-elf-gcc
COLLECT_LTO_WRAPPER=/opt/toolchains/gcc-linaro-aarch64-none-elf-4.8-2013.11_linux/bin/../libexec/gcc/aarch64-none-elf/4.8.3/lto-wrapper
Target: aarch64-none-elf
......
Thread model: single
gcc version 4.8.3 20131111 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.11 - Linaro GCC 2013.10)

2 u-boot

下载souce code:

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

这个过程需要下载挺长时间,,code里包含了kernal 和u-boot,本次只编译uboot,执行编译脚本:

./build.sh

结果如下:

zhy@zhy-ThinkPad-E480:~/code/BPI5/BSP/BPI-M5-bsp$ ./build.sh
This tool support following building mode(s):
--------------------------------------------------------------------------------1. Build all, uboot and kernel and pack to download images.2. Build uboot only.3. Build kernel only.4. kernel configure.5. Pack the builds to target download image, this step must execute after u-boot,kernel and rootfs build out6. Update local build to SD with BPI Image flashed7. Clean all build.
--------------------------------------------------------------------------------
Please choose a mode(1-7):

可以看到有7个编译选项,编译u-boot输入2即可,或者直接执行以下命令编译u-boot:

./build.sh 2

编译后会在BPI-M5-bsp/u-boot-aml/sd_fuse目录生成u-boot.bin,准备一张SD卡,执行以下命令将u-boot 烧写到SD卡:

sudo dd if=u-boot.bin of=/dev/mmcblk0 conv=fsync,notrunc bs=512 seek=1
sync

接上串口,SD卡插到开发板,给开发板上电,可以看到串口有启动信息印出:

一上电立刻连续按回车键可以进入uboot命令模式,可以输出help命令查看支持的命令:

至此u-boot编译烧写完毕,过程还是挺简单的。

香蕉派 BPI-M5折腾记录(2)—— 编译u-boot相关推荐

  1. 使香蕉派 bananapi M5 创建ap热点(软路由)

    使用banana pi M5 创建ap热点实验可用 1.安装工具 使用 hostapd 和 isc-dhcp-server sudo apt-get update // 更新资源库 sudo apt ...

  2. 利用香蕉派自制电视盒子

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi  QQ群:64770604 一.准备材料 1.香蕉派 bpi 2.无线网卡 3.HDMI线,连接香蕉派与电视 4.遥 ...

  3. 香蕉派开源硬件开发板 Banana Pi BPI M2Pro Amlogic S905X3 主板

    Banana Pi BPI-M2 Pro是Banana Pi公司于2021年推出的下一代单板机.它采用Amlogic S905X3四核Cortex-A55 (2.0 XXGHz)处理器.板载2GB L ...

  4. 国产香蕉派CM4 计算模块(Bananapi BPI-CM4 )BSP编译与开机

    香蕉派CM4到手 准备工作 编译 编译环境搭建 烧录SD卡 开机 WiFi驱动 国产香蕉派BananaPi的BPI-CM4到手.拆开快递,除了静电袋和盒子没有其他配件,连wifi天线都没送.考虑到价格 ...

  5. 香蕉派 I2C点亮OLED

    香蕉派 I2C点亮OLED 最近比赛项目需要在香蕉派上利用oled显示收到的数据,于是淘宝买了一块0.91寸.IIC驱动的oled屏幕,然而店家只提供了一份51单片机的驱动程序,需要自己移植到香蕉派上 ...

  6. Banana PI (香蕉派) 安装 ubuntu-core-14 最小核心的操作步骤

    Banana PI (中文名:香蕉派,以下简称 BPI)是比 Raspberry PI (中文名:树莓派)性能更强.功能更多.内置 AllWinner A20 双核 CPU.1GB DDR3内存.SA ...

  7. 香蕉派BPI-M2 Berry 全志V40 Mali400 MP2 GPU使用

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 视频 香蕉派BPI-M2 Be ...

  8. 香蕉派 banana pi github 最新Linux 代码升级到kernel 4.2.

    2019独角兽企业重金招聘Python工程师标准>>> 香蕉派 banana pi github 最新Linux 代码升级到kernel 4.2. https://github.co ...

  9. 多系统折腾记录(老电脑MBR分区)

    多系统折腾记录一(老电脑MBR分区) 序言 目标:办公用多系统,要求必须能用HP1020PLUS打印机.GP1324D打印机.能用QQ.微信.百度网盘.搜狐输入法:系统稳定流畅.且对我这种LINUX小 ...

  10. BANANA PI 入门:香蕉派如何安装系统

    from:http://blog.xiaogelia.com/banana-pi-os.html 蕉派的系统是安装在SD卡中的,想要把系统安装到SD卡中,你需要一台运行Windows或Linux的PC ...

最新文章

  1. 2018年12月,华为HCNP大面积更新题目,军哥独家解题咯
  2. 扛住100亿次请求?我们来试一试!
  3. linux怎么命令设置网络连接,Linux网络操作命令
  4. 将RGB格式的颜色值转换为十六进制
  5. C++decltype关键字
  6. 关于反射调用方法的一个log
  7. ActiveMQ (二) 常用配置简介
  8. oracle体系三大文件,oracle 体系_第三章控制文件
  9. 生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
  10. Free Dwg Viewer-免费的AutoCAD DWG/DWF/DXF文件查看器
  11. 使用计算机程序的设计语言是,计算机程序设计语言有哪些?
  12. Lumion和Enscape渲染器有什么区别?哪个适合你
  13. 累积你的All Blue-使用集成库-PCB系列教程1-4
  14. 小柯在学JAVA之第二弹
  15. latex 背景颜色设置
  16. 实现了私聊和群聊功能的聊天工具
  17. 离散数学中谓词逻辑推理规则总结,附各规则英文
  18. 陌生男女社交软件交流手册
  19. java 红牛摩托车_2017红牛世界五大越野摩托车系列耐力赛
  20. Invalid argument during startup: Failed to open the .conf file: redis-window

热门文章

  1. 构建webpack知识体系 | 青训营笔记
  2. 内网:bloodhound域渗透分析工具
  3. 七牛云 转码_七牛云的音频转码,微信的speex音频转码为mp3格式
  4. Laravel 使用QQ邮箱发送邮件
  5. gm工具怎样连接mysql_Gm工具2.0连接不上,求助
  6. FLASH芯片(W25Q128)
  7. 第七讲:7.物联网土壤湿度远程监控+自动花浇水
  8. 环信即使通讯 php git,iOS即时通讯(三)- 环信SDK的导入
  9. js判断输入是否为数字
  10. 【DaVinci Developer工具实战】02 - 软件设计编辑器