前几天编译uboot时遇到一些问题,先记录一下,linux嵌入式开发还是蛮意思的,要想玩的溜,就必须掌握最基本的uboot、kernel移植、适配、裁剪。
二 编译uboot
2.1 解压uboot源码以及交叉编译器到root目录
cd ~
tar xvf bb-black-debian-u-boot.tar.bz2
tar xf gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux.tar.xz
2.2 安装交叉编译器
gedit /etc/profile
在最后一行加入环境变量
export PATH=$PATH:~/gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux/bin/
使配置生效
source /etc/profile
2.3 查看版本
arm-linux-gnueabihf-gcc -v
这里会报错
bash: /...-gcc: No such file or directory
没人任何提示信息,让人摸不着头脑,搜索这个问题,发现是少了库,于是
apt-get install lib32z1
又报错了
error while loading shared libraries:
libstdc++.so.6: cannot open shared object file:
No such file or directory
这次报错倒是有提示信息,这样就简单了,安装缺少的库就可以了
apt-get install libstdc++6
apt-get install lib32stdc++6
2.4 编译uboot
cd ~
cd u-boot
make ARCH=arm CROSS_COMPILE=${CC} distclean //清理
make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_config //配置
make ARCH=arm CROSS_COMPILE=${CC} //编译输
编译成功
2.5 烧录测试
2.5.1 接上串口线
2.5.2 复制镜像文件到SD卡,从SD卡启动,log如下:
U-Boot 2014.04-rc3 (Aug 17 2022 - 20:55:03)
I2C: ready
DRAM: 512 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - readenv() failed, using default environment
Net: < ethaddr > not set. Validating first E-fuse MAC
cpsw, usb_ether
Warning: Your board does not use generic board. Please read
doc/README.generic-board and take action. Boards not
upgraded by the late 2014 may break or be removed.
Hit any key to stop autoboot: 0
U-Boot#
U-Boot# version
U-Boot 2014.04-rc3 (Aug 17 2022 - 20:55:03)
arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1-4.8-2014.03 - Linaro GCC 2014.03) 4.8.3 20140303 (prerelease)
GNU ld (crosstool-NG linaro-1.13.1-4.8-2014.03 - Linaro GCC 2014.03) 2.24.0.20140311 Linaro 2014.03
U-Boot#
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
嵌入式系统
+关注
关注
41文章
3586浏览量
129411 -
Linux系统
+关注
关注
4文章
593浏览量
27387 -
SD卡
+关注
关注
2文章
563浏览量
63872 -
Uboot
+关注
关注
4文章
125浏览量
28212 -
交叉编译器
+关注
关注
0文章
10浏览量
7537
发布评论请先 登录
相关推荐
请教一下uboot下的网卡驱动程序
请教一下,在uboot下的网卡驱动程序,为什么只要发送中断请求,就会调用驱动中的发送函数,只要有接收中断就调用驱动中接收函数呢,我没有看到驱动中的接收函数或发送函数与中断服务程序绑定起来啊,那为什么只要有相应的中断来就会调用发送
发表于 10-27 12:51
【LOFT-Q试用】编译环境搭建 和 编译uboot
今天终于把GitHub中的代码和工具都下载下来了.编译个uboot来试试安装文件指引,先装一下工具source loftq-build/sunxi_env.sh但安装过程需要用到 GCC. 我的版本
发表于 05-24 23:06
【Rico Board试用体验】uboot和、内核编译和烧录
本帖最后由 jeffc_good 于 2016-11-8 00:03 编辑
通过编译一遍uboot以及内核,可以熟悉一下整个的开发环境。首先是进去Bootloader目录,将压缩
发表于 11-08 00:01
记录一下arm裸板编程出现的问题
led. o -o led.elf ,错写成 arm-linux-ld -Ttext 0 led. o start.o -o led.elf在连接的时候必须将启动文件放在第一的位置,因为是在start文件中调用的其他函数,这种错误在make时不会出现错误,记录
发表于 03-23 11:07
iTOP4412精英版Ubuntu16.04系统编译uboot
令“cd”(一定要使用 root 账户),接着使用“vim .bashrc”命令,打开环境变量配置文件。修改环境变量配置文件最底行(取消注释),如下图所示。接着还需要更新一下环境变量,如下图所示,使用命
发表于 09-03 10:56
uboot编译出来不能用该怎么办?
使用如上的uboot_1.1.6_OpenJTAG_2g 进行编译生产的bin文件才是可以用的。我想问一下这两个区别是啥,在视频中韦老师编译生成的u
发表于 10-10 03:40
简单看一下鸿蒙系统中u-boot代码的编译步骤流程
u-boot在鸿蒙系统中的作用就不说了,这里只简单看一下鸿蒙系统中u-boot代码的编译步骤流程。u-boot的源代码部署在://device/hisilicon/third_party/uboot
发表于 03-29 14:15
简单分析一下rk3399-uboot的源码
使用的配置文件是:下载uboot原生的代码和瑞芯微提供的源码进行对比,首先肯定对比一下Makefile发现差异如下:这一段其实只是指定交叉编译工具链没什么好解释的。
发表于 04-15 11:57
用OK_MX6X_C_V1.1开发板移植一下新的Uboot出错是什么原因
各位好,我想用OK_MX6X_C_V1.1开发板移植一下新的Uboot,如Uboot2017.11,移植编译一直出现这个错误,如图,请问这个
发表于 11-29 07:56
uboot编译过程详细分析
现在的uboot已经做得和kernel很像,最主要的一点是,uboot也使用了dtb的方法,将设备树和代码分离开来(当然可以通过宏来控制)。
发表于 12-11 15:39
•3.1w次阅读
一文分析Uboot启动流程
Uboot是嵌入式系统中最常用的bootloader,这里我们以s3c2410为例分析一下uboot的启动流程。首先通过uboot的链接文件,我们可以看到
评论