linux内核裁剪

从内核官网下载源码,使用Git克隆源码仓库:git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

  1. 内核配置裁剪

默认配置:

make ARCH=arm defconfig

精简内核功能

精简内核功能

1. make ARCH=arm menuconfig
[ARCH=arm make O=out p***_debug_defconfigARCH=arm make O=out menuconfigARCH=arm64 make O=out i***_defconfigARCH=arm64 make O=out menuconfig
]

主要裁剪选项:
General setup:
禁用CONFIG_KERNEL_XZ以外的压缩选项。
禁用CONFIG_DEBUG_INFO(调试信息)。

Processor type and features:根据目标平台选择正确的处理器类型。
禁用不必要的CPU特性(如CONFIG_X86_EXTENDED_PLATFORM)。

Device Drivers:
移除不需要的设备驱动(如未使用的网卡、USB设备驱动)。

File systems:
仅保留需要的文件系统(如ext4、squashfs)。

Networking support:
移除不需要的网络协议(如IPv6、IPX)。

Kernel hacking:
禁用所有调试选项(如CONFIG_DEBUG_KERNEL)。

  1. 模块化裁剪

去掉不用的ko,如:rm -rf drivers/net/wireless/

  1. 文件系统裁剪(存储和启动项)

存储:
选择轻量级文件系统,如使用initramfs或squashfs作为根文件系统。
移除不必要的工具,如移除bash,使用busybox替代。
启动项:不用的服务关掉。

  1. 内存和存储优化

通过裁剪和压缩减少内核映像大小。如使用CONFIG_KERNEL_XZ压缩内核。
减少内核的内存占用。如调整内存分配策略(如CONFIG_SLOB)。

  1. 编译

make ARCH=arm zImage #编译内核映像
make ARCH=arm dtbs #编译设备树
make ARCH=arm modules #编译模块

  1. 启动测试

使用 Bootloader 加载内核并测试功能。
tftp 0x80008000 zImage
bootm 0x80008000

内核体积:从几十MB减少到几MB。
内存占用:从几百MB减少到几十MB。
启动速度:从几秒减少到几百毫秒。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28620.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis——快速入门

目录 Redis简介 安装配置(Windows) GUI工具RedisInsight的使用 十大数据类型(5基本5高级) 字符串String 列表List 集合Set(S) 有序集合SortedSet(Z) 哈希Hash(H) 发布订阅模式 消息队列Stream(X) 地理空间Geospatial(GEO) HyperLogLog(PF) …

MQ保证消息的顺序性

在消息队列(MQ)中保证消息的顺序性是一个常见的需求,尤其是在需要严格按顺序处理业务逻辑的场景(例如:订单创建 → 支付 → 发货)。 一、消息顺序性被破坏的原因 生产者异步/并行发送:消息可能…

SPI驱动(二) -- SPI驱动程序模型

文章目录 参考资料:一、SPI驱动重要数据结构1.1 SPI控制器数据结构1.2 SPI设备数据结构1.3 SPI驱动数据结构 二、SPI 驱动框架2.1 SPI控制器驱动程序2.2 SPI设备驱动程序 三、总结 参考资料: 内核头文件:include\linux\spi\spi.h 一、SPI驱…

Gpt翻译完整版

上一篇文章收到了很多小伙伴的反馈,总结了一下主要以下几点: 1. 说不知道怎么调api 2. 目前只是把所有的中文变成了英文,如果想要做多语言还需要把这些关键字提炼出来成放到message_zh.properties和message_en.properties文件中&#xff0c…

图解MOE大模型的7个核心问题并探讨DeepSeekMoE的专家机制创新

原文地址:https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-mixture-of-experts #mermaid-svg-FU7YUSIfuXO6EVHa {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FU7YUSIfuXO6EVHa .error-icon{fill…

windows电脑上安装llama-factory实现大模型微调

一、安装环境准备 这是官方给的llama-factory安装教程,安装 - LLaMA Factory,上面介绍了linux系统上以及windows系统上如何正确安装。大家依照安装步骤基本能够完成安装,但是可能由于缺少经验或者相关的知识导致启动webUi界面运行相应内容时…

vscode+vue前端开发环境配置

目录 一、安装Vue二、使用vue新建项目 一、安装Vue 在node.js安装好之后, npm config set registry https://registry.npmmirror.com# 安装vue相关工具,webpack用来项目构建、打包、资源整合等。 npm install webpack -g# 安装vue-cli脚手架 npm insta…

