Zynq ZC706 传统方式移植Linux -- 编译kernel 文件系统 devicetree
1.kernel


实际操作时候,下面两条命令就够了。
make ARCH=arm xilinx_zynq_defconfig
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- uImage LOADADDR=0x00008000
2.文件系统
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842473/Build+and+Modify+a+Rootfs

实际操作命令:
gunzip ramdisk.image.gz
mkdir file_tmp
sudo mount arm_ramdisk.image -o loop ./file_tmp/
sudo umount ./file_tmp
gzip ramdisk.image
sudo apt-get install u-boot-tools
sudo mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz
3.devicetree



设备树编译出错
https://blog.csdn.net/qq_28398969/article/details/85235534
a.错误信息
$ ./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zc706.dts
Error: ./arch/arm/boot/dts/zynq-zc706.dts:7.1-9 syntax error
FATAL ERROR: Unable to parse input tree
b.原因
根据提示,是zynq-zed.dts这个文件的15行出错。
将该行修改为 /include/ “zynq-7000.dtsi”
c.重新执行命令
./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zc706.dts
可以在顶层目录看到生成的 devicetree.dtb 设备树文件
d.另一个解决方法:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
在./arch/arm/boot/dts/目录下会生成zynq-zed.dtb文件,
两个设备树文件内容是一样的,只是文件名不同。
实际操作执行以下命令:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs (一路Y)
在路径/home/zhangyi/work/linux-xlnx-master/arch/arm/boot/dts下生成zynq-zc706.dtb
改名为devicetree.dtb
将BOOT.bin devicetree.dtb uImage uramdisk.image.gz 拷贝到sd卡 然后上电
Hooray!
Zynq>
- 5.当然还是要体验一把helloworld了
在电脑linux环境中,创建一个hello.c:
#include <stdio.h>在hello.c路径下,生成可执行文件: cd /home/hlf/mnt/zynq_pro #hello.c所在目录
int main()
{
printf("hello hlf\n");
return 0;
}
source /opt/Xilinx/SDK/2017.1/settings64.sh #定位
arm-xilinx-linux-gnueabi-gcc hello.c -o hello -static #生成执行文件 zynq> mkdir -p /mnt/mmc
zynq> mount /dev/mmcblk0p1 /mnt/mmc
zynq> cd ./mnt/mmc/
zynq> ./zynq_hello
hello hlf hello hlf
Zynq ZC706 传统方式移植Linux -- 编译kernel 文件系统 devicetree的更多相关文章
- Zynq ZC706 传统方式移植Linux -- 编译u-boot
我用的是zc706不是zed 基本思路是: 1.安装交叉编译工具(见 https://www.cnblogs.com/idyllcheung/p/10532654.html ) 2.下载xilinx ...
- ZYNQ跑系统 系列(二) petalinux方式移植linux
三.搭建petalinux工程 0.定位目录 先在shell中找一个准备存放工程的地方,(我的是home/hlf/PRO),命令行cd home/hlf/PRO 1.定位编译链 根据安装p ...
- linux 编译kernel与svn版本冲突解决方法 [drivers/gpu/mali/mali/common/mali_kernel_core.o] 错误 1
问题: 系统正常编译linux系统kernel,安装svn后,kernel编译出错. 错误: CHK include/linux/version.h CHK include/gene ...
- ZYNQ跑系统 系列(二) petalinux方式移植linux petalinux-config遇到问题
petalinux-config --get-hw-description=. 报错 [INFO] sourcing bitbakeERROR: Failed to source bitbakeERR ...
- ZYNQ FLASH+EMMC手动移植LINUX启动
前言 虽可使用Petalinux进行移植,简单方便,但为了更清楚明白的了解整个流程,还是尝试了一波手动移植. 参考资料 ZYNQ Linux 移植:包含petalinux移植和手动移植debian9 ...
- Linux 编译kernel有关Kconfig文件详解
ref : https://blog.csdn.net/Ultraman_hs/article/details/52984929 Kconfig的格式 下面截取/drivers/net下的Kconfi ...
- 小白自制Linux开发板 三. Linux内核与文件系统移植
上一篇完成了uboot的移植,但是想要愉快的在开发板上玩耍还需要移植Linux内核和文件系统. 1.Linux内核 事实上对于F1C100S/F1C200S,Linux官方源码已经对licheepi ...
- Linux编译移植Qt5的环境_Xillinx的ZYNQ平台
Linux编译Qt环境 2017年的十一假期,足不出户,一个人在教研室里面搞Qt的移植.我手里面有Samsung的CortexA8,Samsung的 CortexA53还有Ti的Sitara系列的AM ...
- centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课
centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...
随机推荐
- Scala对class/object反射
近期有需求,要根据解析字符串,根据字符串的内容去调用方法.想到的基本就是使用反射.但是基本上能找到的资料,全没有讲scala的反射.只有零星点点的讲解.大部分都是用scala的语法写java反射最后翻 ...
- Django 框架 数据库操作2
一.ORM的操作方法总结 get(self, *args, **kwargs): # 获取单个对象 def one_get(request): #直接得到一个表对象,也就是表记录 如果得到多个会报错 ...
- PLSQL的SQL%NOTFOUND的使用场景
SELECT * INTO v_ticketStorageRow FROM BDM_TICKET_STORAGE WHERE p_startTicketNo >= START_NO_ AND p ...
- 16-Python3 条件控制
2018-11-20 11:41:15 print('狗狗的年龄兑换*********************************************************') age = ...
- [Java] Header checkBox in Jtable
The reference is from here. 在Jtable里面我们可能会有checkbox, 而有时候我们有很多checkbox需要同时check或者同时uncheck的时候, 如果有一个 ...
- centos7及服务器端安装python2.7.13, setuptools, pip
1. 安装python2.7.13 因为涉及到安装到服务器,所以可能不能直接在usr/bin及usr/local/bin下安装,所以本文详解安装在自定义目录下. 下载安装包: $ wget https ...
- System.ArgumentException: 目标数组的长度不够。请检查 destIndex 和长度以及数组的下限
扫码支付接口将要上线,近几天在优化系统性能.昨天把日志Helper类的日志记录改成了使用Queue<T>对象来实现异步处理.做了单元测试,并模拟多线程来测试后,发现正常.今天将站点部署到准 ...
- FlexViewer之整体框架解析
参考:https://www.cnblogs.com/naaoveGIS/p/3915912.html GIS之家:https://xiaozhuanlan.com/gishome 小专栏:https ...
- Tomcat任意文件上传漏洞CVE-2017-12615
文章来源:https://blog.csdn.net/qq1124794084/article/details/78044756 漏洞影响的tomcat版本为tomcat7.0.0-7.0.81版本 ...
- tp5 auth权限设置
案例:把所需要的auth类放在一个公共的地方引用,我这里就只是放在了与application同级的extend里面的org所以我在公共控制器里面实例为use \org\Auth; 然后我再公共控制器里 ...