Linux系统移植四:Petalinux使用本地sstate-cache加速构建根文件系统

news2024/9/24 21:23:38

根文件系统简介

根文件系统 rootfs 是Linux内核启动以后挂载(mount)的第一个文件系统,然后从根文件系统中读取初始化脚本,比如rcS,inittab等

根文件系统和Linux内核是分开的,单独的Linux内核是没法正常工作的,必须要搭配根文件系统

如果不提供根文件系统,Linux内核在启动的时候就会提示内核崩溃(Kernel panic)的提示

主要目录

目录名介绍
/bin存放着系统的可执行文件
/devlinux device文件,设备以文件的形式存在
/etc存放着各种服务程序的配置文件
/liblibrary,存放着Linux所必须的库文件
/opt可选的文件、软件存放区
/home普通用户的工作目录
/root超级用户的工作目录

往期文章

Linux系统移植一:移植U-BOOT 添加自己的板子并编译(非petalinux版)
Linux系统移植二:生成fsbl引导文件并制作BOOT.bin(非petalinux版)
Linux系统移植三:移植Kernel生成zImage和dtb文件(非petalinux版)

之前我们已经构建好了U-BOOT和Kernel,现在就缺 rootfs 就可以启动完整的Linux系统了

Petalinux构建根文件系统

手工构建方式非常耗时,正常网速通常都需要几个小时,所以我直接放弃555

请添加图片描述

选择用工具来构建,如Yocto,而 Petalinux 工具已经包含了 Yocto,所以我们可以直接使用 Petalinux 工具来构建根文件系统

配置好 Petalinux 环境后,新建Petalinux 工程 petalinux-create --type project --template zynq -n ALINX-ZYNQ

配置硬件描述信息 petalinux-config --get-hw-description <hdf文件路径> ,保存默认配置,退出

然后输入 petalinux-config -c rootfs 进入GUI配置界面来配置根文件系统

配置opencv, 找到 Filesystem Packages —>libs —>opencv,如图

在这里插入图片描述

配置QT, 找到 Filesystem Packages —>misc–>qtbase ,如图

在这里插入图片描述

其他配置自行选择,保存退出,最后输入 petalinux-build -c rootfs 来编译根文件系统

遇到的问题

WARNING: xxx do_fetch: Failed to fetch URL ... ,attempting MIRRORS if available

下载源有问题,外部网络下载不到,只有xlx内部的vpn可以访问,但是我们可以设置本地文件编译

高速缓存下载地址 https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/embedded-design-tools/archive.html

我下载的是2017.4版本的,README也下载一下,教我们如何配置,不同版本的README是不同的,一定要下载下来看!

在这里插入图片描述
31.9GB,还是蛮大的,网速可以的话直接下,毕竟下一次一劳永逸

下载sstate到本地,解压之后有以下几个目录

在这里插入图片描述

看一下README 文件

By default petalinux uses sstate-cache and download mirrors from petalinux.xilinx.com
This README is for the users who uses tool completely offline.

Setting sstate cache

1) Extract the downloaded tar contents of sstate-cache at any location
2) run petalinux-config
         -> Yocto Settings
             ->Local sstate feeds settings
                  ->local sstate feeds url
                          (press Enter)
3) Provide the path of sstate-cache from above
           Ex: /<path>/aarch64  for ZynqMP projects
               /<path>/arm      for Zynq projects
               /<path>/mb-full  for MB AXI full projects

4) Save the configurations to use the sstate-cache

Setting download mirror

1) Extract the downloaded tar contents of sstate-cache at any location
2) run petalinux-config
        -> Yocto Settings
                -> Add pre-mirror url
						          ->  (press Enter)
							            Clear default value

3) Provide the path of sstate-cache from above
        file://<path>/downloads for all projects

4) Save the configurations to use the download mirrors

5) Verify the changes in build/conf/plnxtool.conf
6) petalinux-build

输入 petalinux-config 命令,重新进入配置界面,按照README中的方法配置,一定要注意路径!

在这里插入图片描述

在这里插入图片描述

保存退出,进入petalinx工程目录,验证build/conf/plnxtool.conf 是否正确配置

在这里插入图片描述

可以看到我们刚才配置的信息已经更新了,说明没什么问题了

