GNU/Linux - wic文件的使用
Yocto/OpenEmbedded使用的磁盘镜像格式是 wic。为嵌入式系统提供 bootable images。
The disk image format used in the Yocto Project is wic.
.wic 文件显然只是一个带有分区表和分区的磁盘镜像,就像下载 Linux 发行版时获得的所有 .img 文件一样。这就是为什么你可以使用 dd 命令烧写 .wic 文件,就像使用 .img 文件一样。
A .wic file is apparently just a disk image with a partition table and partitions, just like all the .img files you get when downloading e.g Linux distros. That's why you can flash a .wic file using dd just like you would with a .img file.
之所以使用 .wic 文件扩展名,是因为它是由 wic 工具创建的,该工具读取 .wks 文件中描述的分区布局,并生成带有相应分区的映像。有关 wic 工具的更多信息,请参阅: 19 Creating Partitioned Images Using Wic — The Yocto Project ® 5.0.1 documentation
The reason for the .wic file extension is simply that it's created by the wic tool, which reads a partition layout described in a .wks file and generates an image with the corresponding partitions. For more info on the wic tool, see: 19 Creating Partitioned Images Using Wic — The Yocto Project ® 5.0.1 documentation
如何读取wic文件中的内容呢?
1,Mount the .wic File
将wic文件加载为loop device。
Automatically find an available loop device and associate it with a file.
$ sudo losetup -Pf --show my-image.wic
/dev/loop17
$ losetup --help
-a, --all list all used devices
-P, --partscan create a partitioned loop device
-f, --find find first unused device
--show print device name after setup (with -f)
-d, --detach <loopdev>... detach one or more devices
-D, --detach-all detach all used devices
$ losetup -a
上面结果显示加载为/dev/loop17设备。
将设备名赋值给变量:
LOOP_DEVICE=$(sudo losetup -Pf --show my-image.wic)
2, List Partitions
使用fdisk命令,查看加载设备的分区信息
$ sudo fdisk -l /dev/loop17
Disk /dev/loop17: 7.11 GiB, 7638816768 bytes, 14919564 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x076c4a2a
Device Boot Start End Sectors Size Id Type
/dev/loop17p1 * 16384 186775 170392 83.2M c W95 FAT32 (LBA)
/dev/loop17p2 196608 14919563 14722956 7G 83 Linux
3,Mount Partitions
sudo mount /dev/loop17p1 mnt
4,Access Files
cd mnt
ls
5, Cleaning up
Unmount partitions:
sudo umount mnt
6, Detach the loop device
sudo losetup -d /dev/loop17
使用kpartx命令操作:
$ kpartx --help
-a add partition devmappings
-d del partition devmappings
-v verbose
-l list partitions devmappings that would be added by -a
$ sudo kpartx -av my-image.wic
[sudo] password for dev:
add map loop17p1 (252:0): 0 170392 linear 7:17 16384
add map loop17p2 (252:1): 0 14722956 linear 7:17 196608
$ sudo kpartx -l my-image.wic
loop17p1 : 0 170392 /dev/loop17 16384
loop17p2 : 0 14722956 /dev/loop17 196608
$ sudo kpartx -l /dev/loop17
loop17p1 : 0 170392 /dev/loop17 16384
loop17p2 : 0 14722956 /dev/loop17 196608
$ sudo fdisk -l /dev/loop17
Disk /dev/loop17: 7.11 GiB, 7638816768 bytes, 14919564 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x076c4a2a
Device Boot Start End Sectors Size Id Type
/dev/loop17p1 * 16384 186775 170392 83.2M c W95 FAT32 (LBA)
/dev/loop17p2 196608 14919563 14722956 7G 83 Linux
$ ls /dev/mapper/
control loop17p1 loop17p2
$ sudo mount /dev/mapper/loop17p2 mnt
$ sudo umount mnt
$ sudo kpartx -dv my-image.wic
del devmap : loop17p1
del devmap : loop17p2
loop deleted : /dev/loop17
$ sudo kpartx -dv /dev/loop17
del devmap : loop17p1
del devmap : loop17p2
参考:
linux - Difference between wic and hddimg format in yocto - Stack Overflow
相关文章:
GNU/Linux - wic文件的使用
Yocto/OpenEmbedded使用的磁盘镜像格式是 wic。为嵌入式系统提供 bootable images。 The disk image format used in the Yocto Project is wic. .wic 文件显然只是一个带有分区表和分区的磁盘镜像,就像下载 Linux 发行版时获得的所有 .img 文件一样。这就是为什么你…...
前端JS 插件实现下载【js-tool-big-box,下载大文件(fetch请求 + 下载功能版)
上一节,我们添加了下载大文件的纯功能版,意思就是需要开发者,在自己项目里发送请求,请求成功后,获取文件流的blob数据,然后 js-tool-big-box 帮助下载。 但考虑到,有些项目,可能比较…...
JVM专题之垃圾收集器
JVM参数 3.1.1 标准参数 -version -help -server -cp 3.1.2 -X参数 非标准参数,也就是在JDK各个版本中可能会变动 ``` -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定 3.1.3 -XX参数 > 使用得最多的参数类型 > > 非…...
SSM养老院管理系统-计算机毕业设计源码02221
摘要 本篇论文旨在设计和实现一个基于SSM的养老院管理系统,旨在提供高效、便捷的养老院管理服务。该系统将包括老人档案信息管理、护工人员管理、房间信息管理、费用管理等功能模块,以满足养老院管理者和居民的不同需求。 通过引入SSM框架&#x…...
使用Keil将STM32部分程序放在RAM中运行
手动分配RAM区域,新建.sct文件,定义RAM_CODE区域,并指定其正确的起始地址和大小。 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************…...
【MySQL8.0】 CentOS8.0下安装mysql报错权限问题的记录
这里写自定义目录标题 基本信息问题记录 基本信息 OS: Linux server-02 4.18.0-240.el8.x86_64 #1 SMP Fri Sep 25 19:48:47 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux MySQL: 8.0 问题记录 缺少类库 mysql: error while loading shared libraries: libncurses.so.5: cannot…...
在内网互通的服务器中自由跳转与数据管理
在服务器中自由跳转与数据管理:实用命令指南 在管理或使用集群服务器环境时,高效地在不同节点间跳转、执行命令以及数据的相互拷贝是日常操作的重要组成部分。 1. 在集群节点间自由跳转:SSH(Secure Shell) SSH 是实…...
Arcgis Api 三维聚合支持最新版API
Arcgis Api 三维聚合支持最新版API 最近有同学问我Arcgis api 三维聚合,官方还不支持三维聚合API,二维可以。所以依旧是通过GraphicLayers 类来实现,可支持最新Arcgis Api版本 效果图:...
在Conda环境中高效使用Kubernetes:跨平台容器化实践指南
摘要 Conda 是一个流行的跨平台包和环境管理器,广泛用于Python社区。而 Kubernetes 是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。本文将探讨如何在 Conda 环境中使用 Kubernetes,包括设置 Conda 环境、容器化应用程…...
scikit-learn超参数调优 (自动寻找模型最佳参数) 方法
网格搜索(Grid Search): 原理:网格搜索通过预定义的参数组合进行穷举搜索,评估每一种参数组合的性能,选择性能最佳的参数组合。实现:使用GridSearchCV类。示例代码:from sklearn.mod…...
零基础STM32单片机编程入门(八)定时器PWM输入实战含源码视频
文章目录 一.概要二.PWM输入框架图三.CubeMX配置一个PWM输入例程1.硬件准备2.创建工程3.调试 四.CubeMX工程源代码下载五.讲解视频链接地址六.小结 一.概要 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用单…...
spring cloud gateway客户端websocket断开连接,服务侧连接没有关闭的问题处理
之前在单体架构项目中使用了websocket主动推送消息的功能,后来改成了微服务架构,结果发现部分消息丢失,没能推送给客户端;深入排查发现服务端无法感知websocket连接状态,但是在单体架构里面是没这个问题的,…...
确认下单:购物车页面点击 去结算 按钮发起两个请求trade(显示购物车的商品信息和计算商品的总金额)findUserAddressList
文章目录 1、确认下单:购物车页面点击去结算1.1、在OrderController类中创建 trade 方法1.2、在CartController类中创建 checkedCartInfos1.3、CartServiceImpl 实现 checkedCartInfos的业务功能1.4、在service-cart-client模块下定义远程openFeign接口1.5、在SpzxO…...
聚类分析方法(一)
目录 一、聚类分析原理(一)聚类分析概述(二)聚类的数学定义(三)簇的常见类型(四)聚类框架及性能要求(五)簇的距离 二、划分聚类算法(一࿰…...
Midjourney对图片细微调整和下载保存
点击v2是对第二图片细微调整。 点击u3对第3张图片进行放大。 保存图片: 对点击u3放大的图片,双击 , 右键保存图片...
Python文件写入操作
本套课在线学习视频(网盘地址,保存到网盘即可免费观看): https://pan.quark.cn/s/b19a7c910cf6 在Python编程中,文件操作是一项基础且重要的技能。本文将详细介绍如何使用Python将列表内容写入文件以实现文件…...
FPGA_GTX:简要版
1. GTX介绍 Xilinx FPGA的GT意思是Gigabyte Transceiver。通常称呼为Serdes、高速收发器。GT在xilinx不同系列有着不同的产品,从7系列到UltraScale系列分别有GTP、GTX、GTZ、GTH、GTY和GTM。不同GT整体结构上类似,为了支持越来越高的line rateÿ…...
使用mq向队列发送消息流程
新建队列q1和q2绑定交换机和队列之间的消息路由向默认的交换机发送消息查看两个队列中的交换机消息(get messages),也可以在overview选项卡页面查看实时流量图 这里注意: 1.交换机是转发消息用的,他并没有存储消息的…...
Git中两个开发分支merge的原理
一 分支合并 1.1 原理 分支合并:就是将A分支修改后且commit的内容,合并到B分支,这些修改且提交的内容和B分支对应的内容和位置进行比较: 1.不一样的话,提示冲突,需要人工干预。 2.一样的话,…...
数字图像处理、机器视觉(计算机视觉)、计算图形学概念
数字图像处理(Digital Image Processing)--又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程,以提高图像的实用性,达到人们所要求的预期结果。从输入到输出来看,数字图…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...
Copilot for Xcode (iOS的 AI辅助编程)
Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…...
大模型真的像人一样“思考”和“理解”吗?
Yann LeCun 新研究的核心探讨:大语言模型(LLM)的“理解”和“思考”方式与人类认知的根本差异。 核心问题:大模型真的像人一样“思考”和“理解”吗? 人类的思考方式: 你的大脑是个超级整理师。面对海量信…...
