背景:
最近在使用XEN虚拟机,XEN官方目前发布的内核只有2.6.18的版本。现在需要在Linux上挂载(mount)FreeBSD的Image文件,并进行写操作。FreeBSD使用的文件系统是UFS2,但2.6.18的内核上只能对UFS进行读操作,写的操作是从2.6.21的内核才开始支持的。
实现:
因此,为了在2.6.18上也支持写操作,需要做如下工作:
- 对源码进行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)。
使用:
使用有点特殊,需要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文件。
分享到:
相关推荐
详细介绍了linux中关于ufs及scsi协议实现,以及和block和文件系统层之间的调用关系:基于linux kernel4.4
通过对Windows 2000/2003/XP提供对EXT2/EXT3,XFS,Reiserfs文件系统的原生支持,Windows用户能方便地访问Linux分区的数据,并提供本地磁盘级性能。对windows下访问Linux文件有极大帮助。 用法参见:...
标题中的“在Win下浏览ufs、ext2、ext3文件系统的好工具”指的是在Windows操作系统中查看和操作Unix文件系统(如FreeBSD的UFS、Linux的ext2和ext3)的软件。这类软件通常是为了帮助Windows用户方便地访问和管理在...
Linux 文件系统是操作系统的核心组成部分,它负责管理存储设备上的数据,包括组织文件、目录、设备以及其他类型的数据。在Linux中,一切皆文件的概念意味着所有的资源,无论是普通的文本文件、目录还是设备,都被...
在文件处理编程中,open/close/lseek是常用的系统调用,分别用于打开、关闭文件和移动文件读写位置。这些调用对文件的操作过程有具体的实现细节。目录是一个包含目录项的容器,目录项则指向文件系统中的具体文件或子...
Linux文件系统UXFS2.6是针对Linux操作系统2.6内核设计的一种文件系统,它在传统的Unix文件系统(如UFS)的基础上进行了优化和改进,以适应Linux环境的需求。在深入探讨UXFS2.6之前,我们首先要理解Linux文件系统的...
要理解RHEL7的文件系统组成与特点,我们首先需要了解硬盘的基本结构,接下来详细介绍Linux文件系统的组成部分,最后探讨Linux系统中常见的文件系统类型、软硬链接的创建方式以及不同文件系统的性能对比。 硬盘作为...
1. 文件系统的类型选择:不同的文件系统拥有不同的特性,如ext3/ext4是广泛使用在Linux系统上的文件系统,提供了良好的性能和兼容性;BTRFS(B-Tree File System)支持高容量存储和快照功能,适用于需要大量数据管理...
JFS提供高性能和高可靠性,而JFS2在JFS的基础上增加了更大的文件系统大小和支持64位计算的能力。 2. Sun Solaris:Solaris是Oracle公司的一个开源操作系统,它的主要文件系统为UFS(Unix File System),还有ZFS...
4. **创建文件和目录**:在实现的Fuse文件系统中,`mkdir()`函数用于创建目录,而`mknod()`或`create()`函数用于创建普通文件。这些函数需要处理权限检查、元数据更新(如修改时间、大小等)和实际的数据存储。 5. ...
ufsxpci是一款专为Windows设计的软件,其主要功能就是提供对XFS文件系统的读取支持,使得用户可以在Windows环境下读取Linux系统上的XFS格式硬盘,比如USB外接硬盘或者NAS网络存储设备。 在使用ufsxpci软件时,用户...
在Linux操作系统中,文件管理系统扮演着至关重要的角色,它负责组织和管理磁盘上的数据,使得用户能够有效地访问和操作文件。Linux的文件系统支持多种不同的类型,包括ext、ext2、minix、umsdos、ncp、iso9660、hpfs...
当前,Linux支持大约15种不同的文件系统,包括EXT、EXT2、XIA、MINIX、UMSDOS、MSDOS、VFAT、PROC、SMB、NCP、ISO9660、SYSV、HPFS、AFFS以及UFS。未来随着技术发展,Linux支持的文件系统种类还将持续增加。 在...
10. 使用高性能文件系统:如条件允许,可以将Linux分区转换为UFS(Solaris的文件系统),Linux内核支持UFS,且在数据库应用中表现出色。同时,也可以考虑IBM JFS或SGI XFS等64位文件系统。 11. 定制内核:避免使用...
相比传统的UFS,ext2在性能上有所提升,并且支持更多的特性,如日志记录和文件系统检查工具。 - **VERITAS VxFS**:VERITAS VxFS是一种高性能的日志文件系统,主要用于高可用性和企业级应用。它采用了先进的日志技术...
综上所述,这个压缩包包含了与Dialog DA732X音频SoC驱动和UFS存储驱动相关的源代码和文档,对于在Linux系统上开发和调试相关硬件的工程师来说是非常有价值的资源。通过理解和修改这些源代码,开发者可以定制驱动以...
Linux虚拟文件系统(VFS,Virtual File System)是Linux内核中的一个重要组成部分,它为不同的文件系统提供了一个统一的接口,使得操作系统可以透明地访问各种类型的文件系统,无论是本地存储的还是网络上的。...
- **目录和文件**: 包括文件属性的查询 (`stat`)、文件类型和权限的设置 (`chmod`)、文件系统的类型 (`FAT`, `UFS`) 以及目录操作 (`mkdir`, `rmdir`, `opendir`, `readdir`, `closedir`)。 - **系统数据文件和信息...
例如,UNIX系统采用UFS(UNIX File System),而Linux系统则有多种文件系统,如早期的MINIX、MS-DOS和ext2,以及后来的ext4、JFS和ReiserFS等。在苹果的Mac OS X中,使用的是HFS+和UPFS等。不同的文件系统可能包含...
通过这个工具,用户可以无需对磁盘进行实际的物理改动,而是创建一个虚拟的挂载点,实现对Linux分区的读写操作,这对于数据迁移、备份或者跨平台的数据处理非常有用。 OSFMount.sys 是驱动程序文件,它是osfmount...