当前位置: 首页 > news >正文

构建 Linux 内核指南

该指南列出了用于构建 Linux 内核的各种目标及其说明。

清理目标:
clean - 删除大多数生成的文件,但保留配置文件和足以构建外部模块的构建支持。
mrproper - 删除所有生成的文件 + 配置文件 + 各个备份文件。
distclean - mrproper + 删除编辑器备份和补丁文件。
配置目标:
config - 使用面向行的程序更新当前配置。
nconfig - 使用基于 ncurses 菜单的程序更新当前配置。
menuconfig - 使用基于菜单的程序更新当前配置。
xconfig - 使用基于 Qt 的前端更新当前配置。
gconfig - 使用基于 GTK+ 的前端更新当前配置。
oldconfig - 使用提供的 .config 文件作为基础更新当前配置。
localmodconfig - 更新当前配置,禁用未加载的模块。
localyesconfig - 更新当前配置,将本地模块转换为核心模块。
silentoldconfig - 与 oldconfig 相同,但静默执行,另外还会更新依赖项。
defconfig - 使用 ARCH 提供的默认值生成新配置。
savedefconfig - 将当前配置另存为 ./defconfig(最小配置)。
allnoconfig - 生成新配置,所有选项都回答为否。
allyesconfig - 生成新配置,所有选项都接受为是。
allmodconfig - 生成新配置,尽可能选择模块。
alldefconfig - 生成新配置,所有符号都设置为默认值。
randconfig - 生成新配置,所有选项的回答随机。
listnewconfig - 列出新选项。
olddefconfig - 与 silentoldconfig 相同,但将新符号设置为其默认值。
kvmconfig - 启用用于 kvm guest 内核支持的附加选项。
xenconfig - 启用用于 xen dom0 和 guest 内核支持的附加选项。
tinyconfig - 配置尽可能小的内核。
其他通用目标:
all - 构建所有标记为 [*] 的目标。
vmlinux - 构建裸内核。
modules - 构建所有模块。
modules_install - 将所有模块安装到 INSTALL_MOD_PATH(默认: /)。
dir/ - 构建 dir 及其子目录下的所有文件。
dir/file.[ois] - 仅构建指定目标。
dir/file.ll - 构建 LLVM 汇编文件(需要编译器支持 LLVM 汇编生成)。
dir/file.lst - 仅构建指定混合源/汇编目标(需要较新的 binutils 和较新的构建 (System.map))。
dir/file.ko - 构建包含最终链接的模块。
modules_prepare - 设置用于构建外部模块的环境。
tags/TAGS - 生成供编辑器使用的标记文件。
cscope - 生成 cscope 索引。
gtags - 生成 GNU GLOBAL 索引。
kernelrelease - 输出发行版本字符串(与 make -s 一起使用)。
kernelversion - 输出存储在 Makefile 中的版本(与 make -s 一起使用)。
image_name - 输出镜像名称(与 make -s 一起使用)。
headers_install - 将清理过的内核头安装到 INSTALL_HDR_PATH(默认: ./usr)。
静态分析器:
checkstack - 生成堆栈占用量最高的函数列表。
namespacecheck - 对已编译内核进行命名空间分析。
versioncheck - 对 version.h 的使用进行健全性检查。
includecheck - 检查重复包含的 header 文件。
export_report - 列出所有导出符号的使用情况。
headers_check - 对导出的头文件进行健全性检查。
headerdep - 检测头文件中包含循环。
coccicheck - 使用 Coccinelle 进行检查。
内核自测:
kselftest - 构建并运行内核自测(以 root 身份运行)。在运行 kselftest 之前需要构建、安装和启动内核。
kselftest-clean - 删除所有生成的 kselftest 文件。
kselftest-merge - 将 kselftest 的所有配置依赖项合并到现有的 .config 文件中。
用户空间工具目标:
使用 "make tools/help" 或 "cd tools; make help"
内核打包:
rpm-pkg - 构建源和二进制 RPM 内核包。
binrpm-pkg - 仅构建二进制内核 RPM 包。
deb-pkg - 构建源和二进制 deb 内核包。
bindeb-pkg - 仅构建二进制内核 deb 包

相关文章:

构建 Linux 内核指南

该指南列出了用于构建 Linux 内核的各种目标及其说明。 清理目标: clean - 删除大多数生成的文件,但保留配置文件和足以构建外部模块的构建支持。 mrproper - 删除所有生成的文件 配置文件 各个备份文件。 distclean - mrproper 删除编辑器备份和补丁…...

Elasticsearch的快照

ES的快照是什么? snapshot是一个ES集群或者某个指定索引的备份,快照一般用在 不停机的状态下对ES集群进行备份当硬件故障时恢复集群数据用于跨集群的数据迁移对冷数据或冻结数据做快照以降低存储成本,依赖于可搜索的快照。-收费功能 一个快…...

C/C++混合编译说明

C调用C的函数: C的头文件中声明,被C调用的函数,是以C的方式编译 C的头文件: #ifdef __cplusplus extern "C" { #endif void func_c(void); #ifdef __cplusplus } #endif C调用C的函数: C的源文件中声明&#xff…...

三种方式实现人车流统计(yolov5+opencv+deepsort+bytetrack+iou)

一、运行环境 1、项目运行环境如下 2、CPU配置 3、GPU配置 如果没有GPU yolov5目标检测时间会比较久 二、编程语言与使用库版本 项目编程语言使用c++,使用的第三方库,onnxruntime-linux-x64-1.12.1,opencv-4.6.0 opencv 官方地址Releases - OpenCV opencv github地址ht…...

(四十四)Vue Router的命名路由和路由组件传参

