当前位置:网站首页>在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
边栏推荐
- Adobe Lightroom /Lr 2021软件安装包(附安装教程)
- ROS learning: remote start ROS node
- Data structure and sorting algorithm
- Data transmission of asynchronous serial communication controlled by group bus communication
- Privacy violation and null dereference of fortify vulnerability
- Cpp(四) Boost安装及基本使用 for Mac
- 16.文件传输协议、vsftpd服务
- The instanceof operator in ecmascript7 specification
- ROS学习---远程启动ROS节点
- A compilation bug brought by vs2015 Update1 update [existing solutions]
猜你喜欢
Goland 编写含有template的程序
wanxin金融
Jingtao project day09
关于晋升全栈工程师,从入门到放弃的神功秘籍,不点进来看一看?
UCGUI简介
什么都2020了,LINQ查询你还在用表达式树
云计算之路-出海记:整一台 aws 免费云服务器
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?
Principles of websocket + probuf
Wanxin Finance
随机推荐
Design pattern of facade and mediator
IDEA-项目未自动生成 .iml 文件
一次公交卡被“盗刷”事件带来的思考
C语言I博客作业03
Improvement of maintenance mode of laravel8 update
More than 50 object detection datasets from different industries
Ladongo open source full platform penetration scanner framework
Cpp(一) 安装CMake
16. File transfer protocol, vsftpd service
异常+abstract
Summary of knowledge points of Jingtao project
On the stock trading of leetcode
Golang anonymous structure member, named structure member, inheritance, composition
easyui dialog“缓存问题”
ROS learning: remote start ROS node
Using subprocess residue in supervisor and python multiprocessing
Data structure and sorting algorithm
Go之发送钉钉和邮箱
See once to understand, graphic single chain table inversion
Idea - the. IML file was not automatically generated by the project