在Linux上实现对UFS文件系统的读写支持

[b]背景:[/b]

最近在使用XEN虚拟机,XEN官方目前发布的内核只有2.6.18的版本。现在需要在Linux上挂载(mount)FreeBSD的Image文件,并进行写操作。FreeBSD使用的文件系统是UFS2,但2.6.18的内核上只能对UFS进行读操作,写的操作是从2.6.21的内核才开始支持的。

[b]实现:[/b]

因此,为了在2.6.18上也支持写操作,需要做如下工作:

[list=1]
[*]对源码进行PATCH,PATCH文件见附件。解压在kernel源码根目录,解压后进入patch_ufs_write_support目录,执行patch.sh,若要取消PATCH,则执行upatch.sh。

[*]make menuconfig,并将File systems ---> Miscellaneous filesystems ---> 下的UFS file system support (read only)选择成,UFS file system write support (DANGEROUS)选择成[ * ],保存后make modules。

[*]将编译出来的 fs/ufs/ufs.ko 拷贝到 /lib/modules/$(uname -r)/kernel/fs/ufs/ufs.ko,重新加载模块即可(modproper ufs)。

[*]为了让ufs模块启动时自动加载,可以将附件中 rc.sysinit.ufs 内容追加到 /etc/rc.sysinit 文件中(cat rc.sysinit.ufs >> /etc/rc.sysinit)。[/list]
[b]使用:[/b]

使用有点特殊,需要remount,示例如下:


$ mount -t ufs -oloop,rw,offset=32256,ufstype=ufs2 FreeBSD.img /mnt/freebsd
此时挂载后仍是只读

$ touch /mnt/freebsd/testfile
提示只读无法写入

$ mount -o remount,rw /mnt/freebsd
重新挂载成读写模式

$ touch /mnt/freebsd/testfile
此时写入成功

$ umount /mnt/freebsd


附件的PATCH文件是网上找到的,是针对2.6.20-rc5的PATCH,经过比对、整理以及部分的修改后形成了这个针对linux-2.6.18-xen-3.4.2的PATCH文件。
深入理解 eMMC RPMB 与 OP-TEE 在 Linux 系统中的应用开发 本文系统介绍了可信执行环境(TEE)中eMMC的RPMB安全存储机制及其在ARM平台的应用。RPMB作为eMMC/UFS的硬件安全分区,通过计数器保护和HMAC验证确保数据安全,适合存储密钥等敏感信息。文章详细解析了开源TEE实现OP-TEE的架构模块,包括其与RPMB的集成方式、开发结构(CA/TA)及通信机制,并提供了Hello Secure World示例。同时阐述了RPMB文件系统的加密机制和密钥分层结构,以及OP-TEE在Linux平台的适配方案。最后指出需注意内核配置和tee-supplican 阅读详情

相关推荐

FreeBSD UFS文件系统损坏修复全指南

UFS(Unix File System)是FreeBSD默认的传统文件系统,其无日志设计决定了异常断电后易出现元数据不一致问题。其修复原理依赖于单用户模式下对未挂载文件系统的底层扫描与重建,核心工具fsck_ufs通过超级块校验、块组位图修复和inode恢复实现数据抢救。技术价值在于避免数据永久丢失,支撑数据库、邮件等关键服务的灾备恢复。典型应用场景包括UPS失效、硬盘固件异常或ZFS误操作引发的UFS崩溃。本文聚焦FreeBSD 15.1环境下UFS损坏的诊断、fsck_ufs实战、/lost+foun

weixin_34301132的博客 473

ufs2.2 协议扫盲(十五)

Device Data Protection

GRZ的博客 2935

FreeBSD单用户模式下用fsck修复UFS文件系统实战指南

UFS(Unix File System)是FreeBSD传统主力文件系统,其延迟写入机制在异常断电时易引发元数据不一致,表现为超级块校验失败、inode链表断裂或目录项指向无效节点。fsck作为原生修复工具,依赖文件系统静止状态才能安全执行逻辑校验与结构重建。单用户模式通过只读挂载根分区、禁用所有后台进程,为fsck提供理想的无干扰运行环境,避免多用户状态下因并发写入导致的二次损坏。该方案无需外部介质,兼容当前内核与驱动,特别适用于FreeBSD 15.1等新版本UFS2环境。典型应用场景包括启动失败、密

weixin_30698527的博客 483

Linux系统编程:文件系统总结

获取文件属性有如下的系统调用,下面逐个来分析。

qq_53324833的博客 1405

10、Linux 支持的文件系统详解

本文详细解析了Linux支持的各种文件系统,包括标准磁盘文件系统、非标准Linux文件系统以及内存和虚拟文件系统。介绍了Linux文件系统的灵活性核心——虚拟文件系统(VFS)层,并对各类文件系统的特点、历史背景、使用场景以及性能优势进行了全面分析。通过本文,读者可以深入了解Linux文件系统的多样性及其适用场景,为实际应用中选择合适的文件系统提供参考。

