• 4.内核编译和裁剪


    一 内核编译--Makefile

            1.编译

         将Linux内核源码编译成针对特定硬件的二进制镜像--zImage /uIamge。

             2.方法
             *一般拿到一份新的源码,第一步先要将其编译通过。当第一次生成.config文件时,会进行首次配置,选择编译项目。建议对已有.config文件源码

         进行备份,以防丢失或错误。

             (1).在源码的顶层目录下,根据主机配置环境修改Makefile中的CROSS_COMPLIER路径(.bashrc)及处理器架构。        
             (2).在源码的顶层目录下,执行make命令,则会根据编写好的Makefile文件去编译源码,最终在 kernel/arch/arm/boot 文件夹下生成
                   zImage文件。如有错误,根据错误去修改。
            
           3.make执行流程

        执行顶层Makefile文件 -> 查找编译器和库文件 -> 查找顶层目录下.config -> 通过各层次的Makefile和Kconfig 编译系统。

           4.静态添加驱动进内核

       (1).将.c源文件复制到相应的目录下。
           (2).在该目录的Konfig配置文件中,添加配置选项。
           (3).在该目录的Makefile文件中,添加编译选项。

    二 内核配置/裁剪 --Kconfig make menuconfig
            
            内核配置系统的组成
            (1).各级的Makefile文件,用于指定编译方式,版本说明,选定编译器, 编译各级目录下的源文件成为指定二进制格式。              
            (2).Kconfig文件,存在于各级目录下,给用户提供可配置选择功能。和make menuconfig工具组成菜单配置界面,方便用户进行内核的裁剪       
            (3).配置工具,现在用的比较多的是make menuconfig,图形化内核配置工具。该配置工具是用脚本语言来写的,有两方面的组成。一是内部的脚本
            语言命令解释器,对配置脚本文件的命令进行解释;二是提供图形化的界面,提供字符及图形配置界面。
            内核配置的实质
            内核配置最终在源码顶层目录下生成 .config文件,该文件是经过内核配置后生成的配置文件,裁剪过相关的功能。
            
    三、由源码到板级代码的步骤
           

      一份已经完成的板级代码最重要看三部分:基础代码(能够运行最小文件系统,能够跑起来了);驱动代码(支持板子上的外设,并已经写好了驱动);

      其他代码(代码用途:)。
          (1).基础代码
                包括体系结构移植代码、处理器核心代码、板级支持包的部分代码。主要看主板的配置文件(.config)和主板代码文件(mach-xxx.c)    
                
         (2).驱动代码
            
                
         (3).其他代码
            
            
            
            

  • 相关阅读:
    关于springMVC转换json出现的异常
    jQuery实现,动态自动定位弹窗。JS分页,Ajax请求
    servlet为什么要配置web.xml
    Jmeter系列(4)- Jmeter 脚本录制
    后缀数组模板
    NOIP2016 玩脱记
    TERSUS无代码开发(笔记21)-流程执行顺序思考(转载)
    ===>===>===>特色思TERSUS常用功能整理
    TERSUS无代码开发(笔记20)-本地开发测试mysql数据库连接
    TERSUS无代码开发(笔记19)-mysql-connector-java-5.-bin.jar下载方法
  • 原文地址:https://www.cnblogs.com/nyqm/p/7954682.html
Copyright © 2020-2023  润新知