返回顶部
首页 > 资讯 > 操作系统 >Linux五步构建内核树
  • 278
分享到

Linux五步构建内核树

构造Linux内核树Linux内核树怎么建立 2022-06-04 23:06:05 278人浏览 八月长安
摘要

目录0. 系统自带的内核树1. 环境配置第一步第二步2. 下载源码3. 构建准备4. 构建内核5. 安装模块总结0. 系统自带的内核树 有时,安装的系统已经自带了linux内核树,足够用来编译驱动程序了。 自带的内核树通

目录
  • 0. 系统自带的内核树
  • 1. 环境配置
    • 第一步
    • 第二步
  • 2. 下载源码
    • 3. 构建准备
      • 4. 构建内核
        • 5. 安装模块
          • 总结

            0. 系统自带的内核树

            有时,安装的系统已经自带了linux内核树,足够用来编译驱动程序了。

            自带的内核树通常位于

            
            /lib/modules/<系统内核版本>/build
            

            其中,系统内核版本可以用uname -r来查看

            
            $ uname -r
            5.11.0-41-generic
            

            不过自带的内核树似乎不完整,所以建议按照下面的方法编译一个完整的内核树。

            1. 环境配置

            第一步

            初次配置内核树要先安装一些必要的环境

            
            sudo apt-get build-dep linux linux-image-$(uname -r)
            

            (如果报错Error :: You must put some ‘source‘ URIs in your sources.list,请参照这里)

            第二步

            除了上面的环境之外,还要安装这些

            
            sudo apt-get install libncurses-dev gawk flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf dwarves
            

            2. 下载源码

            
            sudo apt-get source linux-image-unsigned-$(uname -r)
            

            这一步结束之后,会多出三个文件,

            
            linux-hwe-5.11_5.11.0-41.45~20.04.1.diff.gz
            linux-hwe-5.11_5.11.0-41.45~20.04.1.dsc
            linux-hwe-5.11_5.11.0.orig.tar.gz
            

            以及一个内核源码所在的文件夹

            
            linux-hwe-5.11-5.11.0
            

            (注:文件名称根据不同的系统版本会有所不同)

            3. 构建准备

            (注:任何时候,运行命令时遇见了permission denied,只需要在命令开头加上sudo后重新运行即可)

            进入linux-hwe-5.11-5.11.0文件夹,输入

            
            make menuconfig
            

            稍微加载后,会进入这个页面

            在这里插入图片描述

            这里什么都不用修改,直接关闭界面即可(方向键选择Exit然后回车,或者连续按两下Esc就能退出),原因见本章节末。

            然后,会显示这个对话框

            在这里插入图片描述

            蓝色框选中Yes后,按下回车键退出即可

            这样会在当前目录下生成一个.config文件(输入ls -a就能找到这个文件),保证稍后的make能够顺利执行。

            4. 构建内核

            输入下面的命令开始构建(如遇见permission denied,在命令开头加上sudo后重新运行即可)

            
            make
            

            这里要狠狠地等一会儿,一般要一到数个小时。可以通过-j <最大并发任务数>命令,使用并发来提速。最大并发任务数一般可以是CPU数量的两倍。

            (注:通过使用make help进行查阅可以发现,在输入make时,会自动执行 1)make vmlinux(构建原始内核) 2)make bzImage(构建压缩的内核)和 3) make modules(单独构建模块化的驱动)这三个动作)

            5. 安装模块

            最后,把模块安装到/lib/modules/$(uname -r)目录

            
            sudo make modules_install 
            

            总结

            到此这篇关于Linux五步构建内核树的文章就介绍到这了,更多相关Linux内核树内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

            --结束END--

            本文标题: Linux五步构建内核树

            本文链接: https://lsjlt.com/news/21487.html(转载时请注明来源链接)

            有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

            猜你喜欢
            • Linux五步构建内核树
              目录0. 系统自带的内核树1. 环境配置第一步第二步2. 下载源码3. 构建准备4. 构建内核5. 安装模块总结0. 系统自带的内核树 有时,安装的系统已经自带了linux内核树,足够用来编译驱动程序了。 自带的内核树通...
              99+
              2022-06-04
              构造Linux内核树 Linux内核树怎么建立
            • Ubuntu怎么建立内核树
              这篇文章主要介绍了Ubuntu怎么建立内核树的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Ubuntu怎么建立内核树文章都会有所收获,下面我们一起来看看吧。先查看自己使用的内核版本lin@lin-virtual...
              99+
              2023-07-04
            • Linux五大模块内核源码以及内核整体架构设计的示例分析
              小编给大家分享一下Linux五大模块内核源码以及内核整体架构设计的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言本文是“Linux内核源码分析”系...
              99+
              2023-06-29
            • Ubuntu12.04建立内核树实现过程详解
              先查看自己使用的内核版本 lin@lin-virtual-machine:~$ uname -r 3.2.0-23-generic 如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录...
              99+
              2022-06-04
              Ubuntu 建立 内核树
            • 详解Linux内核内存管理架构
              内存管理子系统可能是linux内核中最为复杂的一个子系统,其支持的功能需求众多,如页面映射、页面分配、页面回收、页面交换、冷热页面、紧急页面、页面碎片管理、页面缓存、页面统计等,而且对性能也有很高的要求。本文从内存管理硬...
              99+
              2022-06-04
              Linux 内存 架构
            • linux内核结构是怎样的
              Linux内核是一个分层的结构,由多个模块组成,每个模块负责不同的功能。下面是Linux内核的主要组成部分:1. 进程管理模块:负责...
              99+
              2023-10-08
              linux
            • ubuntu上编译Linux内核步骤
               一、虚拟机的准备 1.下载Ubuntu镜像 Enterprise Open Source and Linux | Ubuntu 在最左边Ubuntu Desktop处点22.04LTS下载iso文件 2.在VMware上创建新的虚拟机 U...
              99+
              2023-10-03
              linux 运维 服务器 ubuntu
            • linux内核中有哪些数据结构
              linux内核中的数据结构有:1.链表,用于解决数组不能动态扩展缺陷;2.队列,用于使得进程等待某一特定事件的发生;3.二叉树,可以提供分层树型数据结构的特定数据结构;linux内核中的数据结构有常见的几种链表链表是在解决数组不能动态扩展缺...
              99+
              2024-04-02
            • linux编译内核的步骤是什么
              编译Linux内核的步骤如下:1. 获取内核源代码:从官方网站或开源社区下载最新版本的Linux内核源代码。2. 安装编译工具:确保...
              99+
              2023-10-07
              linux
            • Linux内核移植的步骤是什么
              今天给大家介绍一下Linux内核移植的步骤是什么。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Linux内核如何进行移植?所谓的内核移植就是从一种硬件平台转移...
              99+
              2023-06-28
            • linux内核编译的步骤是什么
              Linux内核编译的步骤如下: 获取内核源代码:可以从官方网站下载最新版本的内核源代码,也可以从GitHub等开源社区获取。 ...
              99+
              2024-02-29
              linux
            • 解析Linux内核与设备树的编译和烧写
              目录一、准备材料二、下载Linux内核文件三、编译四、通过TFTp烧写zImage与.dtb文件五、常见问题一、准备材料 可以根据自己的需要准备相应材料: 开发环境:VMware 操作系统:ubuntu 开发版:湃兔...
              99+
              2022-06-03
              Linux 内核 Linux 设备树
            • linux内核开发环境如何搭建
              要搭建Linux内核开发环境,你需要按照以下步骤进行操作:1. 安装必要的软件和工具:- 安装编译工具链(GCC、Make等):`s...
              99+
              2023-08-24
              linux
            • 如何解析Linux系统架构中的内核
              如何解析Linux系统架构中的内核,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。概述Linux系统一般有4个主要部分组成,内核、shell、文件系统和应用程序。内核、shell...
              99+
              2023-06-16
            • 怎么进行Linux系统内核架构分析
              这期内容当中小编将会给大家带来有关怎么进行Linux系统内核架构分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统中内核是一个非常重要的一部分,那么Linux内核具体是什么样子呢?下面本篇文...
              99+
              2023-06-28
            • Linux内核中的循环链表结构是什么
              Linux内核中的循环链表结构是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。文章中引用的代码来源于LXR,所分析的内核版本是v2.6.31。linux内核通过定义li...
              99+
              2023-06-17
            • 对Linux内核进行升级的步骤有哪些
              这篇文章主要讲解了“对Linux内核进行升级的步骤有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“对Linux内核进行升级的步骤有哪些”吧!下载内核代码如下:cd /usr/src<...
              99+
              2023-06-12
            • 怎么理解Linux内核中的循环链表结构
              本篇文章给大家分享的是有关怎么理解Linux内核中的循环链表结构,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。注:文章中引用的代码来源于LXR,所分析的内核版本是v2.6.31...
              99+
              2023-06-17
            • 移植新内核到Linux系统上的操作步骤
              1、在ubuntu官网下载ubuntu16.04的镜像和对应ubuntu16.04的内核版本源代码,或者在镜像源上找 2、安装ubuntu16.04到PC主机上 接下来执行以下: 编译新的linux内核给X86内核使用X...
              99+
              2022-06-04
              linux内核 linux移植内核 移植新内核到linux系统上的操作步骤
            • Linux 系统优化的一些建议(内核优化)
              关闭swap 如果服务器上有运行数据库服务或消息中间件服务,请关闭交换分区 echo "vm.swappiness = 0" >> /etc/sysctl.conf sysctl -p OOM Ki...
              99+
              2022-06-03
              Linux 优化 Linux 系统优化 Linux 内核优化
            软考高级职称资格查询
            编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
            • 官方手机版

            • 微信公众号

            • 商务合作