• 2.内核配置与编译,内核移植


                     内核配置与编译

    一、内核清除

      当我们拿到内核第一步需要做的就是先对内核进行清理,防止别人配置编译生成的中间文件对我们产生影响:

      1.配置过程生成的 .config
      2.编译生成 bzImage 中间文件(.o)和生成.ko 文件的中间文件(.o)

      make clean 清除.o 文件

      make distlean 清除.config 文件

    二、内核配置

      1. make config:基于文本模式的交互式配置。

      

      2. make menuconfig:基于文本模式的菜单型配置。

      

       一般来说我选择第二种方法,简单明了。

     这里面一般有三种菜单选项意义如下:

       <*>:所有的文件最后会被生成一个 uImage 内核映像运行在内存中

      <M>:内核模块各个模块生成一个文件夹(存储)需要使用时则拷贝到内存中使用可以达到节省内存的目的

      < >:不选择

    2.2接下来配置linux内核

      首先将开发板制造商提供的config-file文件复制到linux内核目录下面改名为.config

       

      使用make menuconfig ARCH=arm命令

     2.3内核配置结果

       

       内核配置通常在一个已有的配置文件基础上,通过修改得到新的配置文件,Linux 内核提供了一系列可供参考的内核配置文件,位于 Arch/$cpu/configs

      可以用命令 cd arch/arm/configs进入目录

      打开6410参考配置文件查看:vim s3c6400_defconfig

     二、内核编译

      make   uImage   ARCH=arm   CROSS_COMPILE=arm-linux-

      

      编译内核失败原因:uboot 要求的可执行文件都有一个头这个头由 mkimage工具制作,生成 mkimage 工具在 uboot 里面 uboot/tools/拷贝到 bin 文件下面

       

    2.1接着继续编译

      make   uImage   ARCH=arm   CROSS_COMPILE=arm-linux-

     

      出现以上错误是因为制作了根文件系统,但是现在找不到文件系统目录,所以只需取消了以下路径就可以了。

      执行:make menuconfig

       

       

    执行:make   uImage   ARCH=arm   CROSS_COMPILE=arm-linux-等待20~30分钟

     编译成功:

      

      最后一步进入arch/arm/boot目录下面将生成的uImage镜像文件下载到开发板即可。

  • 相关阅读:
    MongoDB Java连接---MongoDB基础用法(四)
    MongoDB用户,角色管理 --- MongoDB基础用法(三)
    Mongodb命令 --- MongoDB基础用法(二)
    MongoDB简介---MongoDB基础用法(一)
    Docker 私有仓库
    Dockerfile
    Docker部署Mysql, Tomcat, Nginx, Redis
    Docker 容器的数据卷
    封装的多功能多效果的RecyclerView
    安卓实现沉浸式效果,状态栏变色
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5322769.html
Copyright © 2020-2023  润新知