• 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一般为对应的开发板名称)

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    log4net使用封装,无缝切换 dotnet 和 dotnetcore
    使用 certbot 申请泛域名https证书
    StackExchange.Redis中文使用文档
    在 asp.net core 中使用类似 Application 的服务
    不一样的 SQL Server 日期格式化
    你可能不知道的 docker 命令的奇淫怪巧
    [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)
    [k8s]k8s 1.9(on the fly搭建) 1.9_cni-flannel部署排错 ipvs模式
    [k8s] kubelet单组件启动静态pod
    [svc]runinit管理多进程
  • 原文地址:https://www.cnblogs.com/LoTGu/p/5943983.html
Copyright © 2020-2023  润新知