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”(initrd),其中包含内核需要加载的所有内核模块才能执行任何操作 – 毕竟,要从Ext4文件系统读取文件,内核需要此文件的驱动程序系统,如果驱动程序在所述文件系统上,那么……所以解决方案是将所有这些文件打包到一个存档(初始ramdisk)中,并将硬盘块保存为引导加载程序中的数字列表.然后,它可以使用原始IDE / SATA驱动程序直接加载块,提取驱动程序并加载它们. 查看linux发行版的文档,了解如何更新initrd.在我的Ubuntu Linux上,它是mkinitramfs. 有关: > Linux initial RAM disk (initrd) overview (编辑:泉州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- TwitteR r包:/usr/lib/x86_64-linux-gnu/libcurl.so.4:找
- centos6.4使用man查找命令时,报错No manual entry for xxx
- Common Linux log files name and usage--reference
- 都说Linux是吃内存的主可你知道具体是哪些进程吃掉了吗?
- 天天酷跑坐骑礼包多少钱 天天酷跑坐骑礼包价格和内容
- 炸弹默奇2第一大关默奇森林图文教程攻略
- 酷牛签约起点大神辰东 《太古仙域》即将开测
- iphone5s有什么新功能
- 手把手教你如何设置你的wifi热点:手机让电脑上网
- Linux技术:用IP地址的用途理解Loopback接口