首页 > 系统相关 >使得两次编译linux内核产生一样的结果

使得两次编译linux内核产生一样的结果

时间:2024-09-28 13:34:40浏览次数:7  
标签:kernel make 编译 KBUILD export 内核 linux BUILD

export INSTALL_MOD_STRIP=-s
export KBUILD_BUILD_TIMESTAMP=0
export KBUILD_BUILD_USER=root
export KBUILD_BUILD_HOST=localhost
make mrproper
make allnoconfig
make -j4

其中make allnoconfig表示除必须的选项外, 其它选项一律不选。

然后就可以发现vmlinuxarch/x86/boot/bzImage都是确定性的。需要注意的是其他文件可能仍然是不确定的。关于这两个文件的描述可以看这里:https://en.wikipedia.org/wiki/Vmlinux

参考文献
https://blog.abraithwaite.net/2014/08/12/deterministic-kernel-builds/
Make kernel build deterministic
Linux Kernel内核配置方式详解

标签:kernel,make,编译,KBUILD,export,内核,linux,BUILD
From: https://www.cnblogs.com/searchstar/p/18437470

相关文章

  • 解决linux下latex无法使用consolas的问题
    在网上找了好久都没有合适的解决方案TT。结合报错信息,发现其实/usr/local/texlive/2019中已经有inconsolata,但是编译时xelatex找的是/usr/share/texlive,里面有一些字体没有(我也不懂为什么官方要这样搞)。于是我们只需要把/usr/share下的相关文件夹替换成/usr/local/texlive/2019中......
  • Javascript编译原理
    JavaScript的编译原理是一个复杂但有序的过程,主要涉及分词(词法分析)、解析(语法分析)、代码生成以及执行等阶段。以下是对JavaScript编译原理的详细解析:chrome编译流程 1.分词(词法分析)分词(Tokenizing)或词法分析(Lexing)是编译过程的第一步。在这个阶段,编译器将输入的源代码......
  • linux性能优化实践1
    理解应用程序和系统的少数几个基本原理,再进行大量的实战练习,建立起整体系统性能的全局观。你不需要了解每个组件的所有实现细节,只要能理解它们最基本的工作原理和协作方式。性能指标:应用负载的视角:高并发、响应快,影响产品终端用户体验系统资源的视角:资源使用率、饱和度性能问......
  • apk反编译修改教程系列-----修改apk 去除软件加固状态 实例操作步骤解析_2【二十八】
          今天继续以实例来演示去加固的步骤,app软件有加固就无法直接进行反编译修改操作。那么去加固就是修改软件的前提。作为初学的朋友,去加固后先测试app是都可以正常安装与打开。然后在进行对应的反编译修改操作。通过博文了解1------apk去加固的实例步骤演示......
  • [正点原子-I.MX6ULL]嵌入式 Linux 通过 nfs 下载出现 T T T T
    [正点原子-I.MX6ULL]嵌入式Linux通过nfs下载出现TTTT问题叙述但是有几个地方要注意1.安装驱动应该是2.修改GRUB_DEFAULT时,后面的引号是英文字符,直接复制过去会有语法报错3.最后就是重启linux时,如果你是在vmware上运行的,记得按shift进入boot界面问题叙述其实......
  • 在Linux上安装Cliosoft SOS的具体步骤是什么?
    在Linux上安装ClioSoftSOS的具体步骤如下。这些步骤包括了从下载软件包到完成安装的全过程,确保您能够顺利地在Linux系统上安装和配置SOS。1.准备工作检查系统要求:确保您的Linux系统满足SOS的硬件和软件要求。创建安装目录:建议使用一个专用目录来存放SOS的安装文件。例如:......
  • Linux 进程控制
    目录1.fork函数2.getpid/getppid函数3.父进程与子进程创建子进程:PID和PPID:资源继承:独立性:执行流程:退出和终止:僵尸进程:孤儿进程:进程组和会话:fork()的用途:4.父进程与子进程的应用场景:1.fork函数    一个进程,包括代码,数据和分配给进程的资源。    ......
  • Linux:环境变量
    一、环境变量1.1PATH的引入问题1:为什么我们平时输入的指令可以直接运行,但是自己编译出来的程序却要加./?——>因为指令所需要的相关程序是存储在系统能够查找得到的底下,而我们自己编译出来的程序是在当前的工作目录的,系统并不能直接找到。问题2:凭什么系统可以找到指令的......
  • Qt源码编译-Ubuntu平台
    Qt源码编译-Ubuntu平台Qt官网已取消了Qt5.15版本二进制安装包。如果要安装Qt5.15需要下载源码自行编译安装或使用商业授权版本。Qt是一个功能强大的跨平台开发框架,支持从嵌入式系统到桌面应用程序的开发。如果你希望在Ubuntu平台上从源码编译Qt,这篇教程将带你一步步......
  • 【Linux】进程控制
     ......