zynq 在ubuntu下移植ubuntu操作系统

米联客的配套的文件是osrc-lab

1.配置路径 在setting64.sh中把路径给更改一下 这里就是 改成ubuntu 并运行surce settings64.sh

2.rootfs 执行脚本 cfg_rootfs.sh,然后make_rootfs.sh 编译安装跟文件系统 下载安装rootfs.tar.gz

3.对于不同的硬件工程 要把响应的驱动安装进去 这就需要更改kernel 里面的东西 本项目中就需要修改vamafb.然后配置cfg_kernel ,make_kernel,此时在output/target下生成(内核有版本的区别吗 编译内核的作用是什么)

修改vdmafb,c

zynq 在ubuntu下移植ubuntu操作系统_第1张图片

zynq 在ubuntu下移植ubuntu操作系统_第2张图片

4. 进入路径 osrc-lab/scripts/xilinx/,运行脚本 get_hw_description.sh,用来更新 FPGA 工程, 目录增加了两个文件,分别是 system.bit 和 zynq_fsbl.elf,它们是从 vivado 工程里的 sdk 工程中复制进来的。 ( 如果FPGA工程改变的话,怎么再去生成这两个文件) 这一步应该放在第一个里面

zynq 在ubuntu下移植ubuntu操作系统_第3张图片

5.着进入目录/mnt/workspace/osrc-lab/scripts/uboot/,进入编译 Ubunt 的步骤。执行脚本 cfg_uboot.sh。执行脚本 make_uboot.sh。>执行完成后,目录会增加三个文件,分别是 boot.bin 和 u-boot.elf 和 u-boot.img,: 

zynq 在ubuntu下移植ubuntu操作系统_第4张图片

(u'boot什么用处)

此时文件就已经齐全了,应该准备的东西都已经准备完了,如果相应部分发生了改变 只要修改相关的部分就行了,驱动编了,重新cfg_kernel ,make_kernel,FPGA工程变了 重新执行get_hw_description.sh。。。

米联客的配套视频是在虚拟机里面运行debain 系统进行linux 系统移植的,但是我运行那个虚拟机的时候 ,卡的不行,所以就在自己的ubuntu系统下进行移植工作。主要还是基于历程的资料,具体的工作其实主要是把文件路径更改一下,把参数更改一下,但是遇见了几个小问题 这里要整理一下:第一: 不能发现vivado组件 第二:rootfs 只有lib文件 第三:系统闪屏

1.不能发现viado组件,是在找vivado,所以填写你当前的vivado的安装目录的路径,

2.去查看脚本,发现其所指向的rootfs.tar.gz 解压出来只含有lib文件,替换target目录下的rootfs.tar.gz

3.系统闪屏是因为时钟和分辨率不对 要和你的工程里面的配置一样

打开vivado工程 可以看到这里的分辨率是 1024*600

zynq 在ubuntu下移植ubuntu操作系统_第5张图片

 

 

这里的时钟是50625 这个值要写到vdmafs.c 驱动中

改了系统时钟为125,ps端的FCLK 时钟与cin 要一致 并且能够满足50625*5=253125 能出现这个值

zynq 在ubuntu下移植ubuntu操作系统_第6张图片

 zynq 在ubuntu下移植ubuntu操作系统_第7张图片

clk_out2 的值是50625*5=253125

zynq 在ubuntu下移植ubuntu操作系统_第8张图片

 

vivado 工程sdk会产生设备树 不一定是能用的但是可以作为参考:

zynq 在ubuntu下移植ubuntu操作系统_第9张图片

要更改IMAGE_show,c 

zynq 在ubuntu下移植ubuntu操作系统_第10张图片

 

进行裸机测试  硬件到此结束 

 

首先更新硬件,就会产生zynq_fsbl.elf 与system.bit

zynq 在ubuntu下移植ubuntu操作系统_第11张图片

 

修改vdmafb.c

zynq 在ubuntu下移植ubuntu操作系统_第12张图片

 

 

4手残使用chown -R 把文件的属组和权限改了 导致sd卡中的roofs 中root文件没有文件锁的标识 具体应用就是linux系统拿不到root权限

拿了正常的sd卡对比了一下:

执行create_image之后 target里面生成的文件权限对比:

 

另外在ubuntu 下编译ubuntu系统的话 会找不到zynq_fsbl.elf 以及system.bit 这个文件(怀疑是没有执行相关脚本) 从对应的debian系统中移植过来的,

 

尝试重装宿主系统,以及按照网上说的修改sudo文件的权限 都没有成功,更改文献权限也没有成功,尝试在新做的宿主系统中重新制作一下嵌入式linux系统

重新做linux系统的时候 安装系统也遇见了一些问题,最后成功安装了 安装在dell m6700。配置是开机  F12 选择lengency+Secure boot,选择启动盘的时候,选择大容量的U盘 而不选择UEFI(虽然这两个都是同一个U盘)

zynq 在ubuntu下移植ubuntu操作系统_第13张图片

然后其他选项  选择 / 与/boot 的硬盘位置以及分区大小   文件格式是ex4, 并选择/home的挂载点。/下面放的是文件系统 这里设置为30G /boot 是启动系统 给了2G /swap 给了5个G  /home 要放你的所有文件 要给的多一点

修改/etc/fstab 文件
sudo vim /etc/fstab
加上这条
UUID=自己的home硬盘 /home         ext4    defaults        1       2

可以参照这一片文章https://blog.csdn.net/nebulali/article/details/7551233

你可能感兴趣的:(zynq,嵌入式)