IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> WDS-设置交叉编译器与下载源码 -> 正文阅读

[系统运维]WDS-设置交叉编译器与下载源码

1 交叉编译器

lzy@lzy-virtual-machine:~/imx6ull-sdk/ToolChain$ ls -ltr
总用量 16
drwxr-xr-x 12 lzy lzy 4096 1014 20:22 arm-buildroot-linux-gnueabihf_sdk-buildroot
drwxr-xr-x  9 lzy lzy 4096 1014 20:23 gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf
drwxr-xr-x  8 lzy lzy 4096 21  2017 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf

韦东山推荐使用的交叉编译器,更全一些,但是没有测试是否可以编译内核
arm-buildroot-linux-gnueabihf_sdk-buildroot

韦东山另外一款交叉编译器不推荐使用
gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf

正点原子官方推荐的交叉编译器,库少一些,可编译内核
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf

1.1 环境变量存放

关于环境变量设置,存放在~/.bashrc。保存结束后,运行source ~/.bashrc

export ARCH=arm

export CC=arm-linux-gnueabihf-gcc
export CROSS_COMPILE=arm-linux-gnueabihf-
export PATH=$PATH:/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

# 下面三个是arm-buildroot-linux-gnueabihf
#export CC=arm-buildroot-linux-gnueabihf-gcc
#export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
#export PATH=$PATH:/home/lzy/imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin

1.2 查看交叉工具链include和lib目录

执行下面命令来确定目录,它会列出头文件目录、库目录(LIBRARY_PATH)

echo 'main(){}'| arm-linux-gnueabihf-gcc -E -v -

请添加图片描述

1.3 添加一些其他的库,比如交叉编译 freetype

具体参考嵌入式Linux应用开发完全手册V4.0_韦东山全系列视频文档-IMX6ULL开发板.pdf(P379)
从上一节中,大致选取交叉编译器头文件和依赖库可以放在:

/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include
/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib

编译时会用到的命令
1、arm-linux-gnueabihf交叉编译器

cp include/* -rf /home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include
cp lib/* -rfd /home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib

2、arm-buildroot-linux-gnueabihf交叉编译器

cp include/* -rf /home/lzy/imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/include/
cp lib/* -rfd /home/lzy/imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot/usr/lib

3、编译命令

#zlib编译
export CC=arm-linux-gnueabihf-gcc
./configure   --prefix=/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/
make && make install

#libpng编译
./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf --prefix=/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/
make && make install

#freetype 编译

./configure CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf CFLAGS=-I/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include LDFLAGS=-L/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/lib --prefix=/home/lzy/imx6ull-sdk/ToolChain/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr
make && make install

1.4 /usr/local/lib/libz.so: file not recognized: File format not recognized

在交叉编译freetype提示这个错误,经过查阅如下:
/usr/local/lib/libz.so: file not recognized: File format not recognized报错的原因大概就是/usr/local/lib/libz.so是x86的64位架构的,不能用在板子上,所以需要从新编译zlib。
在这里插入图片描述
解决办法很简单:

# 在这两个文件下删除相关即可,但是不要乱删
sudo rm -rf /usr/local/lib/libz.* pkgconfig/
sudo rm -rf /usr/local/include/*

# 切换到交叉编译器的include和lib库里,把原来那种错误方法编译出来的文件删除
# 如果记不得直接删除整个,重新解压即可。
# 也可使用 ls -ltr 查看最近放到这里的文件,选择进行删除
rm -rf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/ 

# 删除freetype和所依赖的两个文件夹
rm -rf freetype-2.10.2/ libpng-1.6.37/ zlib-1.2.11/

2 下载源码

参考嵌入式Linux应用开发完全手册V4.0_韦东山全系列视频文档-IMX6ULL开发板(P139)

book@100ask:~$ git clone https://e.coding.net/codebug8/repo.git
book@100ask:~$ mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk
book@100ask:~/100ask_imx6ull-sdk$ ../repo/repo init -u \
https://gitee.com/weidongshan/manifests.git -b \
linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml --no-repo-verify
book@100ask:~/100ask_imx6ull-sdk$ ../repo/repo sync -j4

第一行:下载repo
第二行:创建100ask_imx6ull-sdk,并进入100ask_imx6ull-sdk文件夹。
第三行:没看懂,大致意思是使用repo,讲本地与网址进行绑定?
第四行:同步下载源码

2.1 遇到的问题 /usr/bin/env: “python”: 没有那个文件或目录

在第三行运行时,出现这个错误,我想到是python环境变量的问题,但是具体怎么设置没有思路,在百问网有个解答。
在这里插入图片描述
老师给的思路是,有一个脚本没有执行,然后我通过P107下载Configuring_ubuntu.sh,命令为

book@100ask: ~ $ wget --no-check-certificate -O Configuring_ubuntu.sh \
https://weidongshan.coding.net/p/DevelopmentEnvConf/d/DevelopmentEnvConf/git/raw/master/Configuring_ubuntu.sh &&\
sudo chmod +x Configuring_ubuntu.sh &&\
sudo ./Configuring_ubuntu.sh

在这里插入图片描述
找到脚本了,理论上直接运行即可,但是我是41~20.04.2-Ubuntu,不可以直接运行,那就打开脚本去看具体操作了哪些。经过合理的推敲,最终锁定了在这部分区域,最上面一行命令为apt-get install python3.8 dosfstools mtools python3-setuptools python3-pip -y安装一些软件,其中比较在意是python3.8,下面紧接着两行,分别是sudo rm -f /usr/bin/pythonln -s /usr/bin/python3.8 /usr/bin/python,大致意思就是在/user/bin/下创建一个软链接python指向python3.8,下面都跟python没有太大关系,因此设置一下即可。
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 20:02:05  更:2021-10-16 20:03:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:57:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码