最后再用 petalinux-build -c rootfs 来编译根文件系统了

经过半个多小时的等待,终于编译好了,在petalinux工程 /images/linux 目录下可以找到 rootfs.tar.gz

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TPM零知识学习六 —— tpm模拟器安装

本文参考以下链接&#xff1a; TPM模拟器和TPM2-TSS安装_jianming21的博客-CSDN博客_tpm2-tss 可信平台模块TPM&#xff08;Trusted Platform Module&#xff09;介绍及tpm-tools安装使用_jinhuazhe2013的博客-CSDN博客_tpm模块 1. 源码下载 运行以下命令下载源码&#xff1…

设计模式--观察者模式

文章目录前言一、未使用设计模式二、观察者模式1.定义2.组成三、应用场景四、优缺点优缺前言 甲人A&#xff08;产品经理&#xff09;&#xff1a;好啊&#xff0c;你小子&#xff0c;又被我逮到了&#xff0c;很闲是吧&#x1f607;&#xff0c;需求完成了吗&#xff1f; two…

MOSFET 和 IGBT 栅极驱动器电路的基本原理学习笔记(三)同步整流器驱动

同步整流器驱动 1.栅极电荷 2.dv/dt注意事项 MOSFET 同步整流器是接地基准开关的一个特例。这些器件与传统应用所使用的 N 沟道 MOSFET 相同&#xff0c;只是它们被应用到了电源的低电压输出而非整流器二极管中。 它们通常可在非常有限的漏源极电压摆幅下工作&#xff0c;因此…

redis活跃非活跃连接数统计及client list说明

概念说明 活跃连接是指当下正在执行命令的连接&#xff0c;非活跃当然是相对的。 在redis中判断当前连接是否活跃是通过 内置的client list 命令输出中的idle来判断 client list字段说明 (kfzops) [roottest-xxx-01-vm ]# redis-cli -h r-xxxxxxxxxxxx.redis.rds.aliyuncs.…

学生身份标签的识别与风控应用

当前的互联网借贷平台&#xff0c;国家已明确规定不允许向高校学生发放贷款&#xff0c;因此对于小贷、消金等金融机构&#xff0c;在信贷产品业务的风控体系中&#xff0c;有效判断申请用户是否为高校学生是一个非常重要的问题。针对高校学生身份的识别&#xff0c;虽然有多种…

机器学习、深度学习、自然语言处理学习 NLP-RoadMap-996station GitHub鉴赏官

推荐理由&#xff1a; 机器学习、深度学习、自然语言处理学习路线图 及 AI方向学习资源、工具 NLP-RoadMap 持续更新中。以下内容有错误或者不足&#xff0c;欢迎提Issue或者联系我讨论 整理不易&#xff0c;希望点个小星星 ​支持下呀&#xff01; 前言 数理基础 编程基础 机…

RE2:Simple and Effective Text Matching with Richer Alignment Features

原文链接&#xff1a;https://aclanthology.org/P19-1465.pdf 介绍 问题 作者认为之前文本匹配模型中序列对齐部分&#xff0c;过于复杂。只有单个inter-sequence alignment层的模型&#xff0c;常会引入外部信息&#xff08;例如语法特征&#xff09;作为额外输入&#xff0c;…

小游戏与H5游戏对比与梳理

H5游戏是运用了h5技术的响应式网站布局的游戏&#xff0c;它完全实现了网页游戏在手机移动端的无缝衔接。众所周知&#xff0c;H5游戏已盛行了多年&#xff0c;而如今&#xff0c;随着诸多小游戏的推出&#xff0c;小游戏爆款频出&#xff0c;从“跳一跳”到“羊了个羊”&#…

Leetcode---2465.不同的平均值数目

目录题目描述分析题目描述 给你一个下标从 0 开始长度为 偶数 的整数数组 nums 。 只要 nums 不是 空数组&#xff0c;你就重复执行以下步骤&#xff1a; 找到 nums 中的最小值&#xff0c;并删除它。 找到 nums 中的最大值&#xff0c;并删除它。 计算删除两数的平均值。 两…

Qt OpenGL 2D图像文字

