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 ...
随机推荐
- BiLSTM学习
转自:https://blog.csdn.net/aliceyangxi1987/article/details/77094970 https://blog.csdn.net/jojozhangju/ ...
- 使用 Oracle Data Access Components连接oracel
使用微软自带的oracle连接类,在framework4.0中被标识为弃用,强行用它开发了Winform程序,发布放到XP上提示: Error System.Data.OracleClient req ...
- CSS选择器操作大全
一,CSS选择器分类 二,选择器语法 1,基本选择器语法 选择器 类型 功能描述 * 通配选择器 选择文档中所以HTML元素 E 元素选择器 选择指定类型的HTML元素 #id ID选择器 选 ...
- Linux 查找安装包所在目录的常用方法
1. which命令查找出相关命令是否已经在搜索路径中: $which gcc //显示出GNC的C编译器安装在哪个目录 返回: /usr/bin/gcc 注意:如果which没有找到要找的命令,可以 ...
- Linux开机自启配置
1.将自己写好的脚本或命令写入/etc/rc.local文件中.系统会根据该文件来启动所指定的脚本或命令. 例:我有一个脚本:/root/usr/local/scripts/1234.sh 那么直接将 ...
- StackExchange.Redis在net中使用
redis 官网https://redis.io redis 下载 进入下载页面 https://redis.io/download https://github.com/MicrosoftArc ...
- Batch normalization批标准化的理解
BN的基本思想,其提出是解决梯度消失的问题的某一方法. 在深度神经网络做非线性变换前的激活输入值(x=wu+b,u是输入),当层数越深的时候,输入值的分布就会发生偏移,梯度出现消失的情况, 一般是整体 ...
- shell基础:用户自定义变量
- 42.PHP--电商网站的询价插件
windows下使用php自带的mail函数实现简单的邮件发送实例(QQ亲试成功) 功能实现:通过中间邮箱把客户的需求和产品信息全部发送到公司的业务员邮箱 环境及工具: win7_64bit phps ...
- nginx配置文件优化
nginx配置优化 #定义Nginx运行的用户和用户组user www www: #启动工作进程,通常设置成和cpu的数量相等worker_processes 8: 最多开启8个,8 ...