@

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移植到自己的开发板(四)问题汇总的更多相关文章

  1. Linux移植到自己的开发板(二)UBOOT和Linux

    @ 目录 一.uboot跳转到Linux 二. Linux内核启动之解压阶段 三. Linux内核启动之汇编阶段 插曲:关于Kconfig和Makefile 四. Linux内核启动之C语言阶段 五. ...

  2. Linux移植到自己的开发板(三)根文件系统

    @ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...

  3. Linux移植到自己的开发板(一)环境搭建

    环境搭建 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 1. 在Windows系统安装VMware15软件: 2. 网上下载并解压u ...

  4. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  5. live555 交叉编译移植到海思开发板

    本文章参考了.http://blog.csdn.net/lawishere/article/details/8182952,写了hi3518的配置说明.特此感谢 https://blog.csdn.n ...

  6. 移植Mplayer到OK6410开发板

    移植Mplayer到OK6410开发板 作者:vasage 项目需要,需要将Mplayer移植到开发板上,所以今天花了一下下午成功移植,其中参考很多文档,后发现许多文档陈旧,些许文档有少量错误,所以这 ...

  7. 迅为三星Exynos 4412开发板四核Cortex-A9ARM安卓linux开发板

    开发板光盘资料包含:原理图(PDF格式).底板PCB(Allegro格式).驱动程序源码.芯片和LCD数据手册.开发环境.产品使用手册. 4412开发板简介: iTOP-Exynos4412开发板采用 ...

  8. 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡

    本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...

  9. 移植BOA服务器到开发板

    移植BOA 服务器到GEC210 开发板 开发平台主机:VMWare--Ubuntu 10.04 LTS开发板:GEC210 / linux-2.6.35.7编译器:arm-linux-gcc-4.5 ...

随机推荐

  1. python基础语法_2基本数据类型

    http://www.runoob.com/python3   大纲 Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionarys(字典 ...

  2. 关于git和SVN的介绍和区别

    主要对git,svn进行一个简单的介绍. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜 ...

  3. 2、Linux基础--常用系统命令与快捷键

    笔记 1.昨日问题 1.mac系统虚拟机的问题 2.虚拟机连不上网 1.xshell连接不上 1.虚拟网络编辑器和vmnat8网卡设置错误 2.ping不通百度 1.DNS IP编写错误 2.网卡的网 ...

  4. Solution -「LOCAL」充电

    \(\mathcal{Description}\)   给定 \(n,m,p\),求序列 \(\{a_n\}\) 的数量,满足 \((\forall i\in[1,n])(a_i\in[1,m])\l ...

  5. 基于containerd二进制部署k8s-v1.23.3

    文章目录 前言 k8s 组件 环境准备 创建目录 关闭防火墙 关闭selinux 关闭swap 开启内核模块 分发到所有节点 启用systemd自动加载模块服务 配置系统参数 分发到所有节点 加载系统 ...

  6. GIT学习——天天都在用Git,那么你系统学习过吗?(学习过程)

    你系统学习Git了吗? 学习圣思园张龙老师的Git课程. 使用Mac编程的好处,不是因为Mac长得好看 Git内容学习准备 如果你还没有用Git,就不要写代码了. GitHub仓库的使用. 新员工入职 ...

  7. Java泛型的那些事

    1.泛型概述 1.1.为什么使用泛型 没有泛型,在编写代码时只能使用具体类型或Object类型,无法做到使用者想要使用什么类型就是类型.比如:创建一个方法,形参需要指定需要使用的数据类型,在创建方法之 ...

  8. [旧][Android] ButterKnifeProcessor 工作流程分析

    备注 原发表于2016.05.21,资料已过时,仅作备份,谨慎参考 前言 在 [Android] ButterKnife 浅析 中,我们了解了 ButterKnife 的用法,比较简单. 本次文章我们 ...

  9. jQuery下载安装使用教程

    一:下载jQuery 下载链接:jQuery官网 中文文档:jQuery AP中文文档 1.jQuery版本 1.x:兼容IE678,使用最为广泛的,官方只做BUG维护,功能不再新增.因此一般项目来说 ...

  10. 使用教程:宝塔服务器管理助手Linux面版

    网页提示:宝塔Linux面板初始化成功,点击登陆页面:直接使用初始化配置时填写的帐号及密码登陆面板功能:网站管理.FTP管理.数据库管理.系统安全.文件管理.计划任务.环境设置. 方法/步骤1: 使用 ...