广告
返回顶部
首页 > 资讯 > 操作系统 >如何理解Linux内核编译
  • 521
分享到

如何理解Linux内核编译

2023-06-15 20:06:40 521人浏览 独家记忆
摘要

这篇文章给大家介绍如何理解linux内核编译,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、前言(仅供参考)linux内核该如何学习安装vmware虚拟机或者virtualbox,再安装发行版本linuxwww.ke

这篇文章给大家介绍如何理解linux内核编译,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、前言(仅供参考)

linux内核该如何学习

安装vmware虚拟机或者virtualbox,再安装发行版本linux

www.kernel.org,挑选一个内核版本

进行解压并编译

自己写一些模块(比如说可以去尝试解一些官网的bug),如下图所示:

如何理解Linux内核编译

如何理解Linux内核编译

如何理解Linux内核编译

下面我们就可以看到还有很多内核bug未解决的问题还在那里:

如何理解Linux内核编译

下面是提交的bug测试报告:

如何理解Linux内核编译

最后有可能的话,可以去试试尝试解这些bug!!!

内核源码(网络)阅读:tcp_input.c tcp_out.c tcp_ipv4.c tcp.c

进程管理:task_struct

一、linux内核版本下载:

我们可以去官网下载linux内核版本:www.kernel.org:

如何理解Linux内核编译

注:这里我下载的是最新的内核来进行编译,环境是在ubuntu18.04;注意如果低版本的ubuntu去编译搞版本的linux内核,可能会出现一些环境配置问题,比如make的版本过低等等。

解压并配置、编译:

(1)这里我使用了smbd服务器来共享windows文件,现在开始解压刚才下载下来的linux内核文件:

如何理解Linux内核编译

注意:一开始下载下来的linux内核文件是以".xz"结尾的,我们要用下面的命令进行解压:

xz –d linux-5.8.10.tar.xz

(2)然后就会得到上图的文件了;下面来正式解压文件了:

root@txp-virtual-Machine:/home/txp/share01# tar xvf linux-5.8.10.tar

(3)然后切换到解压得到的文件目录下,并进行一些前期准备:

root@txp-virtual-machine:/home/txp/share01# cd linux-5.8.10 root@txp-virtual-machine:/home/txp/share01/linux-5.8.10# ls arch   certs    CREDITS  Documentation  fs       init  Kbuild   kernel  LICENSES     Makefile  net     samples  security  tools  virt block  COPYING  crypto   drivers        include  ipc   Kconfig  lib     MaiNTAINERS  mm        README  scripts  sound     usr

(4)然后安装一些插件,这里我已经提前试过错了,所以只要安装下面的安装配置就行(当前第一次进行make  menuconfig的时候,可以根据报错信息来进行安装一些配置):

sudo apt-get install libncurses5-dev flex bison libssl-dev

(5)进行make menuconfig,出现了那个界面并save退出(可以直接按键盘上的esc键退出):

如何理解Linux内核编译

(6)开始编译内核,这里可以根据你的电脑是多少核处理器来进行编译配置(我的电脑是战神,四核处理器)

root@txp-virtual-machine:/home/txp/share01/linux-5.8.10# make -j4    CC [M]  net/bridge/br_vlan.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_clock_source.o   LD [M]  net/dsa/dsa_core.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_scl_filters.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_transfORM.o   CC [M]  drivers/gpu/drm/i915/gvt/mmio.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_opp.o   CC [M]  net/appletalk/aarp.o   CC [M]  net/bridge/br_vlan_tunnel.o   CC [M]  drivers/gpu/drm/i915/gvt/display.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_dmcu.o   CC [M]  net/appletalk/ddp.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_abm.o   CC [M]  net/bridge/br_vlan_options.o   CC [M]  drivers/gpu/drm/i915/gvt/edid.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_ipp.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_aux.o   CC [M]  net/bridge/br_switchdev.o   CC [M]  net/appletalk/dev.o   CC [M]  drivers/gpu/drm/i915/gvt/execlist.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c.o   CC [M]  net/appletalk/atalk_proc.o   CC [M]  net/bridge/br_netfilter_hooks.o   CC [M]  drivers/gpu/drm/amd/amdgpu/../display/dc/dce/dce_i2c_hw.o   CC [M]  drivers/gpu/drm/i915/gvt/scheduler.o

注:因为是最新内核,编译的时间比较久,所以耐心等待就行了(大概至少几十分钟。。。。。。),在编译的时候,我们也可以看一下内存的情况:

htop

如何理解Linux内核编译

(7)如果你要修改当前ubuntu的内核版本,可以按照下面的操作来进行,我这里就没有去更换内核了,配置了太多东西,所以就。

当前内核版本:

root@txp-virtual-machine:/home/txp/share01/linux-5.8.10# uname -r 5.3.0-28-generic

a、先进行安装编译内核模块:

make modules_install
make bzImage

b、安装新编译的内核(把我们刚才编译的新内核进行替换当前内核):

$ cp arch/x86/boot/bzImage /boot/vmlinuz-5.8.10 $ cp .config /boot/config-5.8.10 $ cd /lib/modules/5.8.10/ $ update-initramfs –c –k 5.8.10 $ update-grub