这次教程中&#xff0c;我们将学会如何使用四边形纹理贴图把文字显示在屏幕上。我们将把256个不同的文字从一个256256的纹理图像中一个个提取出来&#xff0c;接着创建一个输出函数来创建任意我们希望的文字。 还记得在第一篇字体教程中我提到使用纹理在屏幕上绘制文字吗&…

springboot构建RESTful 风格应用

Spring Boot 构建 RESTful 风格应用 1.Web开发的两种模式&#xff1a; 前后端不分离&#xff1a; 以前没有移动互联网时&#xff0c;我们做的大部分应用都是前后端不分的&#xff0c;比如jsp&#xff0c;或者thymeleaf等后端分离模板&#xff0c;在这种架构的应用中&#xf…

SQLMAP _DNS注入配置方法

网上针对sqlmap进行dns注入的相关文章太少&#xff0c;只是简单介绍了下–dns-domain参数&#xff0c;相关的实战文章要么就模糊或者一笔带过&#xff0c;。然后参考网上的方法重新整理了一遍&#xff0c;简单理解。 需要准备的东西&#xff0c;sqlmap、windows盲注一个、两个…

档案信息化咨询方法论实践要点有哪些?

咨询工作中&#xff0c;有些咨询师也许会有这样的疑问&#xff1a;“我业务经验挺丰富的&#xff0c;但做咨询工作怎么这么吃力呢&#xff1f;”这可能就是因为缺乏方法论的有效指导。咨询方法论是咨询工作中用来分析和解决某类特定问题的工具、方法、流程、模型和评价准则等。…

Ansible之playbook详解和应用实例

目录 一、playbook简介 1.什么是playbook 2.playbook组成 二、应用实例 1.使用playbook安装启用httpd服务 2.使用playbook安装启用nginx服务 三、ansible-playbook其他用法 1.检查yaml文件的语法是否正确 2.检查tasks任务 3.检查指定的主机 4.指定从某个task开始运行…

红队学习隧道必须了解的知识

端口映射和端口转发 端口映射 端口映射就是将外网的主机的一个端口映射到内网主机的一个端口&#xff0c;提供相应的服务。当用户访问外网IP的这个端口时&#xff0c;服务器自动将请求映射到对应局域网内部的机器上 端口转发 端口转发就是将发往外网指定端口的通信完全转发给…

windows下安装hbase

windows下安转hbase 安装流程 解压提供的压缩包 该压缩包是经过我修改后的&#xff0c;已经创建data、tmp、zookeeper目录和替换相关配置文件&#xff0c;目的是简化安装流程 压缩包 https://share.weiyun.com/SLTS9woO 环境变量配置 在系统变量中添加HBASE_HOME环境变量&…

Java ConcurrentHashMap 高并发安全实现原理解析

三、C13Map的字段定义 C13Map的字段定义 //最大容量 private static final int MAXIMUM_CAPACITY 1 << 30; //默认初始容量 private static final int DEFAULT_CAPACITY 16; //数组的最大容量,防止抛出OOM static final int MAX_ARRAY_SIZE Integer.MAX_VALUE -…

使用pyautogui进行PC用户界面自动化测试

目录 1.pyautogui简介及安装 2.pyautogui常见用法 2.1返回所用显示器的分辨率 2.2键盘输入函数 2.3常用函数typewrite() 2.4键盘事件 2.5函数hotkey() 2.6保存屏幕截图 3.常见用法代码汇总 1.pyautogui简介及安装 Pyautogui是一个纯Python的图形化自动化工具&#x…

代码审计-4 代码执行漏洞

代码执行漏洞 代码执行漏洞利用 ZZZPHP1.6 远程代码执行漏洞分析 漏洞点函数 此处如果能控制$ifstr就可以进行闭合&#xff0c;执行恶意代码 parserIfLabel函数将传入的参数进行正则匹配&#xff0c;当匹配通过时继续往下走 下面并没有对恶意代码内容进行过滤 跟踪parserIfLab…

游戏开发37课 狙击枪 视野问题

首先说一下视野的思路&#xff1a;我们可视化的视野全部都是以扇形显示的&#xff0c;同时为了后期的方便调整我们的视野和距离都必须是动态的。那么我们是不是可以使用度数来控制视野范围&#xff0c;那么我们就需要画出一个扇形。那么我们可以先画出来一个圆 然后在这个圆上面…