zoukankan      html  css  js  c++  java
  • Linux内核配置浅析

     

    1Linux Kernel Kconfig系统的基本结构

    Linux内核的配置系统由三个部分组成,分别是:

    1>Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则;

    2>Kconfig:分布在 Linux 内核源代码根目录及各层目录中,给用户提供配置选择的功能;

    3>.config:保存了配置选项结果;

    4>、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make configMake menuconfig make xconfig)。这些配置工具都是使用脚本语言,如 Tcl/TKPerl 编写的(也包含一些用 C 编写的代码)。该部分的代码在linux-3.18.42/scripts目录下。

     

    2Linux Kernel 配置

        假如我们基于ARM的开发板配置内核,常用的方法有两个:

    方法一(不推荐):修改内核源码顶层目录下的Makefile文件,将其中ARCH ?= $(SUBARCH)修改为ARCH ?= arm(指定目标处理器的架构,内核跑在ARM芯片上则把该项指定为arm,将CROSS_COMPILE  ?= 修改为CROSS_COMPILE  ?= arm-linux-gcc(指定交叉编译工具,在配置内核的时候可以不指定,但是在编译内核的时候一定要指定);然后内核的根目录下运行make menuconfig(或者是Make configmake xconfig)命令后,会弹出一个配置界面。

    方法二:直接通过命令行把ARCHCROSS_COMPILE变量传递到内核根目录下的Makefile文件中。在内核的根目录下运行make ARCH=arm menuconfig(或者是Make ARCH=arm configmake ARCH=arm  xconfig)命令后,会弹出一个配置界面。

    clip_image002

    当把所有选项都配置好,点击save保存后,会在内核的根目录下生成一个.config文件。该文件记录了我们对内核所做的配置。在编译内核的时候,内核的Kbuild系统会根据该文件去编译内核源代码。一般我们会把该.config文件拷贝到内核根目录下的arch/arm/configs/文件夹下,并重命名为xxx_defconfig(xxx一般为对应的开发板名称)

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    我所了解的meta
    移动端遇到的问题
    反编译工具
    Nginx安装及配置免费HTTPS证书
    Python中通过lambda抛异常的奇技淫巧
    理解PEP333-WSGI
    Doker学习笔记之一:安装
    《程序员修炼之道》备忘清单
    日常开发工具列表
    NLP入门资料
  • 原文地址:https://www.cnblogs.com/LoTGu/p/5943983.html
Copyright © 2011-2022 走看看