事先检查
第一步是检查我们当前的内核是否支持debugfs调试:
zcat /proc/config.gz | grep DEBUG_FS
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_SCSI_SNIC_DEBUG_FS is not set
# CONFIG_SCSI_LPFC_DEBUG_FS is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
在这里,我们是要查看的是:CONFIG_DEBUG_FS=y
,在这件事情上,如果是n,说明当前内核是不支持调试文件系统的,这就要求我们另外编译内核(打开这个开关),安装并进入内核才行。这里不再赘述如何自定义内核了。
开干
我们的文件系统有自己的一套fops,这里,也不是意外的。和我们对文件系统自身的认知