编译树莓派Uboot

开始学习Uboot,正好手头有树莓派,所以下载Uboot官方源码,官方源码已经加入了树梅派Uboot的代码。

一、环境搭建

1.虚拟机采用VMware,系统使用Ubuntu16.04

这里不介绍

 

2.Uboot下载

Uboot下载地址:http://ftp.denx.de/pub/u-boot/

下载最当前最新版本,

u-boot-2019.01-rc2.tar.bz22018-12-18 02:2513M

下载uboot源码后复制到/home/pi目录下解压

如果要查看官方支持的开发板可查看configs目录,如下图。(当然在该目录下也看到了firefly的rk3399,后面可以进行这个芯片的学习)

3.交叉编译器下载,这里的编译器可以选择gnueabi或者gnueabihf,在编译rk3399时换成64位的交叉编译器。

地址:http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/armeb-linux-gnueabihf/

在这里下载了一个较新的版本,在编译的过程中使用低版本会报错要求使用6以上的版本。

下载交叉编译器后复制到/home/pi目录下解压并修改文件夹名如下

配置环境变量

vim ~/.bashrc

在最后一行添加,注意$PATH后面有一个冒号:

export PATH=$PATH:/home/pi/gcc-linaro-arm-linux-gnueabihf/bin

然后重启或者执行source ~/.bashrc使环境变量生效

终端输入arm,两次按Tab键,出现arm-linux-gnueabihf安样证明交叉编译器环境变量配置成功。

二、编译

make rpi_3_32b_defconfig V=1 (V=1 表示make时显示详细信息)

报错,提示bison未安装

bison:GNU bison 是属于 GNU 项目的一个语法分析器生成器。Bison 把一个关于“向前查看 从左到右 最右”(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。它也可以为二义文法生成 “通用的 从左到右 最右” (GLR)语法分析器。

于是进行安装

安装完成后重新执行make rpi_3_32b_defconfig V=1

报错

flex:flex词法分析器是替代lex的免费开源软件。它是一个生成词法分析器(也称为“扫描仪”或“词法分析器”)的计算机程序。它经常在BSD派生的操作系统上与Berkeley Yacc解析器生成器一起用作lex实现(因为lex和yacc都是POSIX的一部分),或者与GNU bison(一个版本的 yacc)在* BSD端口[8]和Linux发行版中。 与Bison不同,flex不是GNU项目的一部分,也不是根据GNU通用公共许可证发布的。 [1] 

于是进行安装


 

完成后重新执行make rpi_3_32b_defconfig V=1

执行make menuconfig在图型界面下进行模块配置

报错,提示ncurses库没有

安装解决

执行make menuconfig,进入配置界面

设置环境变量export ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

编译

编译完成

 

 

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值