文章目录 命名路由组件传参query参数方式参数传递参数接收 params参数方式参数传递参数接收 props配置方式布尔值形式对象模式函数模式 上一篇:(四十三)Vue Router之嵌套路由 命名路由 命名路由是为路由配置项提供一个名称,以便…...

EXCEL表格怎么批量删除日期后的时间?

竞价师最近有点忙了,因为百度新出来一个“线索有效性诊断”功能 一、下载电话、表单、咨询表格 二、选中整列 三、选中ctrlf 进行替换,日期输入空格,时间输入*,替换为空即可! 四、整列单元格格式“日期”拉倒底部&…...

乌班图Ubuntu 24.04 SSH Server 修改默认端口重启无效

试用最新的乌班图版本,常规修改ssh端口,修改完毕后重启sshd提示没有找到service,然后尝试去掉d重启ssh后查看状态,端口仍然是默认的22,各种尝试都试了不行,重启服务器后倒是端口修改成功了,心想…...

QT MQTT (二)编译与集成

一、QT MQTT 提供 MQTT 客户端服务的 Qt 专用库基于标准化发布 / 订阅协议,用于在设备和组件之间可靠地共享数据。MQTT 是为保证状态正确性、满足高安全标准和交换最小数据而设计的协议,因此被广泛应用于各种分布式系统和物联网解决方案中。 Qt开发MQT…...

(上位机APP开发)调用华为云属性修改API接口修改设备属性

一、功能说明 通过调用华为云IOT提供的属性修改API接口,给设备下发属性修改消息。 API接口地址:https://support.huaweicloud.com/api-iothub/iot_06_v5_0034.html 此接口支持在线调试:https://console.huaweicloud.com/apiexplorer/#/openapi/IoTDA/doc?api=UpdatePrope…...

爆火的儿童绘本如何用AI制作?一文解锁从制作到变现的全流程!

大家好我是安琪! AI绘图发展势头如此猛烈,无论是Stable Diffusion,Midjourney,还是国内百度的文心一格,字节的豆包等,AI绘图技术越来越成熟,风格也越来越多样化。那么问题来了,对于普…...

Go interface{}类型转换

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…...

利用opencv自带的Haar级联分类器模型

OpenCV自带的Haar级联分类器模型: haarcascade_eye.xml: 这个模型用于检测眼睛。 haarcascade_eye_tree_eyeglasses.xml: 这个模型用于检测眼镜。 haarcascade_frontalcatface.xml: 这个模型用于检测猫脸。 haarcascade_frontalcatface_extended.xml: 这个模型用…...

国产USB音频转换芯片CL7016C 支持国美标线控USB Type-C音频编解码器

CL7016C是一款高保真 USB Type-C 兼容音频编解码芯片。可以录制和回放有 24 比特音乐和声音。内置回放通路信号 动态压缩, 最大42db录音通路增益, PDM 数字麦克风,和立体声无需电容耳机驱动放大器。 5V单电源供电。兼容 USB 2.0 全速工业标…...

【linux网络(六)】IP协议详解

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Linux从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学更多操作系统知识   🔝🔝 Linux网络 1. 前言2. IP协议报…...

CesiumJS【Basic】- #012添加点线面(entity方式)

文章目录 添加点线面(entity方式)1 目标2 实现2.1 GeometryManager.ts2.2 main.ts添加点线面(entity方式) 1 目标 使用实体方式添加点线面 2 实现 2.1 GeometryManager.ts // src/GeometryManager.tsimport * as Cesium from cesium;export class GeometryManager {pr…...

【Redis】内存回收和内存淘汰机制

1 概念 Redis 所有的数据都是存储在内存中的, 如果不进行任何的内存回收, 那么很容易出现内存爆满的情况。因此,在某些情况下需要对占用的内存空间进行释放。 Redis 中内存的释放主要分为两类 Redis 中内存的释放主要分为两类: 内存回收: 将过期的 key 清除&#…...

PyTorch实战:借助torchviz可视化计算图与梯度传递

文章目录 Tensor计算的可视化(线性回归为例) 如何使用可视化库torchviz 安装graphviz软件 安装torchviz库使用 torchviz.make_dot() 在学习Tensor时,将张量y用张量x表示,它们背后会有一个函数表达关系,y的 grad_f…...

【软件测试】软件测试入门

软件测试入门 一、什么是软件测试二、软件测试和软件开发的区别三、软件测试在不同类型公司的定位1. 无组织性2. 专职 OR 兼职3. 项目性VS.职能性4.综合型 四、一个优秀的软件测试人员具备的素质1. 技能相关2. 非技能相关 一、什么是软件测试 最常见的理解是:软件测…...

Windows操作防火墙命令

Windows操作防火墙命令 启用防火墙: netsh advfirewall set allprofiles state on禁用防火墙: netsh advfirewall set allprofiles state off添加新的入站规则允许端口80(HTTP): netsh advfirewall firewall add r…...

二维数组的知识

二维数组: 1.同种数组类型的集合 2.连续的内存空间 3.由多个一维数组组成 定义方式:   存储类型 数据类型 数组名[常量表达式(行数)][常量表达式(列数)]&#xff1…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

Robots.txt 文件

什么是robots.txt? robots.txt 是一个位于网站根目录下的文本文件(如:https://example.com/robots.txt),它用于指导网络爬虫(如搜索引擎的蜘蛛程序)如何抓取该网站的内容。这个文件遵循 Robots…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

Qemu arm操作系统开发环境

使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​:下载安装 ​​De…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下&#xf…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

boost::filesystem::path文件路径使用详解和示例

boost::filesystem::path 是 Boost 库中用于跨平台操作文件路径的类&#xff0c;封装了路径的拼接、分割、提取、判断等常用功能。下面是对它的使用详解&#xff0c;包括常用接口与完整示例。 1. 引入头文件与命名空间 #include <boost/filesystem.hpp> namespace fs b…...