当前位置:网站首页>在Ubuntu上体验最新版本EROFS
在Ubuntu上体验最新版本EROFS
2020-11-07 23:13:00 【写代码有信仰】
在Ubuntu上体验最新版本EROFS
目前Linux内核的已经迭代到5.9版本,同时EORFS文件系统驱动也做了特性和稳定性更新,一睹新版功能体验。
准备Linux内核代码,最好是和当前发行版内核一致
1. 获取Ubuntu内核版本
$ uname -a
Linux ubuntu 5.9.6-050906-generic #202011051230 SMP Thu Nov 5 17:35:33 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
2. 下载最新EROFS 源码
$ mkdir ~/erofs && cd erofs
$ git clone https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git linux-erofs
$ git checkout -b erofs-dev remotes/erofs/dev
$ git bra|grep erofs
* erofs-dev
erofs-master
remotes/erofs/dev
remotes/erofs/dev-test
remotes/erofs/fixes
remotes/erofs/master
3. 准备makefile
# SPDX-License-Identifier: GPL-2.0-only
EROFS_VERSION = "1.0"
ccflags-y += -DEROFS_VERSION=\"$(EROFS_VERSION)\"
CONFIG_EROFS_FS=y
CONFIG_EROFS_FS_DEBUG=y
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
obj-m += erofs.o
erofs-objs := super.o inode.o data.o namei.o dir.o utils.o
erofs-$(CONFIG_EROFS_FS_XATTR) += xattr.o
erofs-$(CONFIG_EROFS_FS_ZIP) += decompressor.o zmap.o zdata.o
ifneq ($(KERNELRELEASE),)
# call from kernel build system
obj-m := erofs.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := ~/linux-erofs/fs/erofs
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
echo ${KERNELRELEASE}
endif
clean:
rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.symvers modules.order
depend .depend dep:
$(CC) $(EXTRA_CFLAGS) -M *.c > .depend
ifeq (.depend,$(wildcard .depend))
include .depend
endif
4. 编译和安装erofs驱动
$ cd ~/erofs/linux-erofs
$ make
# 安装依赖模块
$ sudo modprobe libcrc32c
$ sudo insmod ~/erofs/linux-erofs/fs/erofs.ko
$ lsmod|grep erofs
erofs 33648640 0
libcrc32c 16384 1 erofs
5. 挂着打包好的EROFS镜像test.img
$ sudo mount -t erofs -o loop test.img erofsdir;md5sum erofsdir/*.* srcdir/*.*|sort;sudo umount erofsdir
[sudo] password for XX:
0a78b672c059739eaa1dd01cc846f685 erofsdir/dmesg.log
0a78b672c059739eaa1dd01cc846f685 srcdir/dmesg.log
52efd0d1126cd0dbf0e6b28b2cf85c3f erofsdir/inline.txt
52efd0d1126cd0dbf0e6b28b2cf85c3f srcdir/inline.txt
72b3924faa8f5801e2966c69ddaa7d99 erofsdir/file.list
72b3924faa8f5801e2966c69ddaa7d99 srcdir/file.list
7558009b9427ba921ea05e68c35e98b2 erofsdir/config.c
7558009b9427ba921ea05e68c35e98b2 srcdir/config.c
aa5ae2a4d5d71e32357159d9b32a5c2c erofsdir/dd_unrandom.bin
aa5ae2a4d5d71e32357159d9b32a5c2c srcdir/dd_unrandom.bin
c0f56976ed5e0fcf331d30e8d74053bc erofsdir/file_002.txt
c0f56976ed5e0fcf331d30e8d74053bc srcdir/file_002.txt
f127e2ae77c615cd7391c5b4d1194d2c erofsdir/dd_unrandom2.bin
f127e2ae77c615cd7391c5b4d1194d2c srcdir/dd_unrandom2.bin
fdd480f87d40828ecc561cfa9e371a78 erofsdir/liberofs_la-cache.o
fdd480f87d40828ecc561cfa9e371a78 srcdir/liberofs_la-cache.o
版权声明
本文为[写代码有信仰]所创,转载请带上原文链接,感谢
https://my.oschina.net/230/blog/4707752
边栏推荐
- Annual salary of 900000 programmers is not as good as 3800 civil servants a month? How to choose between stability and high income?
- Basic knowledge of C + +
- Cpp(三) 什么是CMake
- Web Security (4) -- XSS attack
- Hand tearing algorithm - handwritten singleton mode
- Ubuntu下搜狗输入法的下载安装及配置
- See once to understand, graphic single chain table inversion
- Assembly function MCALL systemstack asmcgocal system call
- Goland 编写含有template的程序
- 2020天翼智能生态博览会中国电信宣布5G SA正式规模商用
猜你喜欢

LadonGo开源全平台渗透扫描器框架

Idea - the. IML file was not automatically generated by the project

面部识别:攻击类型和反欺骗技术

Got timeout reading communication packets解决方法

leetcode之判断路径是否相交

来自不同行业领域的50多个对象检测数据集

Design pattern of facade and mediator

About the promotion of the whole stack of engineers, from the introduction to give up the secret arts, do not click in to have a look?

VC6兼容性及打开文件崩溃问题解决

Data structure and sorting algorithm
随机推荐
16.文件传输协议、vsftpd服务
ROS learning: remote start ROS node
Stack bracket matching
Web安全(二)---跨域资源共享
Improvement of maintenance mode of laravel8 update
来自不同行业领域的50多个对象检测数据集
Web Security (3) -- CSRF attack
Adobe media encoder / me 2021 software installation package (with installation tutorial)
On the stock trading of leetcode
Annual salary of 900000 programmers is not as good as 3800 civil servants a month? How to choose between stability and high income?
android基础-RadioButton(单选按钮)
leetcode之判断路径是否相交
[original] the influence of arm platform memory and cache on the real-time performance of xenomai
面部识别:攻击类型和反欺骗技术
ngnix集群高并发
京淘项目day09
异常+abstract
static+代码块+多态+异常
Hand tearing algorithm - handwritten singleton mode
你可能不知道的Animation动画技巧与细节