A. linux 虚拟文件系统的作用以及工作原理~~
虚拟文件系统(VFS)其实也可以翻译成虚拟文件系统转换(virtual filesystem switch)。可以看出来它的作用就是提供一个通用的接口来处理与Unix标准文件系统相关的所有系统调用。它所隐含的思想就是把表示很多不同种类的文件系统的共同信息放入内核;其中有一个字段火函数来支持linux所支持的所有实际文件系统所提供的任何操作。对所调用的每个读写或者其他函数,内核都能把它们替换成支持本地linux文件系统,NTFS文件系统或者文件所在的任何文件系统的实际函数。
至于vfs的工作原理 就不是三言两语可以解释清楚的了、里面包含了很多知识包括文件系统、超级块、i节点等等知识。其实主要就是用户安装了不同的文件系统,每个特定文件系统上都实现了包括open() close(),read(),write()等等的操作,在安装的时候,每个特定的文件系统会在虚拟文件系统上注册,当用户需要对特定文件系统进行操作时 只需调用统一的系统调用,虚拟文件系统能够调用对应文件系统上的函数来对文件进行操作。详细的工作原理和实现 楼主需要花时间去学一学操作系统知识可一参考《深入理解Linux内核》《深入linux内核架构》等书
B. 如何制作Linux根文件系统
根文件系统一直以来都是所有类Unix操作系统的一个重要组成部分,也可以认为是嵌入式Linux系统区别于其他一些传统嵌入式操作系统的重要特征,它给Linux带来了许多强大和灵活的功能,同时也带来了一些复杂性。我们需要清楚的了解根文件系统的基本结构,以及细心的选择所需要的系统库、内核模块和应用程序等,并配置好各种初始化脚本文件,以及选择合适的文件系统类型并把它放到实际的存储设备的合适位置。
Linux的根文件系统以树型结构组织,包含内核和系统管理所需要的各种文件和程序,一般说来根目录”/”下的顶层目录都有一些比较固定命名和用途。
下面列出了一个Linux根文件系统中的比较常见的目录结构:
/bin 存放二进制可执行命令的目录
该目录下存放所有用户都可以使用的、基本的命令,这些命令在挂接其它文件系统之前就可以使用,所以/bin目录必须和根文件系统在同一个分区中。
/bin目录下常用的命令有:cat,chgrp,chmod,cp,ls,sh,kill,mount,umount,mkdir,m knod,[,test等“[”命令其实就是test命令,我们在利用Busybox制作根文件系统时,在生成的bin目录下,可以看到一些可执行的文件,也就是可用的一些命令。
/dev 存放设备文件的目录
该目录下存放的是设备文件,设备文件是Linux中特有的文件类型,在Linux系统下,以文件的方式访问各种设备,即通过读写某个设备文件操作某个具体硬件。比如通过"dev/ttySAC0"文件可以操作串口0,通过"/dev/mtdblock1"可以访问MTD设备的第2个分区。
/etc 存放系统管理和配置文件的目录
该目录下存放着各种配置文件,对于PC上的Linux系统,/etc目录下的文件和目录非常多,这些目录文件是可选的,它们依赖于系统中所拥有的应用程序,依赖于这些程序是否需要配置文件。在嵌入式系统中,这些内容可以大为精减。
/home 用户主目录,比如用户user的主目录就是/home/user,可以用~user表示
用户目录,它是可选的,对于每个普通用户,在/home目录下都有一个以用户名命名的子目录,里面存放用户相关的配置文件。
/lib 存放动态链接共享库的目录
该目录下存放共享库和可加载(驱动程序),共享库用于启动系统。运行根文件系统中的可执行程序,比如:/bin /sbin 目录下的程序。
/sbin存放系统管理员使用的管理程序的目录
该目录下存放系统命令,即只有管理员能够使用的命令,系统命令还可以存放在/usr/sbin,/usr/local/sbin目录下,/sbin目录中存放的是基 本的系统命令,它们用于启动系统,修复系统等,与/bin目录相似,在挂接其他文件系统之前就可以使用/sbin,所以/sbin目录必须和根文件系统在同一个分区中。
/sbin目录下常用的命令有:shutdown reboot fdisk fsck等,本地用户自己安装的系统命令放在/usr/local/sbin目录下。
/tmp 公用的临时文件存储点
用于存放临时文件,通常是空目录,一些需要生成临时文件的程序用到的/tmp目录下,所以/tmp目录必须存在并可以访问。
/root 系统管理员的主目录
根用户的目录,与此对应,普通用户的目录是/home下的某个子目录。
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
用于临时挂载某个文件系统的挂接点,通常是空目录,也可以在里面创建一引起空的子目录,比如/mnt/cdram /mnt/hda1 。用来临时挂载光盘、硬盘。
/proc 虚拟文件系统,可直接访问这个目录来获取系统信息。
这是一个空目录,常作为proc文件系统的挂接点,proc文件系统是个虚拟的文件系统,它没有实际的存储设备,里面的目录,文件都是由内核临时生成的,用来表示系统的运行状态,也可以操作其中的文件控制系统。
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
/usr目录的内容可以存在另一个分区中,在系统启动后再挂接到根文件系统中的/usr目录下。里面存放的是共享、只读的程序和数据,这表明/usr目录下的内容可以在多个主机间共享,这些主要也符合FHS标准的。/usr中的文件应该是只读的,其他主机相关的,可变的文件应该保存在其他目录下,比如/var。/usr目录在嵌入式中可以精减。
/var 某些大文件的溢出区
与/usr目录相反,/var目录中存放可变的数据,比如spool目录(mail,news),log文件,临时文件。
---------------------------------------------------------------------
一、移植环境:
1、 Ubuntu 10.10发行版
2、 u-boot.bin
3、 目标机:FS_S5PC100平台
4、 交叉编译器 arm-cortex_a8-linux-gnueabi-gcc
---------------------------------------------------------------------
二、移植步骤
1、 源码下载
我们选择的版本是busybox-1.17.3.tar.bz2下载路径为:
http://busybox.net/downloads/
2、 解压源码
$ tar xvf busybox-1.17.3.tar.bz2
3、 进入源码目录
$ cd busybox-1.17.3
4、 配置源码
$ make menuconfig
Busybox Settings --->
Build Options --->
[*] Build BusyBox as a static binary (no shared libs)
[ ] Force NOMMU build
[ ] Build with Large File Support (for accessing files > 2 GB)
(arm-cortex_a8-linux-gnueabi-) Cross Compiler prefix
() Additional CFLAGS
5、 编译
$ make
6、 安装
busybox默认安装路径为源码目录下的_install
$ make install
7、 进入安装目录下
$ cd _install
$ ls
bin linuxrc sbin usr
8、 创建其他需要的目录
$ mkdir dev etc mnt proc var tmp sys root
9、 添加库
在_install目录下创建一个lib文件夹,将工具链中的库拷贝到lib目录下
$ mkdir lib
$ cp /home/linux/x-tools/arm-cortex_a8-linux-gnueabi/arm-cortex_a8-linux-gnueabi/lib/* ./lib/
删除lib下的所有目录、.o文件和.a文件,对库进行瘦身以减小文件系统的大小
$ rm *.o *.a
$ arm-cortex_a8-linux-gnueabi-strip lib/*
10、 添加系统启动文件
在etc下添加文件inittab
$ vim /etc/inittab
文件内容如下:
#this is run first except when booting in single-user mode.
:: sysinit:/etc/init.d/rcS
# /bin/sh invocations on selected ttys
# Start an "askfirst" shell on the console (whatever that may be)
::askfirst:-/bin/sh
# Stuff to do when restarting the init process
::restart:/sbin/init
# Stuff to do before rebooting
::ctrlaltdel:/sbin/reboot
在etc下添加文件fstab
$ vim /etc/fstab
文件内容如下:
#device mount-point type options mp fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
这里我们挂在的文件系统有三个proc、sysfs和tmpfs,在内核中proc和sysfs默认都支持,而tmpfs是没有支持的,我们需要添加tmpfs的支持
修改内核配置:
$ make menuconfigFile systems --->
Pseudo filesystems --->
[*] Virtual memory file system support (former shm fs)
[*] Tmpfs POSIX Access Control Lists
重新编译内核
$ make zImage
在etc下创建init.d目录,并在init.d下创建rcS文件
$ mkdir /etc/init.d -p
$ vim /etc/init.d/rcS
rcS文件内容为:
#!/bin/sh
# This is the first script called by init process
/bin/mount -a
为rcS添加可执行权限:
$ chmod +x init.d/rcS
在etc下添加profile文件
$ vim /etc/profile
文件内容为:
#!/bin/sh
export HOSTNAME=farsight
export USER=root
export HOME=root
#export PS1="\[\u@\h \W\]\$ "
export PS1="[$USER@$HOSTNAME \W]\# "
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
11、 设备文件创建
根文件系统中有一个设备节点是必须的,在dev下创建console节点
$ mknod dev/console c 5 1
重要:新制作的文件系统尺寸若超出8M,删除不需要的库文件。
C. 如何制作 linux 文件系统
一种比较懒的方法是找syslinux:然后打开命令行进入该目录的win32目录(如果你制作镜像的系统是win系统,linux下则是用终端进入linux文件夹)然后输入 syslinux -f -a N:,成功后会在相应磁盘内建立一个隐藏文件,你将文件到要制作的镜像文件夹,把isolinux文件夹改为syslinux,把里面的isolinux.cfg改为syslinux.cfg。之后将这些内容如数写入光盘就可以了。
D. Linux 文件系统管理
3.1Linux 文件系统类型
不同的操作系统使用不同类型的文件系统,为了与其他的操作系统兼容,以相互交换数据,
通常,每种操作系统都支持多种类型的文件系统。
Linux 中保存数据的磁盘分区通常采用EXT2/EXT3 文件系统,而实现虚拟存储的swap 分区
采用swap 文件系统,同时Linux 内核支持十多种不同的文件系统。
1. EXT2 和EXT3 文件系统
EXT(Extended File System,扩展文件系统)是专为Linux 设计的文件系统。在Linux 发展
早起,起到重要中用,但在稳定性、速度和兼容性方面存在缺陷。
EXT2 是为解决EXT 系统存在的缺陷而设计的可扩展、高性能的文件系统。
EXT3 是EXT2 的增强版本,在EXT2 的基础上,增加了文件系统的日志管理功能。
EXT3 文件系统具有的特点:
(1) 高效性:当系统因为异常断电或系统崩溃,重新启动时不需要检查文件系统的一致
性,只需要根据文件系统的日志,快速检测并恢复文件系统到正常状态。
(2) 数据的完整性:可以保持数据域文件系统状态的高度一致性,避免意外关机对文件
系统造成的破坏。
(3) 数据的存取速度更快:EXT3 文件系统的日志功能对磁盘驱动器的读/写进行优化,
使读/写系统的速度更快。
(4) 数据易于转换
2. swap 文件系统
用于Linux 的交换分区。在Linux 中,使用整个交换分区来提供虚拟内存。
3. VFAT 文件系统
VFAT 是Linux 对DOS、Windows 系统下的FAT 文件系统的统称。
4. NFS 文件系统
NFS 即网络文件系统,用在UNIX 或Linux 系统间通过网络进行文件共享。
5. SMB 文件系统
SMB 是Samba 的缩写,是另一种网络文件系统,用于在Windows 和Linux 系统之间共享文
件和打印机。
6. ISO9660 文件系统
CD-ROM使用的标准文件系统。
此外,Linux 支持的文件系统还有minix、msdos、ncpfs、hpfs、umsdos 等。
3.2 Linux 的目录和文件
1.Linux 系统的目录结构
Linux 文件系统由文件和目录组成,文件是专门用来存储数据的对象,目录是一种用来组织
文件和其他目录的容器。Linux 和DOS、Windows 系统一样,使用树形目录结构来组织和管
理文件。
1. / 文件系统的入口,最高一级目录;
2. /bin 基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, mkdir等。
这个目录中的文件都是可执行的,一般的用户都可以使用。
3. /boot 包含Linux内核及系统引导程序所需要的文件,比如vmlinuz initrd.img文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录;
4. /dev 设备驱动程序文件存储目录,比如声卡、磁盘等,是Linux文件系统的一个闪亮的特性-所有对象都是文件或目录。仔细观察这个目录你会发现hda1, hda2等,它们代表系统主硬盘的不同分区。
5. /etc 存放系统程序或者一般工具的配置文件。
如安装了apache2之后,配置文件在/etc/apache2/目录下。
/etc/init.d这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。
6. /home 普通用户默认存放目录Linux是多用户环境,所以每一个用户都有一个只有自己可以访问的目录(当然管理员也可以访问)。它们以/home/username的方式存在。这个目录也保存一些应用对于这个用户的配置,比如IRC, X等。
7. /lib 库文件存放目录这里包含了系统程序所需要的所有共享库文件,类似于Windows的共享库DLL文件。
8. /var 这个目录的内容是经常变动,因为存储的文件,如数据库,数据文件大小是在不断的增大。
/var/log这是用来存放系统日志的目录。
/var/www目录是定义Apache服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地;
/var/log系统日志存放,分析日志要看这个目录的东西;
/var/spool打印机、邮件、代理服务器等假脱机目录;
9. /lost+found 在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。 有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
Linux应该正确的关机。但有时你的系统也可能崩溃掉或突然断电使系统意外关机。那么启动的时候fsck将会进行长时间的文件系统检查。Fsck会检测并试图恢复所发现的'不正确的文件。被恢复的文件会放置在这个目录中。所恢复的文件也许并不完整或并不合理,但毕竟提供了一些恢复数据的机会。
10. /media 即插即用型存储设备的挂载点自动在这个目录下创建,比如USB盘系统自动挂载后,会在这个目录下产生一个目录 ;CDROM/DVD自动挂载后,也会在这个目录中创建一个目录,类似cdrom的目录。这个只有在最新的发行套件上才有. 10. /mnt /mnt这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。有时我们可以把让系统开机自动挂载文件系统,把挂载点放在这里也是可以的。比如光驱可以挂载到/mnt/cdrom。
11. /opt 表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,比如在Fedora Core 5.0中,OpenOffice就是安装在这里。有些我们自己编译的软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure --prefix=/opt/,将软件安装到opt目录。
这个目录包含所有默认系统安装之外的软件和添加的包。
12. /proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。
这是系统中极为特殊的一个目录,实际上任何分区上都不存在这个目录。它实际是个实时的、驻留在内存中的文件系统。
13. /root Linux超级权限用户root的家目录;
14. /sbin 大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令;
这个目录和
/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是相似的; 我们记住就行了,凡是目录sbin中包含的都是root权限才能执行的。
15. /tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。
许多程序在这里建立lock文件和存储临时数据。有些系统会在启动或关机时清空此目录。
16. /usr 这个是系统存放程序的目录,比如命令、帮助文件等。
这个目录下有很多的文件和目录。
当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。
如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。
E. windows下用C++模拟Linux的文件系统,要求分配4MB空间给文件系统,每个block大小为1KB
建议:
1. 如果想要学习Linux系统,可以在Windows 下安装VMware Workstation 8软件,然后在其中安装Linux系统;
2. 在VMware安装Linux系统,安装方式如下:
2.1 如果使用光盘安装,选择Install Disc从DVD/CDA驱动器,选择Easy模式(简易模式),因为VMware可以认出这些操作系统,开始安装即可,非常简单;
2.2. 如果使用虚拟光盘安装,需要格式为.iso格式,选择“Installer disc image file(iso)”,也是使用Easy模式(简易模式)安装即可;
2.3 推荐使用VMware虚拟光驱方式,这对于Linux初学者还是想进行测试的人员都比较有好处,不用担心自己的操作引起严重的系统问题;
3. 根据自己的实际情况选择安装方式即可;
4. 不推荐直接安装双系统,因为Linux和Windows系统文件格式不一样,不能够直接安装在一个磁盘中,安装在不同磁盘中的方式也比较复杂,而且不利于日后的维护;
5. 个人推荐Redhat Enterprise Linux 5(RHEL 5)系统。
F. Linux的文件系统
Linux的文件类型分为普通文件、d目录文件、b块设备文件、c字符设备文件(串口设备)、s套接字文件(特殊文件scoket)、l链接文件。
例如下图,d开头的是目录文件,-开头的是普通文件,l开头的是链接文件
以touch,cp,tar,echo,cat等工具命令创建的文件都是普通文件,普通文件又分为以下三种:
1)纯文本文件:文件内容可以直接读取到数据(ASCL text)
2)二进制文件:linux中可执行文件(命令)
3)数据格式文件(一种特殊的文件 data)
ls -ld可以显示所有的目录文件
linux系统中的链接文件与WIN系统的快捷方式基本差不多,linux中链接文件又分为硬链接与软链接。
硬链接: 是指通过索引节点来进行链接,在系统中多个文件各指向同一个索引节点,是可以的正常允许的,这种情况下的文件被称之为硬链接。实际生产环境中用户可以通过硬链接的方式来防止误删重要数据。
ln 源文件名 链接文件名 创建硬链接文件
软链接: 也称符号链接(快捷方式),实际上它是一个文本文件,它存储着指向源文件链接的位置信息。
ln -s 源文件名 链接文件名 创建软链接文件
另外要注意目录是不可以创建硬链接文件的,但可创建软链接文件,如下图:
关于文件的软链接和硬链接,总结起来有以下四种情况:
1)删除源文件时,硬链接文件正常使用,软链接文件就失效了。
2)删除硬链接时,对源文件与软链接无影响。
3)删除软链接时,对源文件与硬链接无任何影响。
4)删除源文件、硬链接文件后,整个文件就会被删除。
对于目录的软链接和硬链接,总结如下:
1)目录是不可创建硬链接文件,可以创建软链接文件。
2)目录的软链接是生产环境中非常实用的。
3)所有目录都有一个硬链接“.”,目录硬链接是不可跨越文件系统的。
Linux文件的扩展名主要是为了方便区分不同的文件,和windows的强类型扩展名不一样。
1、.tar .tar.gz .tgz .zip 这类表示压缩文件
2、.sh 表示shell脚本文件
3、.html .php .jsp 网页文件
4、.conf 系统服务的配置文件
5、.rpm 表示RPM安装包文件
每一个文件都有自己的属性信息,它的属性信息包括:索引节点、文件类型、权限信息、所有者、所属组、最近修改时间、大小、文件名或目录名、硬链接数量。
我们以下图的cron.daily这个文件为例,d表示文件类型是目录文件,rwxr-xr-x这个表示权限,第一个rwx表示的文件所有者用户的权限,第二个r-x表示的是所属组的权限,第三个r-x表示的是其他用户的权限。2表示硬链接数量,第一个root表示文件所有者是root,第二个root表示所属组,42表示文件大小,May 27 2021表示最后的修改时间,corn.daily是文件名称。
其中的索引节点编号需要通过ls -i才能看到,在最左边显示的那一串数字,如下图所示:
G. linux什么是文件和文件系统,文件系统有哪些功能
Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux
用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
H. Linux系统一般由哪4个部分组成
Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。
一、Linux内核
内核是操作系统的核心,具有很多最基本功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。Linux内核的模块分为以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等。
二、Linuxshell
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
三、Linux文件系统
文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。
四、Linux应用程序
标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、XWindow、办公套件、Internet工具和数据库等。
(8)模拟linux文件系统扩展阅读:
LINUX系统的特点
1、Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。
2、在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。
3、Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。
I. linux 文件系统 是什么意思
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NANDFlash的固态硬盘)或分区上的文件的方法和数据结构;
即在存储设备上组织文件的方法。
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
J. linux系统目前挂载的文件系统
比如Btrfs、JFS、ReiserFS、ext、ext2、ext3、ext4、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。
Linux操作系统使用虚拟文件系统(VFS)向上和用户进程文件访问系统调用接口,向下和具体不同文件系统的实现接口。VFS屏蔽了具体文件的实现细节,向上提供统一的操作接口。通过VFS可以实现任意的文件系统,这些文件系统通过文件访问系统调用都可以访问。所以Linux系统核心可以支持十多种文件系统类型。
相关内容:
EXT是延伸文件系统(英语:Extended file system,缩写为 ext或 ext1),也译为扩展文件系统,一种文件系统,于1992年4月发表,是为linux核心所做的第一个文件系统。采用Unix文件系统(UFS)的元数据结构,以克服MINIX文件系统性能不佳的问题。
它是在linux上,第一个利用虚拟文件系统实现出的文件系统,在linux核心0.96c版中首次加入支持,最大可支持2GB的文件系统。
EXT3是第三代扩展文件系统(英语:Third extended filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。Stephen Tweedie在1999年2月的内核邮件列表中,最早显示了他使用扩展的ext2,该文件系统从2.4.15版本的内核开始,合并到内核主线中。