w1x2y3的博客 68

Ufs格式的硬盘在WINDOWS下的读取程序

UFS格式的硬盘挂在WINDOWS下可以通过该软件直接读取

Linux | SCSI子系统概述和UFS在其中的位置

SCSI分层Linux SCSI子系统和其他子系统一样,也是一种分层的架构。共分为三层,最底下是低层,代表适用于SCSI的物理接口的实际驱动器,例如各个厂商为设备特定的主机适配器(也被称为主机总线适配器,Host Bus Adapter HBA)开发的驱动。低层驱动主要作用是发现连接到主线适配器上的SCSI设备,在内存中为它们建立好数据结构,并提供消息传递接口,将SCSI命令的接收与发送解释为主机...

marlos的博客 3293

linux SCSI-UFS协议总图

详细介绍了linux中关于ufs及scsi协议实现,以及和block和文件系统层之间的调用关系:基于linux kernel4.4

从存储UFS角度梳理Linux系统框架,包括文件系统层、Block层、驱动层

从存储UFS的角度汇总一些Android系统知识

u010479987的博客 3795

数学建模预测模型——回归分析预测

作为预测模型的大块头,回归分析预测绝对是比较常用的预测模型的一种,下面是对该模型的学习,欢迎大家指正😊。

everything is possible,anything is OK. 1万+

Windows应急响应实战:灰鸽子木马检测与清除全流程解析

远程控制木马(RAT)是一种基于客户端/服务器(C/S)架构的恶意软件,攻击者通过它能够远程操控受害主机,实现屏幕监控、文件窃取、键盘记录等操作,对个人隐私与企业数据安全构成严重威胁。其技术原理通常涉及进程注入、网络通信、持久化机制等核心环节,在应急响应中具有极高的分析价值。掌握此类木马的检测与清除方法,是Windows系统安全防护与事件处置的基本功。本文以经典的灰鸽子木马为例,结合进程分析、网络排查、注册表检查等实战技术,系统讲解从行为识别、痕迹取证到彻底清除的完整操作流程,并涵盖Rootkit对抗、无文

weixin_30521161的博客 415

linux 查看emmc分区表_如何查看闪存类型?UFS与F2FS简易科普

年年都有锂电池爆炸的案例,但因为三星Note7,大家补充了很多电池相关的知识。而最近某国内厂商的“闪存门”,也带动了一大波关于“闪存类型和文件系统”的科普,但看到UFS 2.0/2.1和eMMC,F2FS和EXT4等名词时,估计很多读者都会懵逼。趁着这个机会,为大家带来一些简单的小科普。说到手机性能,大家第一时间想到的都是CPU和GPU性能,但闪存也是直接影响应用开启和游戏载入速度的元件。当中前者...

weixin_40001967的博客 2759

手把手教你用STM32CubeMX和HAL库驱动DW3000:从SPI配置到第一个测距Demo

本文详细介绍了如何使用STM32CubeMX和HAL库驱动DW3000 UWB定位通信模块,从SPI配置到实现厘米级测距Demo的全过程。涵盖硬件连接、SPI通信调试、驱动移植及双向测距(TWR)算法实现,帮助开发者快速掌握UWB高精度定位技术,适用于仓储物流、智能家居等场景。

weixin_27038245的博客 485

SCSI驱动与 UFS 驱动交互概况

我们再回顾一下创建文件的整体流程吧,从用户态到硬件层起始并没有我们想象的哪么简单,需要涉及到用户端—>系统调用(open or write)—>文件系统(vfs)—>实际文件系统(f2fs_open or f2fs_write)—>块设备处理-封装IO请求(封装 IO)—>SCSI—> UFS ,真的再一次感受代码改变世界。最终,UFS 主控接收并处理 UPIU 命令,UFS 存储设备执行数据写入操作,并返回状态信息(成功或错误),将结果返回给 UFS 驱动。块层的请求被传递到 SCSI 子系统。

qq_45228845的博客 2492

告别复杂配置!用GuidosToolbox 3.0做MSPA景观格局分析,从安装到出图全记录

本文详细介绍了如何使用GuidosToolbox 3.0进行MSPA景观格局分析,从安装配置到出图全流程。涵盖环境准备、数据预处理、参数设置、结果解读及可视化技巧,帮助用户快速掌握这一生态安全评估工具。特别针对安装教程中的常见问题提供解决方案,提升分析效率。

weixin_29248313的博客 489

卷积神经网络-猫狗识别(附源码)

利用python实现一个卷积神经网络,训练猫狗数据集,实现对猫狗图片的预测识别

m0_63223213的博客 2万+

ufs-utils:高效的UFS设备管理与维护工具

