模块化编译F2FS
来源:互联网 发布:尤伦斯海报淘宝 编辑:程序博客网 时间:2024/05/20 16:01
一、下载要编译的版本的源码(建议放/usr/src目录下),编译整个内核。其中,在make menuconfig配置的时候,选择以模块的方式配置F2FS(选择以M的方式比编译进内核)
二、编译完成后,把F2FS的整个目录拷贝出来,进入目录,修改Makefile文件,主要就是添加相关路径,如下:
obj-$(CONFIG_F2FS_FS) += f2fs.o
f2fs-y := dir.o file.o inode.o namei.o hash.o super.o inline.o
f2fs-y += checkpoint.o gc.o data.o node.o segment.o recovery.o
f2fs-y += shrinker.o extent_cache.o
f2fs-$(CONFIG_F2FS_STAT_FS) += debug.o
f2fs-$(CONFIG_F2FS_FS_XATTR) += xattr.o
f2fs-$(CONFIG_F2FS_FS_POSIX_ACL) += acl.o
f2fs-$(CONFIG_F2FS_IO_TRACE) += trace.o
KERNELDIR:=/usr/src/linux-4.10.1
PWD:=/home/tsy/f2fs
default:
make -C $(KERNELDIR) M=$(PWD) modules
clean:
rm -rf *.o *.mod.c *.ko *.symvers
上面Makefile中,红色部分是新加的。其中,PWD是在第1步中,把F2FS拷贝出来的路径;KERNELDIR是第1步中编译的源代码的路径(Makefile尽量手打,拷贝可能有错)
三、在该目录下执行make,make clean相关命令进行编译和清除编译后的文件
make是编译的命令;make clean是编译前清楚上一次编译结果的命令。
四、编译完成后,使用insmod命令将F2FS的模块插入到内核中(insmod f2fs.ko)。选择一块空的磁盘,格式化成F2FS格式的,再挂载F2FS文件系统。
1、insmod f2fs.ko(插入模块)
2、apt-get install f2fs-tools(获取f2fs工具,为格式化做准备)
3、mkfs.f2fs 磁盘A(格式化磁盘A成F2FS格式。执行了1才能执行2命令)
4、mount 磁盘A /mnt/f2fs(挂载磁盘A到/mnt/f2fs。挂载的路径建议在/mnt下)
五、如果修改了内核文件,如果再编译,运行查看输出信息等,需要先把之前的F2FS模块卸载,然后重复刚才的步骤就可以了
1、umount 磁盘A
2、rmmod f2fs.ko
关于dump_stack():
调试的时候,可以用这个函数输出调用栈的回溯信息,可以看到大概的函数调用流程。
日志查看:
dmesg命令 或 vi /var/log下的各种文件看一看
- 模块化编译F2FS
- 源代码编译+模块化编译
- Android模块化编译
- Android模块化编译
- android源码模块化编译整理
- f2fs的journal机制
- filesystem - 挂载f2fs
- kernel更新F2FS模块
- RedHat 安装 f2fs-tools
- Android模块化编译的方法详解
- C/C++模块化编译Lu脚本函数
- 模块化编译ext2, ext3,ext4 文件系统
- Android 模块化编译的一些问题解决方案
- Android学习第二篇;模块化编译
- 在Android系统中模块化编译驱动程序
- 模块化
- 模块化
- 模块化
- js加jquery的livequery插件重新改写拖拽插件以适应webpack
- 第五章---引入VIP后的数据库架构
- 函数传值的三种方法
- openni stk文档
- oracle截取数据字符串
- 模块化编译F2FS
- CThread
- HDU 6140 Hybrid Crystals(01背包)
- Java容器
- C#winform中打开PDF文件并在窗体中显示
- box-shadow属性的参数设置取值
- 关于数据库层面上锁,解决程序并发插入多条重复数据
- 给 Android 开发者RxJava 详解
- adb shell 常用命令