
大家好,又见面了,我是你们的朋友全栈君。
1.新装系统后 需要设置su密码: 方法 sudo passwd 提示“Enter new UNIX password” 退出root:su 用户名
2 . 修改Ubuntu的软件源,改成国内的服务器地址,这里选择了aliyun,然后执行 sudo apt-get update sudo apt-get upgrade
虚拟机Oracle VM VirtualBox linux系统如何访问windows共享文件夹 [oracle@ODIGettingStarted ~]$ su Password: [root@ODIGettingStarted oracle]# mkdir /mnt/Windows_Share [root@ODIGettingStarted oracle]# mount -t vboxsf VirtureBox_Share /mnt/Windows_Share/ [root@ODIGettingStarted oracle]# https://www.cnblogs.com/dpf-learn/p/6143084.html https://blog.csdn.net/binbinxyz/article/details/42785849 成功
修改文件‘/etc/rc.local’实现自动挂载共享文件夹到指定文件夹virtualbox面板中选定要操作的虚拟机–>设置–>共享文件夹–>添加共享文件夹–>勾选‘固定分配’。打开Linux终端,输入:sduo vi /etc/rc.local打开rc.local文件 可以看到这个脚本是默认不运行的,所以我们要把’exit 0‘这行删除,并添加以下内容:mount -t vboxsf sharefolder /mysharefolder’sharefolder’是我们设置的windows下的要共享的文件夹,’/mysharefolder’是我们设置的linux下要共享的文件夹。重启虚拟机即可。 链接:https://www.jianshu.com/p/39327c9ea368
5.安装lib 汇总
sudo apt-get install -y gcc git make net-tools libncurses5 libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev zlib1g:i386 libc6:i386 libstdc++6:i386 screen pax gzip tofrodos iproute2 gawk xvfb vim tftp openbsd-inetd python x11proto-xf86dga-dev
gedit /etc/inetd.conf #在文件中增加以下内容 tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot #保存并退出
sudo mkdir /tftproot sudo chmod 777 /tftproot /etc/init.d/openbsd-inetd restart netstat -an | more | grep udp #看到有如下输出,即表示tftp安装成功 #udp 0 0 0.0.0.0:69 0.0.0.0:*
补充库(root权限): #在运行petalinux-config -c kernel出现错误,需要提前安装下面两个库 sudo apt-get install libncurses5 libncurses5-dev #编译时会出现错误arm-xilinx-linux-gnueabi-gcc: Command not found,需要安装下面三个库 sudo apt-get install libc6:i386 sudo apt-get install libstdc++6:i386 sudo apt-get install zlib1g:i386 sudo apt-get install wget diffstat chrpath socat xterm autoconf libtool unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev
sudo apt-get install -y gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential libsdl1.2-dev libglib2.0-dev zlib1g:i386 screen pax gzip tofrodos iproute2 gawk xvfb vim tftp openbsd-inetd libc6:i386 libstdc++6:i386 zlib1g:i386
提示No tftp server found https://www.cnblogs.com/vacajk/p/6146146.html #在运行petalinux-config -c kernel出现错误,需要提前安装下面两个库 apt-get install libncurses5 libncurses5-dev #编译时会出现错误arm-xilinx-linux-gnueabi-gcc: Command not found,需要安装下面三个库 apt-get install libc6:i386 apt-get install libstdc++6:i386 apt-get install zlib1g:i386
#安装petalinux时出现错误,提示缺少zlib和openssl,需要安装下面一个库 apt-get install libssl-dev
#安装petalinux时出现警告,提示No tftp server found – please refer to “PetaLinux SDK Installation Guide” for its impact and solution,需要安装下面3个库 apt-get install tftpd tftp openbsd-inetd
6.安装Petalinux cd /opt/ sudo mkdir petalinux sudo chown 用户名 petalinux //修改petalinux目录的所有者为普通用户 sudo chown 用户名 petalinux-v2016.4-final-installer1.run //将安装包拷贝到petalinux目录下,同样修改所有者权限为普通用户 $ ./petalinux-v2016.4-final-installer1.run . 注: 修改petalinux目录的所有者为普通用户 注意,这一步最容易出错,Petalinux的安装目录的所有者必须是普通用户,否则将无法安装过程中将会遇到各种问题 从Xilinx官网上下载petalinux-v2016.4-final-installer1.run,具体链接为https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2016-4.html
原文:https://blog.csdn.net/XJT2015/article/details/78762824 7.验证 source /opt/petalinux/settings.sh //先设置环境变量: echo $PETALINUX //验证环境变量是否设置成功,执行: 若出现如下路径,则表示成功: /opt/petalinux
//自己以普通用户模式下 gedit ~/.bashrc //在末尾添加: source /opt/petalinux/settings.sh ———————** 参考: https://blog.csdn.net/u013457167/article/details/77914069 https://www.cnblogs.com/vacajk/p/6146146.html https://blog.csdn.net/u013457167/article/details/77887705 https://blog.csdn.net/zhupingyang/article/details/80509199 https://www.cnblogs.com/likaiwei/p/10223354.html 创建工程 https://blog.csdn.net/XJT2015/article/details/78762824
PetaLinux reference board support packages (BSPs) 是受支持的电路板上的参考设计,
此外,这些设计可作为在受支持的电路板上创建自己的工程的基础使用。
BSP 参考设计未包含在 PetaLinux 工具安装程序中,需要单独下载和安装。
从 BSP 中创建工程: petalinux-create -t project -s
如何向 PetaLinux 工程导出硬件平台。
HDF将在未来的版本中被弃用。它将被Xilinx支持归档(XSA)取代,XSA是Vivado®Design Suite 2019.2中引入的一种硬件描述格式。XSA是HDF的超级集合,它拥有可以通过XSCT/Vitis更改的附加配置。
配置好硬件项目后,PetaLinux项目需要一个硬件描述文件(XSA)包含有关处理器系统的信息。可以从 Vivado中运行导出硬件,获得硬件描述文件。
在项目初始化(或更新)时,PetaLinux生成一个设备树源文件、u -BOOT配置头文件,并基于硬件描述文件XSA启用Linux内核驱动程序。
petalinux-create $ petalinux-create –type project –template –name <PROJECT_NAME> 参数如下: • –template – 支持下列平台类型: ○ zynqMP (UltraScale+™ MPSoC) ○ zynq (Zynq-7000 器件) ○ microblaze (MicroBlaze™ CPU) 注释: MicroBlaze 选项不得与 Zynq-7000 器件或可编程逻辑电路 (PL) 中的 Zynq UltraScale+ 设计配合使用。 • –name <PROJECT_NAME> – 您正在构建的工程名称。 该命令可从默认模板中创建新的 PetaLinux 工程文件夹。 以下步骤可自定义这些设置, 以便与以前创建的硬件工程匹 配。 如果使用了 –template 选项,而未使用 BSP, 您可以使用 petalinux-config 命令来选择与您的电路板设计接近 的默认电路板配置, 如下所示
$ petalinux-config –get-hw-description=<-path-to-directory-containinghardware description-file> 包含.xsa/.hdf 的路径 如果两个文件在硬件描述目录中均可用,则.xsa文件将优先于.hdf文件。 当 petalinux-config –get-hw-description , 会启动顶层系统配置菜单:

