zoukankan      html  css  js  c++  java
  • [学习记录]linux内核学习1-环境配置与内核安装与一点学习思路

    最近开始往linux内核方向研究,苦于目前找到的资料与我个人学习习惯不同,所以就一遍啃骨头一遍整理思路,尝试整理一条适合自己的学习路线。

    学习之前先整理下手头的资源吧

    一个内核新人社区,有很多不错的东西https://kernelnewbies.org/

    linux内核官方网站 https://www.kernel.org/

    内核本质上也是一系列代码,因此绝不能脱离程序来学内核。为了对内核有一个大体的了解,先动手安装一下内核是个不错的选择。

    首先去官方网站下载你想研究的内核版本,然后解压。内核中有一个Documentation的文件夹,里面就有各个模块的文档。

    在内核源码目录(例如linux-X.X.X)下,复制一下本地的内核配置文件用来编译

    cp /boot/config-`uname -r`* .config

    然后make一下config

    最简单的就是

    make olddefconfig

    据说使用下面的配置会快一点,能快多少我也不太清楚

    make localmodconfig

    然后

    就可以make了,直接make

    如果cpu有X个核的话可以  make -jX 从而加快一点速度

    我自己虚拟机单核编译了4个小时

    编译会在每个模块下生成对应的.ko文件,就是内核模块了

    编译完成后需要把它们安装到本地

    sudo make modules_install install

    安装过程比编译会快很多,安装完之后需要对引导程序进行配置

    sudo vim /etc/default/grub

    如果这个文件里有下面两行内容的话,直接注释掉

    GRUB_HIDDEN_TIMEOUT=0
    GRUB_HIDDEN_TIMEOUT_QUIET=true

    然后进行如下修改

    GRUB_TIMEOUT=10
    GRUB_TIMEOUT_STYLE=menu

    修改完毕后运行下面的指令刷新配置,然后重启来加载新内核

    sudo update-grub2

    使用uname -a就可以发现已经更换新内核了

  • 相关阅读:
    Oracle解除死锁
    观察者模式
    观察者模式
    第一个go程序
    第一个go程序
    Jersey处理表单Post信息
    Jersey处理表单Post信息
    JS获取操作系统及浏览器信息
    JS获取操作系统及浏览器信息
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/trickofjoker/p/11824765.html
Copyright © 2011-2022 走看看