虚拟机UBUNTU12.04 64bit 701N 芯片是7020clg400

XILINX的交叉编译器安装

主要就是安装出现的一些问题,方法总结:

主要涉及的问题是,ubuntu12.04 64位系统,不能再采用sudo apt-get install ia32-libs命令,这样我们得到的问题是:

下列软件包有未满足的依赖关系:
 ia32-libs : 依赖: ia32-libs-multiarch
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

网上也没有找到合适的方法。

解决办法:

$ sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386       (第一步库安装)

我本意是运行adb的。运行adb时,发现缺乏libncurses5库,自己动手,丰衣足食,比葫芦画瓢,

$sudo apt-get install libncurses5:i386

在64位下,gcc默认编译代码位64位的,但是,如果你想编译位的,可以用gcc -m32选项,来设置。

不过,不幸的是,会出现错误,说找不到 /usr/include/features.h文件什么的。google一下,发现用这种方法:

$sudo apt-get install g++-multilib

运行上面三个兼容库,便能解决高版本64位系统的兼容以及依赖问题。希望大家加油努力尝试,有什么问题请在下面留言。

二、Uboot编译

由于系统限制,依赖和版本问题,由此出现一些问题需要解决,下面全部给出

cd uboot(文件夹)

make zynq_zybo_config配置文件

报错:我的电脑 上的关于交叉编译工具的环境变量是 arm-xilinx-linux-gcc
经过一番折腾,最后在make命令后边指定了交叉编译工具,
make CROSS_COMPILE=arm-xilinx-linux-gnueabi- 切记,最后不要加gcc,那个不用管。
好吧,终于解决了,可是编了半路,有一个问题,
In file included from tools/aisimage.c:10:0:
include/image.h:920:27: fatal error: openssl/evp.h: 没有那个文件或目录
# include <openssl/evp.h>
^
compilation terminated.
scripts/Makefile.host:111: recipe for target 'tools/aisimage.o' failed
make[1]: *** [tools/aisimage.o] Error 1
Makefile:1194: recipe for target 'tools' failed

make: *** [tools] Error 2

这个是openssl的依赖的问题,运行命令sudo apt-get install libssl-dev 即可解决。
好吧再来一次,这回貌似没有什么问题,好长时间过去了,我还盲目兴奋了一会儿,突然又有一个问题:
./scripts/dtc-version.sh: 行 17: dtc: 未找到命令
./scripts/dtc-version.sh: 行 18: dtc: 未找到命令
*** Your dtc is too old, please upgrade to dtc 1.4 or newer
Makefile:1353: recipe for target 'checkdtc' failed
make: *** [checkdtc] Error 1

好吧,,dtc是device-tree-compiler的缩写,即设备树编译器,说明系统中没有安装这个编译器
安装不就行了:
sudo apt-get install device-tree-compiler

这次一次性编译到底了。

由于我用的ubuntu12.04所以会继续报错

根据uboot编译打印信息:

dtc: invalid option -- 'i'
Usage:

dtc [options] <input file>

报错信息后面省略。。。。

也就是DTC版本不对,大家可以用$dtc -v命令查看自己的版本,我看需要DTC1.4所以我下载对应的安装。

32位:https://launchpad.net/ubuntu/xenial/i386/device-tree-compiler/1.4.0+dfsg-2

64位:https://launchpad.net/ubuntu/xenial/amd64/device-tree-compiler/1.4.0+dfsg-2

请大家注意下载。

下载.dep文件,进行目录内使用dpkg -i device-tree-compiler_1.4.0+dfsg-2_i386.deb 进行安装。

root@ubuntu:/home/ws/zc702# dpkg -i device-tree-compiler_1.4.0+dfsg-2_i386.deb 
(Reading database ... 126283 files and directories currently installed.)
Preparing to replace device-tree-compiler 1.3.0-2 (using device-tree-compiler_1.4.0+dfsg-2_i386.deb) ...
Unpacking replacement device-tree-compiler ...
Setting up device-tree-compiler (1.4.0+dfsg-2) ...
Processing triggers for doc-base ...
Processing 2 changed doc-base files...
Registering documents with scrollkeeper...
Processing triggers for man-db ...
root@ubuntu:/home/ws/zc702# dtc -v
Version: DTC 1.4.0

安装后查看dtc版本为1.4.0,OK  到此生成出来uboot.img,恭喜大家

三、内核编译

内核编译命令:

zt@zt-virtual-machine:~/ZYNQ/User_file/V2017.4/linux-xlnx-xlnx_rebase_v4.9_2017.4$make    ARCH=arm CROSS_COMPILE=/home/zt/ZYNQ/User_file/CodeSourcery/bin/arm-xilinx-linux-gnueabi- UIMAGE_LOADADDR=0x8000 uImage

报错:"mkimage" command not found - U-Boot images will not be built

make[1]: *** [arch/arm/boot/uImage] 错误 1

make: *** [uImage] 错误 2

解决:按照以往经验,我们需要安装依赖包:

sudo apt-get install uboot-mkimage

在我的ubuntu16.04 64bit上无法进行安装,因此我们用方法二:

将uboot路径下的tools文件夹,设置到环境/etc/bash.bashrc下面:

export PATH=/home/paddyzhang/zynq_701n_linux/packages/u-boot-xlnx-xilinx-v2017.4/tools:$PATH

这是我的路径,可以根据你们自己的路径进行设置。

这样我们的内核编译结束。

四、我们生成自己需要的设备树文件。

命令:./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb /arch/arm/boot/dts/zynq_zybo.dts

这样可以生成dtb文件。但是我的虚拟机linux上会报错:

