编译linux overlayfs模块

【openwrt】【overlayfs】Openwrt系统overlayfs挂载流程 overlayfs是一种叠加文件系统,在openwrt和安卓系统中都有很广泛的应用,overlayfs通常用于将只读根文件系统(rootfs)和可写文件系统(jffs2)进行叠加后形成一个新的文件系统,这个新的文件系统“看起来”是可读写的。 阅读详情

当我们需要使用一个内核模块的时候,在当前使用版本内核编译的时候又没有加进去,在不改变内核版本的时候,再编译整个内核,可能会覆盖原来的内核,导致系统无法启动

现在我们能够单独选择需要的模块,然后加载进内核

准备工作

首先进入你当前使用的系统查看当前的使用内核版本,在这里是 4.4.131

下载对应内核源码包 linux-4.4.131.tar.bz2 将源码包放入 /usr/src/ 下

解压源码包,更新编译工具包

apt-get install bzip2 libncurses5-dev kernel-package zlib1g-dev gcc make kernel-package wget module-init-tools procps libncurses5-dev

进入到你需要的模块的文件夹下面

cd /usr/src/linux-4.4.131/fs/overlayfs/

进入 Makefile 查看模块信息,编译模块

root@kylinos:/usr/src/linux-4.4.131/fs/overlayfs# make CONFIG_OVERLAY_FS=m -C /lib/modules/`uname -r`/build M=`pwd` modules

可能会报错

找不到编译的文件路径,做一个软连接

ln -s /usr/src/linux-headers-4.4.131/ /lib/modules/2.6.39/build

再做一次

$ make CONFIG_OVERLAY_FS=m -C /lib/modules/`uname -r`/build M=`pwd` modules

就生成了两个模块 ,将这两个模块拷到你的当前使用内核的模块的路径

# mkdir /lib/modules/2.6.39/kernel/fs/overlayfs
root@kylinos:/usr/src/linux-4.4.131/fs/overlayfs# cp overlay.mod.o /lib/modules/$(uname -r)/kernel/fs/overlayfs
root@kylinos:/usr/src/linux-2.6.39/fs/overlayfs# cp overlay.ko /lib/modules/$(uname -r)/kernel/fs/overlayfs
root@kylinos:/usr/src/$(uname -r)/fs/overlayfs# depmod
root@kylinos:/usr/src/$(uname -r)/fs/overlayfs# modprobe overlay

就可以看到 overlayfs 模块了

OverlayFS 详细介绍 OverlayFS 是一种堆叠文件系统,它依赖并建立在其它的文件系统之上(例如 ext4fs 和 xfs 等等),并不直接参与磁盘空间结构的划分,仅仅将原来底层文件系统中不同的目录进行 “合并”,然后向用户呈现,这也就是联合挂载技术,对比于 AUFS,OverlayFS 速度更快,实现更简单。而 Linux 内核为 Docker 提供的 OverlayFS 驱动有两种:overlay 和 overlay2。 阅读详情

相关推荐

保姆级教程:手把手教你为RK3568开发板编译支持Docker的内核(附完整配置流程)

本文提供RK3568开发板编译支持Docker内核的完整教程,涵盖环境配置、内核需求分析、实战操作、编译烧录技巧及系统验证等全流程。特别针对Docker兼容性需求,详细解析必须开启的内核配置项,并分享常见问题解决方案,帮助开发者高效部署容器化应用。

weixin_30485379的博客 364

深入理解overlayfs(一):初识

Overlayfs是一种类似aufs的一种堆叠文件系统,于2014年正式合入Linux-3.18主线内核,目前其功能已经基本稳定(虽然还存在一些特性尚未实现)且被逐渐推广,特别在容器技术中更是势头难挡。本系列博文将首先介绍overlayfs的基本概念和应用场景,然后通过若干实例描述它的使用方式,最后从源码角度结合Linux VFS Layer和Ext4fs连通分析overlayfs的实现。本文先来...

elab-i 2万+

