ZYNQ7000 学习 (八) 建立LINUX开发环境并编译LINUX和UBOOT以及生成设备树

视频八:建立LINUX开发环境并编译LINUX和UBOOT以及生成设备树

打开虚拟机;打开Ubuntu系统;这个系统是在视频八里面网盘里面的Ubuntu

STEP 1:

1,几条简单LINUX命令: cd 进入文件夹。 ls 列表文件 。 sudo super do
以当前登陆管理员方式运行 ,su 获取最高管理员权限【注3】,exit
是当前用户退出终端。

2,解压缩命令是**tar -zxvf ,**强制删除目录命令是 rm -rf .关机命令 sudo
shutdown -h now
.

3, TAB键有文件名(或者文件夹名)自动补齐的功能。

4,虚拟机的ip地址在虚拟机里面用ifconfig 获取。
其实连接虚拟网桥服务软件连接。

5,虚拟机装有ftp服务器,以用户z身份登录,可以任意添加删除文件,实现在windows里面像操作本地文件一样操作虚拟机里面的文件。

6,虚拟机装有ssh服务器,默认端口号是22,以ssh终端登录上去以后可已经命令行操作。

(这个视频主要是熟悉这开发环境,后面还会用到的)
命令输入:在这里插入图片描述
在这里插入图片描述

(查看虚拟机的ip地址,可以在外面进行ftp访问Ubuntu内部文件。
这个就是内部文件:
在这里插入图片描述

STEP 2

U-BOOT 编译:

1,解压缩UBOOT.

2,make CROSS_COMPILE=arm-xilinx-linux-gnueabi- zynq_zed_config [注1]

3,make

4,cp u-boot …/u-boot.elf 这个文件是我们所需要的。

[注1]“make <board_name>_config” “include/configs/<board_name>.h”

红色标注为输入:

在这里插入图片描述

(目的:确认编译器是否编译好)

然后 在这个文件夹下面就可以找到(黄色标注)的两个源代码;

在这里插入图片描述

然后再解压缩:后面很长的话 输入一个u 然后按键tab就可以自动补齐了

在这里插入图片描述

解压缩:(tai -zxuf u-boot-diglient-…)

在看里面的文件:

在这里插入图片描述

也可以通过其他的像操作window系统一样在桌面有个主文件夹进去;

在这里插入图片描述

环境变量替换:把CROSS_COMPILE换成arm-xilinx-linux-gnueabi-(是在make
file文件夹里面)

下面第二个echo¥CROSS_COMPILE为回写就是验证它是否替换成功;(黄色部分为替换成功显示)

在这里插入图片描述

输入这个

在这里插入图片描述

在read me里面找到这个他的路径

在这里插入图片描述

进入include ,再进入configs
在这里插入图片描述
在这里插入图片描述

看到以下文件:标红的为要用到的文件;在这里插入图片描述

在输入gedit zynq_zed.h就可以打开了;
在这里插入图片描述

在这里插入图片描述

这个里面是配置文件

下一步退出到前面的目录

输入cd …两次;就可以回去

在这里插入图片描述

再配置板子:

make zynq_zed_config

在这里插入图片描述

下一步:输入make;这个时候会生成许多文件需要时间;(生成uboot文件)

在这里插入图片描述

红色标注为输入:把uboot复制到上一级目录;黄色的就是复制过去的;

在这里插入图片描述

这就完成了。

时间:0:28:55

STEP 3:

Linux 编译:

1,首先解压缩内核。

2,make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- digilent_zed_defconfig
[注2]

3, make ARCH=arm CROSS_COMPILE=arm_xilinx_linux_gnueabi- menuconfig

4, make ARCH=arm CROSS_COMPILE=arm_xilinx_linux_gnueabi-

5, 在ARCH/ARM/BOOT/下有 Image文件和ZIMAGE 文件。

6,ZIMAGE文件是我们所需要的。

[注2]digilent_zed_defconfig 在 arch/arm/config

设置环境变量:(输入)export ARCH=arm

解压:tar zxvf linux-digilent-3.6-digilent-13.01

然后在进入linux-digilent-3.6-digilent-13.01 下的arch/arm/config里面的以下文件:

在这里插入图片描述

可以看到里面的配置方式(make方式生成的)

下一步:make digilent_zed_defconfig(让上面的文件生效)

在这里插入图片描述

下一步:make menuconfig(进行菜单配置)

下一步:make

STEP 4:

DTB 文件生成.是U-BOOT用来传递给LINUX内核的参数的一种文件形式。 DTB:device tree
blob 设备树(容器)

1,arch/arm/boot/dts/digilent_zed.dts

2,生成EXT3 文件系统的设备树 ./scripts/dtc/dtc -I dts -O dtb -o
…/devicetree_ext3.dtb arch/arm/boot/dts/digilent-zed.dts

3, 生成RAMDISC的设备树文件。修改arch/arm/boot/dts/digilent_zed.dts 。

4,./scripts/dtc/dtc -I dts -O dtb -o …/devicetree_ram8m.dtb
arch/arm/boot/dts/digilent-zed.dts

STEP 5:

生成启动文件BOOT.BIN (原料1:FSBL 2,PL配置比特流 3,U-BOOT
FSBL是根据模板来写的,配置流牵扯到用的FPGA的逻辑单元,这里用官方自带的出厂代码).

1,使用官方的BIT文件和FSBL文件。使用新产生的BOOT.ELF。

2,使用命令行调用BOOTGEN产生BOOT.BIN

注意BOOT.BIN默认查找devicetree.dtb文件。

组建一个RAM_DISK启动的SD文件集合

组建一个EXT4做为文件系统的SD文件结合。使用的时候要主机将第个分区格式化成EXT3并放好好文件系统。

小技巧:
简单的判别一个DTB文件是RAMDISC或EXT4文件系统的方法。用文本文件打开,查找启动参数字符串。

小结论:

我们在启动桌面LINUX的时候,用的是LINARO的SD卡上的文件系统。

在启动仅有命令行LINUX的时候用的是RAMDISC文件系统,其他的BOOT文件(主要是UBOOT)以及内核文件ZIMAGE都一样,所以看到了内核可以相对独立。

这也就不难理解基于某一个固定版本的多种界面和多种用途的不同LINUX的发布。
件系统的方法。用文本文件打开,查找启动参数字符串。

小结论:

我们在启动桌面LINUX的时候,用的是LINARO的SD卡上的文件系统。

在启动仅有命令行LINUX的时候用的是RAMDISC文件系统,其他的BOOT文件(主要是UBOOT)以及内核文件ZIMAGE都一样,所以看到了内核可以相对独立。

这也就不难理解基于某一个固定版本的多种界面和多种用途的不同LINUX的发布。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zynq-7000系列之linux开发学习笔记是一系列关于在Zynq7030数据采集板上进行Linux开发的文章。在这些文章中,作者提供了关于编译Linux内核、制作设备树、安装NFS等方面的指导和经验。在其中一篇文章中,作者遇到了在挂载NFS时出现的问题,提示"wrong fs type, bad option, bad superblock"等错误信息。作者还提供了Linux内核源码的下载链接以及开发环境的相关信息。整个学习笔记的目标是让开发板能够连接外网,并通过NFS挂载到虚拟机上运行一个helloworld程序。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Zynq-7000系列之linux开发学习笔记:NFS配置与开发板联网(七)](https://blog.csdn.net/Claudedy/article/details/94591622)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Zynq-7000系列之linux开发学习笔记:编译Linux内核和制作设备树(六)](https://blog.csdn.net/Claudedy/article/details/90760085)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值