Linux移植到自己的开发板(四)问题汇总
@
1 使ubuntu支持两个版本的编译链:
/etc/environment改为如下,重启生效后,
当我们指定CROSS_COMPILE=arm-none-linux-gnueabi-,系统肯定会用4.3.2的编译器;
当我们指定CROSS_COMPILE=arm-linux-时,两个版本都支持,用哪个估计和环境变量设置的顺序有关,所以我使用arm-linux-时都加上绝对路径:CROSS_COMPILE=/work/tools/gcc-3.4.5-glibc-2.3.6/bin/arm-linux-,这样就明确知道用的哪个编译器了。
echo $PATH
/usr/local/arm/4.3.2/bin:/work/tools/gcc-3.4.5-glibc-2.3.6/bin/
2 版本问题:
使用3.4.5编译链时,CROSS_COMPILE设置为:arm-linux-
使用4.3.2、4.4.3编译链时,CROSS_COMPILE最好设置为:arm-none-linux-gnueabi-
uboot2010.03
3.4.5、4.3.2编译出来的都ok,**4.4.3编译出来的网络ping不通 **;
Linux2.6
3.4.5、4.3.2、4.4.3编译出来的都ok;
4.3.2、4.4.3等高版本编译器编译时必须在menuconfig中选中如下项,不然挂载根文件系统后,有输入和输出回显,但是进不了文件系统命令行!
Kernel Features --->
[※] Use the ARM EABI to compile the kernel
[※] Allow old ABI binaries to run with this kernel (EXPERIMENTAL)
Linux4.14
得用高版本的编译器,例如4.4.3的
busybox1.7.0 //3.4.5、4.3.2、4.4.3编译出来的都ok;
busybox1.20.2 //3.4.5、4.3.2、4.4.3编译出来的都ok;
busybox1.33.1 //4.3.2、4.4.3编译出来的都ok;
使用3.4.5时,拷贝动态链接库:
cp xxx/gcc-3.4.5-glibc-2.3.6/arm-linux/lib/*.so* /home/test/rootfs/lib –d
使用4.3.2时,拷贝动态链接库:
cp xxx/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*.so* /home/test/rootfs/lib –d
使用4.4.3(4.5.1)时,拷贝动态链接库:
cp xxx/4.4.3/arm-none-linux-gnueabi/lib/*.so* /home/test/rootfs/lib –d
UBOOT、kernel、busybox用不同版本的编译链编出来的没关系,可以运行。
例如3.4.5编译uboot、4.3.2编译kernel、3.4.5编译busybox,组合起来可以运行。
busybox和rootfs使用的动态库需要同一个版本的编译器。
3 ubuntu版本的vscode下载网速太慢:
首先去vscode官网下载适合ubuntu的deb文件,弹出下载框如下;
复制下载网址,将/stable前换成 vscode.cdn.azure.cn
就可以快速下载。

4 ubuntu占用空间过大
使用df -hl可以查看是哪个文件夹过大,去对应文件夹进行文件清理;
如果用命令查看ubuntu实际占用内存不大,但其镜像文件vmdk占用却很大,那么需要进行磁盘清理:进入ubuntu虚拟机,执行
sudo vmware-toolbox-cmd disk shrink /
最终vmdk占用空间和实际的就一致了。
磁盘清理期间我遇到问题
未能压缩“......vmdk”: 文件系统的空间不足,无法执行选定的操作。
原因是假如你的虚拟机占用了100G,执行shrink 指令时需要临时再占用大约100G, 即总共需要磁盘约200G剩余空间才能正确执行。所以必须得把磁盘空间留出这么多,才能执行以上指令。
5 执行make zImage 出错 lzop: not found
找关键词 error或者/bin/sh . :not found定位问题原因
比如提示 /bin/sh: 1: lzop: not found
则安装:
sudo apt install lzop
如果上一步执行时又提示
E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution).
那么执行以下命令:
sudo apt-get --fix-broken install
6 make busybox报错:
使用arm-linux-gcc3.4.5编译busybox1.20.2时报错如下:
miscutils/nandwrite.c:49:26: mtd/mtd-user.h: No such file or directory
参考网友解决方案:
cp /usr/include/mtd/ ./include/mtd/ -a
Linux移植到自己的开发板(四)问题汇总的更多相关文章
- Linux移植到自己的开发板(二)UBOOT和Linux
@ 目录 一.uboot跳转到Linux 二. Linux内核启动之解压阶段 三. Linux内核启动之汇编阶段 插曲:关于Kconfig和Makefile 四. Linux内核启动之C语言阶段 五. ...
- Linux移植到自己的开发板(三)根文件系统
@ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...
- Linux移植到自己的开发板(一)环境搭建
环境搭建 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 1. 在Windows系统安装VMware15软件: 2. 网上下载并解压u ...
- 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...
- live555 交叉编译移植到海思开发板
本文章参考了.http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明.特此感谢 https://blog.csdn.n ...
- 移植Mplayer到OK6410开发板
移植Mplayer到OK6410开发板 作者:vasage 项目需要,需要将Mplayer移植到开发板上,所以今天花了一下下午成功移植,其中参考很多文档,后发现许多文档陈旧,些许文档有少量错误,所以这 ...
- 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板
开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...
- 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡
本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...
- 移植BOA服务器到开发板
移植BOA 服务器到GEC210 开发板 开发平台主机:VMWare--Ubuntu 10.04 LTS开发板:GEC210 / linux-2.6.35.7编译器:arm-linux-gcc-4.5 ...
随机推荐
- Python支付宝单笔转账接口
开发信息 接口加签方式为证书模式 证书模式好处是可以使用支付宝的转账到支付宝账户,也就是提现功能,公钥模式不能实现转账到支付宝账户. 此DEMO利用单笔转账到支付宝账户接口[提现功能]用户可以通过此D ...
- 从零开始, 开发一个 Web Office 套件 (3): 鼠标事件
这是一个系列博客, 最终目的是要做一个基于HTML Canvas 的, 类似于微软 Office 的 Web Office 套件, 包括: 文档, 表格, 幻灯片... 等等. 对应的Github r ...
- 前端表单标签form 及 简单应用
今日内容 form 表单(重点) 后端框架之 flask 简介 内容详细 form 表单 1.作用 form 表单可以在前端获取用户输入的数据并发送给后端(服务端) 2.input 标签 获取用户数据 ...
- 面试突击25:sleep和wait有什么区别
sleep 方法和 wait 方法都是用来将线程进入休眠状态的,并且 sleep 和 wait 方法都可以响应 interrupt 中断,也就是线程在休眠的过程中,如果收到中断信号,都可以进行响应,并 ...
- 学习Spring5必知必会(4)~使用注解配置、使用java代码配置
● 注意:使用注解并不能完全取代xml配置,比如配置连接池DruidDataSource,我们就不能到这个类中去贴注解. 想要实现零配置(完全不使用xml进行配置):javaConfig + 注解 ● ...
- 『无为则无心』Python面向对象 — 57、类属性和实例属性
目录 1.类属性 (1)类属性的访问 (2)修改类属性 2.类属性和实例属性区别 1.类属性 (1)类属性的访问 类属性就是 类对象 所拥有的属性,它被 该类的所有实例对象 所共有. 类属性可以使用 ...
- NSSCTF-[UTCTF 2020]Zero
做misc嘛,先把题目一开始就给的一串英文翻译一下, 可以看到说明的是这个txt文档可能是包含其他的文本量,这个文本里面还有其他的东西,只是正常是看不到, 使用binwalk或者fomost分离尝试, ...
- Zabbix是什么?
概述 Zabbix 是一个企业级的分布式开源监控方案,可以监控服务器健康性以及网络参数的一款软件,Zabbix几乎可以为任何时间配置邮件警告,这样用户可以实时通过邮箱接收服务器所发生的任何问题.对于已 ...
- HDFS的优缺点
HDFS是一个分布式文件存储系统,前身来自于Google发布的大数据三驾马车之一GFS (Google File System). HDFS的优点: 1.高容错 hdfs具有很高的容错性,数据自动保存 ...
- SpringMVC教程--Idea中使用Maven创建SpringMVC项目
1.新建项目 参照idea教程中的创建maven项目https://www.cnblogs.com/daxiang2008/p/9061653.html 2.POM中加入依赖包 (1)指定版本 (2) ...