关于如何理解Linux内核编译就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 如何理解Linux内核编译

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解Linux内核编译
    这篇文章给大家介绍如何理解Linux内核编译,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、前言(仅供参考)linux内核该如何学习安装vmware虚拟机或者virtualbox,再安装发行版本linuxwww.ke...
    99+
    2023-06-15
  • 如何编译Linux内核
    这篇文章给大家分享的是有关如何编译Linux内核的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在计算机世界里,内核kernel是处理硬件与一般系统之间通信的低阶软件low-level software。除过一些烧...
    99+
    2023-06-16
  • 怎么编译Linux内核
    这篇文章主要为大家展示了“怎么编译Linux内核”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么编译Linux内核”这篇文章吧。下载内核我们要做的***件事是下载内核源码。在 Kernel.o...
    99+
    2023-06-16
  • Linux编译内核的过程
    本篇内容主要讲解“Linux编译内核的过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux编译内核的过程”吧!Linux编译内核 准备工作 通常要运行的第一个命令是: #cd /usr/...
    99+
    2023-06-13
  • linux编译内核的方法
    1、下载需要的内核版本 2、上传到操作系统 3、解压到/usr/src目录下 比如:3.19内核 tar -xvf linux-3.19.tar.xz -C /usr/src 4、创建连接 cd /usr/sr...
    99+
    2022-06-03
    linux 编译内核
  • 如何解决Linux内核编译失败的问题
    本篇内容主要讲解“如何解决Linux内核编译失败的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决Linux内核编译失败的问题”吧!内核常识我们先要了解一点.一个内核有哪些东西.比如我...
    99+
    2023-06-12
  • RHEL内核如何编译
    这篇文章主要介绍了RHEL内核如何编译,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。RHEL内核编译步骤:准备将要编译的内核,版本一定要比当前使用的版本号先进。可在www.k...
    99+
    2023-06-17
  • 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怎么在2.6内核中编译内核模块
    这篇文章主要介绍linux怎么在2.6内核中编译内核模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!编译内核模块的方法与编译一般应用程序的方法略有不同. 我们会发现在内核源码树的层层目录中, 都存在有Makefil...
    99+
    2023-06-16
  • Linux内核重编译问题的解决办法
    本篇文章为大家展示了Linux内核重编译问题的解决办法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。内核重编译对很多Linux爱好者来说是一个不小的挑战。笔者认为,很多Linux用户对内核通常有一种...
    99+
    2023-06-16
  • Linux内核怎么编译和安装
    这篇文章主要介绍“Linux内核怎么编译和安装”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux内核怎么编译和安装”文章能帮助大家解决问题。Linux内核介绍Linux发行版是在Linux内核...
    99+
    2023-06-28
  • Linux内核编译的示例分析
    小编给大家分享一下Linux内核编译的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   下载源代码Linux内核总是不断发展的,***的内核K...
    99+
    2023-06-16
  • ubuntu如何重新编译内核
    ubuntu重新编译内核的示例:例如重新编译ubuntu 11.04 内核,可以使用uname -r 查看,重新编译的操作步骤:安装所需软件包sudo apt-get install kernel-wedge kernel-package ...
    99+
    2022-10-18
  • openSUSE如何配置编译内核
    这篇文章主要为大家展示了“openSUSE如何配置编译内核”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“openSUSE如何配置编译内核”这篇文章吧。配置内核就是在源码目录下生成一个 .conf...
    99+
    2023-06-16
  • Ubuntu内核系统如何编译
    这篇文章主要介绍了Ubuntu内核系统如何编译,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。命令:sudo make-kpkg clean fakeroot make-kpk...
    99+
    2023-06-16
  • linux编译内核的原因是什么
    这篇文章主要讲解了“linux编译内核的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux编译内核的原因是什么”吧! ...
    99+
    2023-04-06
    linux
  • linux编译内核的步骤是什么
    编译Linux内核的步骤如下:1. 获取内核源代码:从官方网站或开源社区下载最新版本的Linux内核源代码。2. 安装编译工具:确保...
    99+
    2023-10-07
    linux
  • Linux模块文件如何编译到内核和独立编译成模块
    这篇文章主要介绍“Linux模块文件如何编译到内核和独立编译成模块”,在日常操作中,相信很多人在Linux模块文件如何编译到内核和独立编译成模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux模块文件...
    99+
    2023-06-15
  • 解析Linux内核与设备树的编译和烧写
    目录一、准备材料二、下载Linux内核文件三、编译四、通过TFTp烧写zImage与.dtb文件五、常见问题一、准备材料 可以根据自己的需要准备相应材料: 开发环境:VMware 操作系统:ubuntu 开发版:湃兔...
    99+
    2022-06-03
    Linux 内核 Linux 设备树
  • 详解Linux内核编译配置(menuconfig)、文件系统制作
    Linux内核编译配置(menuconfig)是指通过命令make menuconfig来配置Linux内核的编译选项。menuco...
    99+
    2023-09-21
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作