基于javaweb的SpringBoot田径运动会管理系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

【Python编程】高性能Python Web服务部署架构解析

一、FastAPI 与 Uvicorn/Gunicorn 的协同 1. 开发环境:Uvicorn 直接驱动 作用:Uvicorn 作为 ASGI 服务器,原生支持 FastAPI 的异步特性,提供热重载(--reload)和高效异步请求处理。 启动命令: u…

Libgdx游戏开发系列教程(5)——碰撞反弹的简单实践

目录 水平滚动 水平滚动并反弹 四面滚动反弹 加个板子进行弹球 本篇简单以一个小球运动,一步步实现碰撞反弹的效果 本文代码示例以kotlin为主,且需要有一定的Libgdx入门基础 注:下面动态图片看着有些卡顿,是录制的问题,实际上运行时很流畅的 水平滚动 简单起见,我们通过S…

kan pinn

本文介绍了两种主要的 PINNs 结构,分别用于解决数据驱动的偏微分方程求解和数据驱动的偏微分方程发现问题。两种结构都采用了深度前馈神经网络,并使用了双曲正切激活函数。 1. 连续时间模型: 用于数据驱动求解: 包含两个神经网络…

【C++】vector(上):vector的常用接口介绍

文章目录 前言一、vector的介绍二、vector的常用接口介绍1.vector类对象的常见构造2.vector iterator 的使用3.vector类对象的容量操作3.1 size、capacity 和 empty的使用3.2 reserve的使用3.3 resize的使用 4.vector类对象的访问(包含data:返回底层数组…

【大模型】Llama 3.2 大语言模型初探:模型权重下载

文章目录 一、简介二、权重下载2.1 方法一:Meta 官网申请下载2.2 方法二:使用 hugging face 下载 一、简介 Llama(Large Language Model Meta AI)是 Meta(原 Facebook)开发的一系列开源大型语言模型。它的目…

python量化交易——金融数据管理最佳实践——使用qteasy大批量自动拉取金融数据

文章目录 使用数据获取渠道自动填充数据QTEASY数据拉取功能数据拉取接口refill_data_source()数据拉取API的功能特性多渠道拉取数据实现下载流量控制实现错误重试日志记录其他功能 qteasy是一个功能全面且易用的量化交易策略框架, Github地址在这里。使用它&#x…

基于SpringBoot的在线骑行网站的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

AORO P9000 PRO三防平板携手RTK高精度定位,电力巡检效率倍增

电网系统覆盖幅员辽阔,每年因设备故障导致的巡检耗时超过百万工日。传统巡检模式受限于定位误差、设备防护不足和作业效率低下三大核心痛点,亟需智能化工具的突破性革新。为了满足这一需求,遨游通讯推出AORO P9000 PRO三防平板,以…

Harbor端口更改||Harbor端口映射

Harbor端口更改|Harbor端口映射 目标:将端口更改为8930 前言 [rootk8s-node1 harbor]# ls common common.sh docker-compose.yml harbor.v2.5.0.tar.gz harbor.yml harbor.yml.tmpl install.sh LICENSE prepare如上是Harbor的文件目录 更改harbor.yml文件…

飞算JavaAI编程工具集成到idea中

AI插件介绍 飞算AI的插件下载地址,里边也有安装步骤: JavaAI 以上图是不是看着很牛的样子,一下成为高手确实说的太夸张了点, 一键生成后端JavaWeb项目还是挺方便的。 飞算JavaAI插件安装 Idea->>file->>setting-&…

51c自动驾驶~合集53

我自己的原文哦~ https://blog.51cto.com/whaosoft/13431196 #DriveTransformer 上交提出:以Decoder为核心的大一统架构写在前面 & 笔者的个人理解 当前端到端自动驾驶架构的串行设计导致训练稳定性问题,而且高度依赖于BEV,严重限…

Pytorch系列教程:模型训练的基本要点

PyTorch是一个开源的机器学习库,由于其灵活性和动态计算图而迅速流行起来。在PyTorch中训练模型是任何数据科学家或机器学习工程师的基本技能。本文将指导您完成使用PyTorch训练模型所需的基本步骤。 总体说明 模型训练流程主要包括数据准备、网络构建、优化配置及…