Minix文件系统在Linux 4.19内核的编译

Minix文件系统在Linux 4.19内核的编译

环境

ubuntu16.04虚拟机
内核版本:v4.19

编译Minix并挂载

  1. minix源码获取:
    minix源码在Linux源码/fs/minix/目录
  2. 进入minix目录,修改Makefile为
    obj-$(CONFIG_MINIX_FS) += minix.o
    minix-objs := bitmap.o itree_v1.o itree_v2.o namei.o inode.o file.o dir.o
    KERNEL_SOURCE = /usr/src/linux-headers-$(shell uname -r)
    PWD := $(shell pwd)
    
    all:
       $(MAKE) -C ${KERNEL_SOURCE} SUBDIRS=$(PWD) modules
    clean:
       rm *.o *.ko
    
  3. make
  4. 创建挂载目录
    mkdir tmp
  5. 创建文件卷
    dd bs=4096 count=100 if=/dev/zero of=image
  6. 挂载minix模块
    sudo insmod minix.ko
  7. 初始化文件卷
    mkfs -t minix image
  8. 挂载文件系统
    sudo mount -o loop -t minix image ./tmp/
  9. 进入tmp目录,进行测试

make报错及解决

1. error: implicit declaration of function ‘current_time’
即将代码中的current_time(inode)替换为CURRENT_TIME or current_kernel_time()
2. error: unknown field ‘free_inode’ specified in initializer
将inode.c中的free_inode修改为destroy_inode
3. error: ‘struct super_block’ has no member named ‘s_time_min’
注释inode.c中代码

// s->s_time_min = 0;
// s->s_time_max = U32_MAX;
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值