Buildroot实战:如何用外部树(br2-external)管理嵌入式Linux定制项目?

本文深入探讨了Buildroot外部树(br2-external)在嵌入式Linux项目中的模块化管理实践。通过详细解析br2-external的核心价值、目录结构设计、高级配置技巧及实战案例,帮助开发者高效管理多硬件平台配置,实现项目隔离与版本控制,显著提升嵌入式Linux定制项目的开发效率。

silver的专栏 901

docker镜像存储——overlayfs(新手入门)

一、概述   Docker 中的镜像采用分层构建设计,每个层可以称之为 “layer”,这些 layer 被存放在了 / var/lib/docker/<storage-driver>/ 目录下,这里的 storage-driver 可以有很多种如: AUFS、OverlayFS、VFS、Brtfs 等。可以通过 docker info 命令查看存储驱动,(笔者系统是 centos7.4): 通常 ubuntu 类的系统默认采用的是 AUFS,centos7.1 + 系列采用的是 Ove

qq_36657175的博客 7908

嵌入式Linux根文件系统制作:Busybox裁剪与启动全流程解析

嵌入式Linux系统中,根文件系统是内核启动后构建用户态环境的基础,它决定了系统能否正常执行init进程、加载动态库并提供shell交互。Busybox作为一套精简的Unix工具集,将常用命令集成于单一可执行文件,通过符号链接机制分发调用,是构建最小根文件系统的核心组件。制作过程中,涉及交叉编译环境配置、静态/动态链接选择、设备节点创建、inittab与rcS启动脚本设计,以及通过NFS或ext4镜像进行落地调试。理解这些底层原理,工程师可以灵活裁剪系统体积、定位启动失败问题,并采用overlayfs等方案

weixin_32770423的博客 155

OverlayFS-开源

一个FUSE文件系统模块,将多个目录的内容透明地合并到一个目录中。

Linux kernel内核编译

Linux kernel内核编译 一、安装所需前置软件 sudo apt-get install fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison 二、设置CPU架构 export ARCH=x86_64 export CROSS_COMPILE=x86_64-linux-gnu- 三、设置系统选项 make x86_64_defconfig make menuconfig 配置选项是为了

greatyoulv的专栏 1415

fuse-overlayfs-1.7-1.module_el8.5.0+877+1c30e0c9.ppc64le.rpm

官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

如何让 4.14 老内核用上 KernelSU 刷 root:一份完整的实操指南

手里的设备内核还是 Linux 4.14,也能用 KernelSU 刷 root。整条路径是:先自查内核是否落在支持范围,再按版本区间选内核移植路线,备份 boot 分区,最后依次完成内核集成、交叉编译和开机验证。只要你会用 ADB,现在就能动手。 ## KernelSU 兼容性检测:一分钟自查设备支不支持 别急着编译,先把手机连上电脑,执行: ```bash adb shell uname

gitblog_00617的博客 437

fuse-overlayfs-1.4.0-2.module_el8.5.0+1006+8d0e68a2.aarch64.rpm

官方离线安装包,亲测可用

基于gem5模拟trace的cache模拟器的实现

在做计算机体系结构的时候,模拟器是一个重要且又有效的工具。其中gem5集成了gem和m5的优点,使用起来比较简单和方便。其中包括了se模式和fs模式,se模式是在gem5运行我们已经编译好的程序,可以获取cache,cpu状态等数据,fs模式下可以模拟操作系统,我们可以将我们自己修改的linux内核加载到哥们上运行。下面介绍了使用gem5的se模式,运行编译好的ARM可执行文件。获取访存的trac

gaoxiang的专栏 8891

3步解锁旧内核:KernelSU在Linux 4.14+设备上的完整适配指南

你是否还在为Android设备的内核版本过低而无法使用KernelSU感到困扰?KernelSU作为基于内核的root解决方案,虽然官方主要支持GKI 2.0设备(内核5.10+),但通过本文的完整指南,你将了解如何在Linux 4.14+内核设备上成功部署KernelSU,突破版本限制,获得内核级的root权限管理能力。 ## 为什么旧内核设备需要特别适配? KernelSU的核心优势在于其

