大佬教程收集整理的这篇文章主要介绍了linux – 修补和编译Ext4作为内核模块,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前正在为学术目的修补Ext4(只有linux / fs / ext4 / *,如file.c,ioctl.c,ext4.h).我正在研究QEMU虚拟机,为了加快整个过程,我选择Ext4作为内核模块进行编译.在测试新的更改时会出现问题,即使我运行make modules ARCH = x86&& make modules_install ARCH = x86并重启机器(/是Ext4),除非我重新编译整个内核,否则它们不可见.这有点奇怪,因为我有各种迹象表明Ext4已被编译为模块:
>它被配置为:
$grep EXT4 .config
CONFIG_EXT4_FS=m
>它确实编译为一个模块:
$make modules ARCH=x86
(...)
CC [M] fs/ext4/ioctl.o
LD [M] fs/ext4/ext4.o
Building modules,stage 2.
MODPOST 3 modules
LD [M] fs/ext4/ext4.ko
> $make modules_install ARCH = x86之后/lib/modules/3.13.3/kernel/fs/中的文件具有正确的时间戳.
>最后:
$lsmod
Module Size Used by
ext4 340817 1
(...)
出于某种原因,我必须做$make所有ARCH = x86,以便看到我的更改出现在运行时中.我错过了什么?谢谢!
所以解决方案是将所有这些文件打包到一个存档(初始ramdisk)中,并将硬盘块保存为引导加载程序中的数字列表.然后,它可以使用原始IDE / SATA驱动程序直接加载块,提取驱动程序并加载它们.
查看linux发行版的文档,了解如何更新initrd.在我的Ubuntu Linux上,它是mkinitramfs.
有关:
以上是大佬教程为你收集整理的linux – 修补和编译Ext4作为内核模块全部内容,希望文章能够帮你解决linux – 修补和编译Ext4作为内核模块所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。