首页|资源下载
登录|注册

您现在的位置是:首页 > 技术阅读 >  基于Buildroot直接进行内核配置

基于Buildroot直接进行内核配置

时间:2022-09-27

导读:Buildroot非常强大易用,但对于刚刚开始使用的开发者来说,很多功能可能并不知道,看官方的文档感觉一下子或许无从下手,在《基于Buildroot的Linux系统构建之快速通关》基础上,本文着重介绍如何在Buildroot中进行内核裁剪修改。


1.  内核构建管理

内核的文件结构如下图:

每个文件夹的作用这里不做介绍,要获得这方面的信息很容易找到答案。

这里主要介绍内核构建系统:

Linux内核Kbuild系统实现构建管理。

  • 顶层入口为Makefile

  • Kconfig定义配置

  • 组件式构建(称为递归make)是GNU make管理大型项目的常用方法

    在内核代码同一层级Kconfig定义配置选项,而Makefile定义具体依赖关系。

参考阅读 :Documentation/kbuild/modules.txt


顶层Makefile定义了,具体的Make操作:

蓝色命令比较常用:

  • make menuconfig

  • make ${PLATFORM}_defconfig 。

    如make omap3_defconfig

  • 具体可参阅:./README 根目录下的自述文件。


2.Buildroot配置内核

在Buildroot根目录直接运行如下命令:

  • make linux-menuconfig

  • make linux-nconfig

  • make linux-xconfig

  • make linux-gconfig

    相当于运行在内核根目录运行对应上表的命令,

举例:

如make linux-menuconfig 对应 make menuconfig

  • make linux-menuconfig

  • 这样就见到了熟悉的内核控制界面了,接下来可以进行内核配置了。


可是如果每次都这么弄,是不是非常麻烦?显然Buildroort已经考虑到这个需求了。


下面两条命令可以保存自定义内核配置文件

  •  make linux-update-config,以保存完整的配置文件

  • make linux-update-defconfig

    以保存最小的defconfig,如果指定了内核的配置方式则用上面的命令。


那么串起来,具体如何在Buildroot中保存自定义内核配置文件呢?

按照上述步骤执行,需要注意的点:

  • 第一次运行make menuconfig 需完成以下必要的配置:

    • Target options 配置

    • Toolchain 配置

    • Kernel配置,需要配置内核代码获取方式,内核配置基线。


    • 如上图,配置为TI 的oamp3_defconfig为起点,可选择你处理器的默认配置。

    • Kernel configuration (Using an in-tree defconfig file)

      (oamp3) Defconfig name

    • 注意,为节省时间配置一次可将下面文件夹备份

      • ./buildroot-2019.02.1/dl

      • ./buildroot-2019.02.1/output/host/

      • 这样在执行make distclean后,将dl下的内容恢复可节省下载时间

      • 对于host路径而言,host端需要的工具链则不需要重新编译。

  • 在完成测试后不可以直接执行make linux-update-config

    因为此时配置指向前面的配置文件

    在完成测试后不可以直接执行make linux-update-config

    因为此时配置指向前面的配置文件

  • 修改自定义配置文件路径,文件可不必存在

    buildroot 将自动执行下面操作以生成保存自定义保存文件:

    cp -f ./buildroot-2019.02.1/output/build/linux-custom/.config

    ./buildroot-2019.02.1/linux/test_defconfig

    test是我测试用的名字:


至此,就实现了基于Buildroot直接进行内核裁剪,至于内核具体裁剪,这里就不做描述了。

在开发过程中,就可以执行make linux-menuconfig 修改内核配置了。

而不必单独去内核的根目录进行内核配置了,当然你也可以这样做,至于具体如何选择,看个人习惯。

不妨点点在看或小小打赏,关注公号领海量资料

加群请扫描右下二维码,发送“加群”