ufs-utils:高效的UFS设备管理与维护工具 项目介绍 在现代存储系统中,UFS(Universal Flash Storage)已成为主流的存储接口之一,广泛应用于智能手机、平板电脑和嵌入式系统中。为了更好地管理和维护UFS存储设备,开发者们推出了ufs-utils这一开源工具。ufs-utils提供了一套强大的命令行工具,允许用户通过Linux内核的BSG(Block SCSI Gene...

gitblog_00425的博客 1129

C# Log4Net不输出日志的解决方法

log4net是一个流行的 .NET 日志框架,用于记录应用程序的日志信息。如果你在使用log4net。

精通搬砖,资深技术砖家,在软件开发,人工智能,设备开发等领域都有研究。商业合作&交流学习可私信联系。 1263

Linux文件系统有哪些

Linux文件系统有哪些 1、Linux 文件系统简介 操作系统就是处理各种数据的,这些数据在硬盘上就是二进制,人类肯定不能直接看懂这些二进制数据,要有一个翻译器,将这些二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成的,文件系统的目的就是实现数据的查询和存储,由于使用场合、使用环境的不同,Linux 有多种文件系统,不同的文件系统支持不同的体系。文件系统是管理数据的,而可以存储数据的物理设备有硬盘、U 盘、SD 卡、NAND FLASH、NOR FLASH、网络存储设备等。不同的存储设

HX_CODER 1万+

机器学习kaggle报告-Facial Keypoints Detection【完整解题过程+代码】

在处理面部关键点检测任务时,首先需要将存储在 CSV 文件中的图像数据转换为可以显示和分析的图像。数据集中每个图像是以一个一维数组的形式存储,其中包含了图像的所有像素值。为了将这些数据转化为实际的图像,我们需要按照一定的规则将这些像素值重新排列为一个二维矩阵(即图像的行列)。下面是一个案例,展示了如何将数据集中的图像数据转化为图片。转化过程读取CSV文件:首先,我们需要读取包含图像数据的 CSV 文件,通常该文件包含多张图像的像素值。每一行表示一张图像,并且包含图像的像素值列表。提取图像数据。

一键难忘的博客 3353

深度解析:LPDDR5 Receiver 的挑战与应对

LPDDR5 的数据速率已经来到Tbit​DataRate1​≈156ps在6400Mbps时也就是说,。👉 这就是为什么成为 LPDDR5 的“标配”。

weixin_43199439的博客 211

Linux文件系统(一)文件系统基本概念

1.文件系统概述 2.文件系统的类型 3.Ubuntu文件系统的结构

风高秋月白,雨霁晚霞红 6037

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

UFS BSG

JESD220E中 chpater9 UFS UIC Layer: MIPI UNIPRO。即可控制host发送UIC command操作UFS PHY。勾选后,会生成用户态节点/dev/bsg/ufs-bsg0。使用工具ufs-utils。

u012894483的博客 964

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

高通平台实测情况分享(3): UFS读写时延

存储是最容易测出误导性数字的部件:同一块盘,走文件系统还是裸设备,4K 随机写能差五倍;换一个块层调度器,随机读掉三分之一;再过一层加密,又是一截。 两台设备跑完,最大的收获是不同的测试方法和一份能复用的基线方法。 实测的两台设备 UFS 栈同参数、同工具测试: • 第五代骁龙8至尊版(SM8850)(Micron 512GB,UFS 4.0)。 • 高通跃龙IQ-9075 EVK(Micron 128GB,UFS 3.1)。

weixin_38498942的博客 325

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

freebsd和linux分区一样吗,linux下对FreeBSD分区读写操作

通常默认的,如果linux内核更新到 kernel 2.6.29, 就已经支持 UFS文件系统的 写操作了。但是考虑到 危险性操作,一般不会直接就支持写操作。所以,linux 系统 通常只可以 "只读 " 来挂载 UFS文件系统。$ sudo mount -t ufs -o ufstype=ufs2 /dev/sdb5 /mnt/mount: wrong fs type, bad option, ...

weixin_34221154的博客 377

Linux之一文理解ufs、sd卡、内存卡、flash区别(六十六)

本篇目的:Linux之一文带你ufs、sd卡、内存卡、flash区别UFS是一种用于智能手机、平板电脑等设备中的闪存存储技术,专为高性能和低功耗设计。它的全称是“通用闪存存储”,是继eMMC(嵌入式多媒体卡)之后的新一代闪存技术。SD卡是一种可移动存储设备,广泛应用于数码相机、智能手机、MP3播放器、摄像机等设备。SD卡家族还包括Micro SD卡,它是更小尺寸的版本,主要用于智能手机和平板电脑。

Android系统攻城狮 1982
下一篇: 在Linux上实现对NTFS文件系统的读写支持
javaEidolon
博客等级 码龄24年 1粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值