zoukankan      html  css  js  c++  java
  • Linux内核知识

    版本

    linus树

    Linux内核最初创始人--Linus Torvalds管理一个Linus树,linus树也称为主线(mainline)。一般指的upstream,“上游”,也指这个linus树或者各种开发树。

    linus树是以2.6.x这样的三个数字来表示。比如Linux 2.6.18-164.el5xen 的linus树中的内核版本就是2.6.18

    stable树

    这个是针对某个具体的内核版本进行bug修复,使其更加稳定的树。这个树的版本号是在linus树的版本号后加一个数字。比如Linux 2.6.18-164.el5xen 的linus树中的内核版本就是2.6.18,stable版本是164。

    发布版内核

    基于linus树或者stable树添加特有扩展和bug修改,以满足一些特定的用户的需求而发行的一些版本就叫做发行版。比如Fedora,Ubuntu,Centos等。

    获取上游内核可以从http://www.kernel.org获取

    如何对内核进行编译

    1 获取源代码

    2 设置

    3 编译

    4 根据发布版生成相应的源码包

    5 安装内核印象和模块

     

    比如ubuntu发布版必要的源码包是:

    libncurses5-dev   基于控制台(文字界面)设置时需要

    qt3-dev-tools  基于窗口(图形界面)设置时需要

    g++ 基于窗口(图形界面)设置时需要

    kernel-package

    fakeroot

    dpkg-dev

     

    具体步骤

    1 获取源码:

    apt-get install linux-source

    cp /usr/src/linux-source-XXXX.tar.bz2  /home/yejianfeng/

    cd /home/yejianfeng

    tar xjf linux-source-XXXX.tar.bz2

    2 设置

    cd  /home/yejianfeng/linux-source-XXXX

    make menuconfig

    exit -- 保存修改

    (退出可以看到根目录下有个.config文件就是配置)

    3 编译

    make

    11.18 --

    4 安装内核

    make modules_install

    make install

    遇到问题:

    第二步 make menuconfig的时候出现错误:

    ** Unable to find the ncurses libraries or the

    *** required header files.

    *** 'make menuconfig' requires the ncurses libraries.

    ***

    *** Install ncurses (ncurses-devel) and try again.

    ***

    解决方法:

    http://ubuntuforums.org/showthread.php?t=1097968

    apt-get install libncurses5-dev

    内核模块

    Linux内核是单内核(monolithic kernel),也就是所有的内核功能都集成在一个内核空间内。但是内核具有模块功能,可以将各个功能做成模块添加到内核空间中去。

    内核模块是可以动态添加到Linux内核空间的,文件扩展名为ko

  • 相关阅读:
    vue-面试
    使用webpack4搭建一个基于Vue的组件库
    vue 仿今日头条
    如何正确的在项目中接入微信JS-SDK
    vuejs实现折叠面板展开收缩动画
    Vue的watch和computed属性
    Android Studio(十):添加assets目录
    Android Studio(九):引用jar及so文件
    Android Studio(八):Android Studio设置教程
    Android Studio(七):项目从Eclipse到Android Studio迁移
  • 原文地址:https://www.cnblogs.com/yjf512/p/3302509.html
Copyright © 2011-2022 走看看