折腾开发板的过程一般是先烧录官方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. ??ArcGIS server公交线路动态分段问题
  2. mysql中不同事务隔离级别下数据的显示效果--转载
  3. centos .php 源码,CentOS 源码安装PHP
  4. Facebook人工智能实验室的前世今生
  5. 我可以在目录中放入多少个文件?
  6. 精通JavaScript DOM事件
  7. JQuery高效制作网页特效第六章jQuery选择器课后作业
  8. 华为android已锁定,教你如何查看华为手机是否己解锁bootloader
  9. PDF编辑方法,怎么删除PDF文档中的空白页
  10. 初创期企业运营必备手册-工具包-绩效考核方法工具包
  11. 如何将android文件标题归中,Android复习题归纳总结
  12. 递归计算 1 - 100 的和
  13. 模拟山羊收获日Android,模拟山羊收获日手机版
  14. java foreach 空指针_foreach循环报NPE空指针异常
  15. linux 黑屏后死机,如何修复各种各样的黑屏死机
  16. python 判断矩阵是否正交
  17. 2020鼠年正月十一3000+股跌停后再次补仓
  18. c语言用赫夫曼编码压缩文件,用哈夫曼编码C语言实现文件压缩
  19. could be decompression bomb DOS attack
  20. 《被讨厌的勇气》- 一切烦恼都来自人际关系

热门文章

  1. oracle tabe unlock_oracle数据库管理常用语句(不断更新中)
  2. 新风系统风速推荐表_新风系统送风口风速怎么选择 新风系统送风口风速选择标准【详解】...
  3. 熙牛《新金融领域—科技交易论坛》圆满落幕
  4. mysql idataparameter_C# 中SqlParameter类的使用方法小结
  5. 世界各国GDP国民生产总值1960-2021
  6. iOS项目分析及优化
  7. python根据文件名分类文件
  8. 如何在Win7安装U盘中加入USB3.0的支持
  9. 关于iOS7 设计师需要了解的十件事
  10. 区间gcd (带修) 线段树