gitblog_00796的博客 307

Jetson nano/nx使用麒麟arm版向日葵实现远程控制

Jetson nano/nx使用麒麟arm版向日葵实现远程控制1、安装向日葵软件2、运行Sunlogin Client3、向日葵闪退问题4、重启系统5、重启后黑屏问题 特别提醒: 本博客的第3步切换桌面管理环境到lightdm,存在重启后开机黑屏的风险,我在自己的nano/nx上都没有问题,但帮一个同学的nx配置时,切换到lightdm,重启开机却出现了黑屏,所以执行第3步的话要有心理准备,黑屏解决方法见第5步,特此提醒。

胡乱学点东西 2万+

KernelSU Next终极指南:10分钟掌握内核级Android权限管理

在Android系统定制和深度优化的世界里,内核级root解决方案一直是最专业、最稳定的选择。KernelSU Next作为一款基于内核的高级root工具,为技术爱好者和开发者提供了前所未有的Android权限管理能力。这款内核级root解决方案通过直接在Linux内核层实现权限控制,避免了传统root方法对系统稳定性的破坏,让Android系统定制变得更加安全可靠。 ## 核心概念解析:内核级

gitblog_00077的博客 1025

Qt中多线程的使用(一)

我们要实现的是读取大文件qtgui.index的内容加入文本框中。 很容易想到的方法: QFile* file = new QFile("E:\qtgui.index"); file-&gt;open(QIODevice::ReadOnly); QTextStream *stream = new QTextStream(file); while(!st...

yao5hed的专栏 1万+

【代码审计】专栏文章汇总

代码审计基础 代码审计基础 源代码审计思路(上) 源代码审计思路(下) 常见漏洞审计 认证会话管理(上) 认证会话管理(下) 输入输出验证 授权管理审计 业务安全审计 第三方组件审计

武天旭的博客 4843

深入Podroid架构:自定义Linux内核与Alpine rootfs的构建流程详解

Podroid是一款创新的无根Android应用,它能够在Android设备上启动Alpine Linux系统,让用户可以运行容器(如Podman、Docker、LXC)和GUI桌面应用。本文将深入解析Podroid的核心架构,重点介绍其自定义Linux内核的配置与Alpine rootfs的构建流程,帮助读者理解这款强大工具背后的技术实现。 ## 自定义Linux内核:为移动设备优化的虚拟化基

gitblog_01074的博客 558

Palantir如何利用Ontology构建企业级数据地图

Palantir通过"本体论"(Ontology)技术构建动态数据地图,将多源异构数据转化为可操作的业务知识网络。该技术突破传统ETL模式,建立覆盖全组织的语义层,将原始数据映射为"客户""订单"等业务对象及其关联关系,形成可推理的语义网络。核心Foundry平台提供本体管理工具(OMA)和开发套件(OSDK),支持从数据连接到应用开发的全流程。虽然采用专有实现而非标准本体语言,但该架构成功解决了数据孤岛问题,赋能复杂决策分析

Learning 1786

ubuntu系统检测内核配置是否支持Docker核心模块

ubuntu系统检测内核配置是否支持Docker核心模块

susu1083018911的博客 264

用 CORRESPONDING #( ) 优雅复制同名字段:从 MOVE-CORRESPONDING 到现代 ABAP 结构映射的关键差异与最佳实践

摘要:本文深入探讨了SAP ABAP中结构数据复制的两种主要方式——传统MOVE-CORRESPONDING与现代CORRESPONDING #()的核心差异。重点分析了现代构造表达式会初始化目标结构的关键特性,通过SAP_GWFND开发中的实际案例展示了这一差异可能引发的线上问题。同时介绍了使用BASE保留目标字段值的技巧,以及通过MAPPING处理字段名不一致的场景。文章为ABAP开发者提供了在S/4HANA、BTP及RAP等现代架构下的数据映射最佳实践,帮助规避常见的维护陷阱。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2258

利用R语言通过holtwinters模型进行预测

使用Holt-Winters模型进行预测的第一步是对模型进行拟合。该函数需要两个参数:您的时间序列数据和一个“seasonal”参数,该参数指示您的数据的周期性(例如,如果您的数据按月记录,则应将“seasonal”参数设置为12,因为一年有12个月)。拟合模型后,您可以使用“forecast()”函数进行预测。该函数需要两个参数:您的拟合模型以及您要进行预测的时间段的长度。要使用Holt-Winters模型,您需要安装并加载“forecast”包。以下是进行Holt-Winters模型预测的示例代码。

Mrrunsen的博客 1696

RK3588 Docker 启动失败排查与修复

本文总结了RK3588开发板上Docker启动失败的两种解决方案:1)切换iptables模式(legacy/nft),通过用户态配置快速解决;2)通过check-config脚本检测并补齐内核缺失功能,包括menuconfig配置、内核重编译、模块替换等完整流程。方案一优先尝试,若无效则执行方案二。文中提供了详细的命令步骤和验证方法,适用于RK3588及其他Linux开发板遇到的类似Docker启动问题。重点解决了内核能力缺失、网络初始化失败等常见错误,最终确保Docker服务正常启动并能运行容器。