paddyzhang@paddyzhang-virtual-machine:/mnt/hgfs/F/board_file/701N/linux/dts$ dtc -I dts -O dtb -o system02.dtb zynq-zybo.dts 
Error: zynq-zybo.dts:15.1-9 syntax error

FATAL ERROR: Unable to parse input tree

解决办法:根据我测试和对比发现是include文件有点问题需要处理下:

 将这个文件自己处理为这样再生成。我们也根据自己的要求和需要来定制设备树,来适应我们的工程,我的理解为这样。所以设备树先生成一个,如果PL工程更改了,我们自己在设备树添加节点应该就OK了。

这是Zynq的Linux一直全部过程,今天2018/07/03.后面持续更新zynq的Linux下软硬件开发。打球去~~~~~~

后面有什么问题,大家留言,我继续优化不足

一天一阔阔儿ZYNQ的linux移植完整版(Linux环境搭建以及内核编译)相关推荐

  1. Linux疑难杂症解决方案100篇(十五)-万字长文带你深入Linux 内核学习:环境搭建和内核编译

    一.linux内核学习之一:环境搭建--安装Debian7.3 本系列文章假设读者已对linux有一定的了解,其实学习linux内核不需要有很深的关于linux的知识,只需要了解以下内容:linux基 ...

  2. 小知识点:ARM 架构 Linux 大数据集群基础环境搭建(Hadoop、MySQL、Hive、Spark、Flink、ZK、Kafka、Nginx、Node)

      换了 M2 芯片的 Mac,以前 x86 版本的 Linux 大数据集群基础环境搭建在 ARM 架构的虚拟机集群上有些用不了了,现在重新写一份基于 ARM 架构的,少数不兼容之外其他都差不多,相当 ...

  3. 三星 linux手机系统版本,三星手机将支持完整版 Linux

    IT 之家10 月 19 日消息,三星在 SDC 2017 开发者大会上宣布 Dex 即将支持运行完整版 Linux 发行版. 大家都知道,微软虽然不是第一个做手机连续(Continuum)功能的,但 ...

  4. 三星手机打不开php文件,三星手机将支持完整版Linux

    IT 之家10 月 19 日消息,三星在 SDC 2017 开发者大会上宣布 Dex 即将支持运行完整版 Linux 发行版. 大家都知道,微软虽然不是第一个做手机连续(Continuum)功能的,但 ...

  5. linux 下51单片机开发环境搭建

    linux 下51单片机开发环境搭建(arch linux) 编译sdcc 软件: sdcc 命令:sdcc file.c 得到一堆文件需要( .inx) 命令: packihx file.inx & ...

  6. Linux 下的 ActiveMQ C++ 环境搭建与测试

    Linux 下的 ActiveMQ C++ 环境搭建与测试 一.下载安装jdk jdk官网下载地址:https://www.oracle.com/technetwork/java/javase/dow ...

  7. 【Linux Mint 深度学习开发环境搭建】开发软件安装

    系列文章目录 第一章 Linux mint 深度学习开发环境搭建之Nvidia显卡相关软件安装 第二章 Linux mint 深度学习开发环境搭建之开发软件安装 第三章 Linux mint 深度学习 ...

  8. linux设备驱动开发之环境搭建(基于exynos4412)

    第一章 linux设备驱动开发之环境搭建(基于exynos4412) 目录 第一章 linux设备驱动开发之环境搭建(基于exynos4412) 1.搭建开发板运行环境 1.1.交叉开发模式 安装交叉 ...

  9. 视频教程-Linux下Shell从入门到精通完整版-Linux

    Linux下Shell从入门到精通完整版 京东商城运维架构师,京峰Linux云计算教学总监,担任国内多家知名社区运维专家网站Linux版主,专注Linux自动化运维,熟练LVS.Nginx,前端架构及 ...

最新文章

  1. 如何用法向量求点到平面距离_高中数学丨2020新标课本,空间向量与二面角所有知识点,一张表搞定...
  2. 认识nio中buf的三个常用属性
  3. VS2015安装简单的C#单元测试
  4. 【案例解析】 e家洁创始人:O2O创业的痛点与深坑
  5. Spring Boot AJAX 示例
  6. Java forEach中 Lambda Expr中的 final变量要求
  7. andoridstudio run图标是灰色两步解决
  8. 【Shiro】六、Apache Shiro Session管理
  9. 解决genemotion模拟器冲突导致的Android Studio无法启动ADB的问题
  10. CCF NOI1048 检测矩阵
  11. java比较器Comparator 和 Comparable 的区别
  12. 【SSH】---【Struts2、Hibernate5、Spring4】【SSH框架整合笔记 】
  13. 如何在ECLIPSE中使用MVN CLEAN INSTALL
  14. PHP网页表单输入框输入字符简体繁体互转(非JS)
  15. SpringBoot与Shiro整合-权限管理实战
  16. C/C++ %s %d %u 基本概念与用法
  17. Go 每日一库之 gorilla/handlers
  18. 苹果手机click事件失效
  19. 创建一个 Spring Boot 项目的4种方法,你会几种?- 第396篇
  20. 【码云周刊第 65 期】5个前端 UI 优秀框架

热门文章

  1. 形容等待时间长的句子_关于等待的句子大全
  2. SQLDBX找不到服务器 no server found
  3. windows11安装微软商店的ubuntu报错,已解决
  4. SMAA算法详解 - SMAADetectHorizontalCornerPattern
  5. Oracle数据库:oracle外连接left/right/full outer join on,oracle扩展的左右外连接展示符号(+)
  6. [20190227]Windows系统评估工具winsat.txt
  7. 百度UEditor 整合135编辑器到功能栏
  8. JS的日期操作:String转date日期格式、求日期差
  9. 国际最新LOGO设计趋势总结
  10. Spring Cloud 工具集