Subsystem AUTO Hardware Settings →” 菜单可自定义整个系统范围内的硬件设置。
petalinux-build 该步骤生成设备树 DTB 文件、 第一阶段引导加载程序(如果选定的话)、 U-Boot、 Linux 内核以及根文件系统镜像。 最后, 它生成必需的启动镜像。
在构建完成时,生成的镜像将位于 / images 和 /tftpboot 目录之内
运行petalinux-build时,它会为Zynq UltraScale+ MPSoC、Zynq-7000设备和MicroBlaze平台生成FIT镜像(FIT image,Flattened uImage Tree)。还会生成 RAM 磁盘镜像 rootfs.cpio.gz.u-boot
镜像 /images/linux/image.ub, 是一种 FIT 镜像。 内核镜像(包括 RootFS)是 Zynq® UltraScale+™ MPSoC 的“Image”。 构建镜像位于 <-plnx-proj-root>/images/linux 目录中。
如果想使用 uImage,请使用 petalinux-package –image。 例如: $ petalinux-package –image -c kernel –format uImage 注释: 该选项仅支持 Zynq-7000 器件和 MicroBlaze™ 处理器。
如何为 Zynq UltraScale+ MPSoC 生成 BOOT.BIN 在执行此步骤之前, 要确保您已构建了硬件比特流。 启动镜像可放入闪存或 SD 卡。在您打开电路板的电源时, 它可从 启动镜像中启动。 启动镜像通常含有第一阶段引导加载程序、 FPGA 比特流(可选)、 PMU 固件、 ATF 和 U-Boot。 petalinux-package –boot –format BIN –fsbl images/linux/zynqmp_fsbl.elf –u-boot images/linux/u-boot.elf –pmufw images/linux/pmufw.elf –fpga images/linux/*.bit –force
较全面版本 petalinux-package –boot –format BIN –fsbl zynqmp_fsbl.elf –u-boot u-boot.elf –pmufw pmufw.elf –fpga system.bit –atf bl31.elf –force or petalinux-package –boot –fsbl images/linux/zynqmp_fsbl.elf –pmufw images/linux/pmufw.elf –atf images/linux/bl31.elf –fpga images/linux/system.bit –u-boot images/linux/u-boot.elf –force
INFO: File in BOOT BIN: “/home/weijie.wang/workplace/G_pulse/petalinux/GPulse/images/linux/zynqmp_fsbl.elf” INFO: File in BOOT BIN: “/home/weijie.wang/workplace/G_pulse/petalinux/GPulse/images/linux/pmufw.elf” INFO: File in BOOT BIN: “/home/weijie.wang/workplace/G_pulse/petalinux/GPulse/images/linux/system.bit” INFO: File in BOOT BIN: “/home/weijie.wang/workplace/G_pulse/petalinux/GPulse/images/linux/bl31.elf” INFO: File in BOOT BIN: “/home/weijie.wang/workplace/G_pulse/petalinux/GPulse/images/linux/u-boot.elf” INFO: Generating zynqmp binary package BOOT.BIN…
$ petalinux-package –prebuilt –fpga
预建选项的启动级别 –prebuilt <BOOT_LEVEL> 启动预建镜像(覆盖所有设置)。受支持的启动级别为 1 至 3。 • 1 级: 下载预建 FPGA 比特流。 ○ 它启动 Zynq® UltraScale+™ MPSoC 的 FSBL 和 PMU 固件。 • 2 级: 下载预建 FPGA 比特流并启动预建 U-Boot。 ○ 对于 Zynq UltraScale+ MPSoC:它在启动 U-Boot 之前启动 PMU 固件、 FSBL 和 ATF。 • 3 级: ○ 对于 MicroBlaze™ 处理器: 下载预建 FPGA 比特流并启动目标上的预建内核镜像
预建选项启动级别用途的示例: $ petalinux-boot –jtag –prebuilt 3
将以下文件从 /pre-built/linux/images/ 复制到 SD 卡中 FAT32 格式的第一分区根目 录中: • BOOT.BIN • image.ub 将电路板启动模式设定为 SD 启动
JTAG 启动与 XSDB 通信,而 XSDB 与 hw_server 通信。 所用的 TCP 端口是 3121;确保该端口的防火墙被禁用
在工作站上运行 petalinux-boot 命令, 如下所示: $ petalinux-boot –jtag –prebuilt 3
自定义的 PetaLinux 工程可以通过 BSP 交付给下一个级别的团队或外部客户。 $ petalinux-package –bsp -p –output MY.BSP 附加 BSP 封装选项
$ petalinux-config 选择“Firmware Version Configuration ” 。 按要求选择主机名称、产品名称、固件版本以进行编辑。
petalinux-config “Image Packaging Configuration → Root File System Type” 。 按要求选择 “INITRAMFS” /“INITRD” /“JFFS2” /“NFS” /“SD card” 。 注释: SD 启动功能预期将 RootFS 加载到 ext4 分区, 所有其他启动镜像加载到 FAT32 分区。
$ petalinux-config Subsystem AUTO Hardware Settings → Advanced Bootable Images Storage Settings

• boot image settings (BOOT.BIN – FSBL, PMU 固件, ATF, U-Boot) • “u-boot env partition settings” • “kernel image settings” (image.ub – Linux 内核, DTB 和 RootFS) • “jffs2 RootFS image settings” • “DTB settings”
petalinux-config -c rootfs petalinux-config -c kernel
Initial RAM disk (INITRD) 提供了在 PetaLinux 开机过程期间利用引导加载程序加载 RAM 磁盘的能力。 Linux内核将其挂载为RootFS并启动初始化过程。本节描述配置INITRD引导的过程。
重要提示! PetaLinux 的默认 RootFS 是 INITRAMFS。在 INITRD 模式下,内核镜像中不包含 RootFS。
In INITRAMFS mode, RootFS is included in the kernel image. • Image → Image (kernel) + rootfs.cpio (for Zynq® UltraScale+™ MPSoC)
rootfs.cpio就是一个Linux内核空实例的磁带备份文件
用于启动 PetaLinux SD 卡 ext 文件系统的步骤:
为 SD 卡 ext 文件系统启动和构建系统镜像而配置 PetaLinux 的步骤如下:
将选项:Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> boot image settings 中 ‘image storage media’ 更改为 ‘primary sd’; 将选项:Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> kernel image settings 中 ‘image storage media’ 更改为 ‘primary sd’; 将选项:Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> dtb image settings 中 ‘image storage media’ 更改为 ‘primary sd’ 将选项:Image Packaging Configurations 中 ‘Root filesystem type’ 更改为 ‘SD card’
本节简要介绍PetaLinux工程的文件和目录结构。构建的Linux系统由以下组件组成: • Device tree • First stage boot loader (optional) • U-Boot • Linux kernel • RootFS is composed of the following components:
PetaLinux工程目录包含工程、Linux子系统和子系统组件的配置文件。petalinux-build命令使用这些配置文件构建项目。可以运行petalinux-config修改它们。下面是一个PetaLinux项目的例子

工程构建后, 将自动生成三个目录: • <-plnx-proj-root>/build 用于构建生成的文件。 • <-plnx-proj-root>/images 用于可启动镜像 • /build/tmp 用于 Yocto 生成的文件。此目录可通过 petalinux-config 设置。
First Stage Boot Loader 默认情况下,顶层系统设置被设定为生成第一阶段启动加载器 (FSBL)。这是可选项 注释: 如果不希望 PetaLinux 构建 FSBL/FS-BOOT,则需要自己手动构建。否则, 系统将无法正常启动。 如果之前从 menuconfig 禁用了第一阶段启动加载器,则可以将工程设置为构建第一阶段启动加载器, 如下所示:
引导加载程序 ELF 文件将作为 zynqmp_fsbl.elf (Zynq® UltraScale+™ MPSoC)、 zynq_fsbl.elf (Zynq®-7000 器件)和 fs-boot.elf(MicroBlaze™ 处理器) 安装在工程根目录内的 images/linux 中。
Arm 可信固件 (ATF) 此项用于 Zynq® UltraScale+™ MPSoC。
ATF ELF 文件将作为 Zynq UltraScale+ MPSoC 的 bl31.elf 安装在工程根目录内的 images/linux 中。
这仅用于 Zynq® UltraScale+™ MPSoC。这是可选项。默认情况下,顶层系统设置被设定为生成 PMU 固件。
PetaLinux 中的 FS-Boot 是仅用于 MicroBlaze™ 平台的第一阶段引导加载程序演示。其目的是演示如何从闪存向内存加 载镜像并跳转到其中。 如果要试用 FS-Boot, 至少需要 8 KB 区块 RAM。 FS-Boot 仅支持标准 SPI 模式和 Quad SPI 模式的并列式闪存和 SPI 闪存
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194981.html原文链接:https://javaforall.cn