dd_ts的博客 572

为什么devc++编译项目会失败?提示gcc无法正常启动...

根据你的描述,编译能正常进行时,只打开源文件并没有问题,问题主要出现在创建项目后编译失败,这通常与 Makefile 配置、环境变量、编译器路径设置等因素有关。你可以检查 Makefile 配置,验证 DevC++ 的编译器环境设置,或者尝试清理并重新配置项目。如果问题仍然存在,可以尝试重装 DevC++ 或重新配置工具链。希望如上措施及解决方案能够帮到有需要的你。

**My Coding Family** 1375

突破旧内核限制:KernelSU在Linux 4.14+设备上的完整适配指南

KernelSU作为Android设备上基于内核的root解决方案,为开发者提供了强大的内核级权限管理能力。然而,许多老旧设备仍在使用Linux 4.14-5.3版本的内核,这些设备无法直接享受KernelSU的官方支持。本文将详细介绍如何为这些旧内核设备适配KernelSU,从兼容性检测到完整移植,提供一站式解决方案。 ## 📊 内核版本支持矩阵与兼容性分析 KernelSU官方最低支持L

gitblog_00642的博客 653

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

palera1n深度技术解析:iOS设备越狱架构与实战指南

palera1n是一款专为A8到A11芯片设备设计的iOS越狱工具,支持iOS/iPadOS/tvOS 15.0及以上版本,为技术爱好者和开发者提供了深度定制iOS系统的能力。本文将从技术架构、核心原理、实战配置到高级优化,全面解析这一开源越狱解决方案。 ## 技术架构解析 ### 核心组件与工作流程 palera1n基于checkm8硬件漏洞构建,采用模块化架构设计,主要包含以下核心组件:

gitblog_01227的博客 575

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

KernelSU 完整指南:Android 内核级 Root 的兼容性自查、三条安装路线与权限管理

为什么值得把 root 从用户空间搬进内核层?因为内核里做事,授权逻辑不再依赖应用"配合"——内核可以精确决定每个进程拿到什么权限,还能做用户空间 root 工具碰不到的操作,例如给任意进程下硬件断点、读取任意进程的物理内存。KernelSU 正是把 root 服务整体放进 Android 内核的解决方案:它为用户空间中的应用提供 root 权限,同时保留内核层的深度操作能力。 ## 先看兼容性

gitblog_02796的博客 480

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: OpenStack Stein删除所有网络
下一篇: Understanding Docker Container Exit Codes
mtOS1573
博客等级 码龄15年 305粉丝 188原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值