Linux内核编程02:Kbuild子系统

Kbuild 即kernel build,是用来编译Linux内核的一套Makefile。Kbuild基于GNU make设计,但是又对Makefile进行了各种扩充:

  • 基于图形界面的菜单式配置

  • 各种预定义目标和变量:menuconfig、obj-y

  • 提供各种跨平台工具和编译

  • 递归式Makefile

Linux内核可以灵活自由的高度裁剪和定制,其底层技术支撑除了模块机制之外,还有一项技术就是:可以使用Kbuild编译系统来方便地进行裁剪、配置、编译和安装。内核中的Kbuild子系统随着内核版本不断更新迭代,功能也越来越强大,也越来越受欢迎,被越来越多的开源软件借鉴和使用,比如U-boot、Busybox、Buildroot、Xen等,都在使用Kbuild这种编译系统来管理和维护。总结起来,Kbuild具有如下优势:

  • 高度灵活可定制:编译参数、编译模块选项都可以定制

  • 使用方便:内核裁剪、添加模块、删除模块操作简单

  • 配置简单:可交互的图形菜单

学习Kbuild本期课程预期会有哪些收获?

  • 深刻理解Makefile是如何编译Linux内核、U-boot等大型工程的

  • 遇到编译错误时,提供更多的视角去分析

  • 提供了一张地图,破解Linux内核的“黑暗森林”

  • 有助于理解内核启动流程、组织架构

  • 掌握Kbuild工作原理,对学习其他开源软件有帮助

本期课程主要内容:

如何使用Kbuild Makefile:

  • 裁剪、配置内核

  • 编译内核

  • 往内核中添加新的模块

Kbuild工作流程分析:

  • 内核镜像如何生成?

  • 内核模块编译

  • 内核模块安装

  • 内核头文件安装

  • 内核源码中的空头文件探秘

学习须知:

学习本课程前,需要具备Makefile基础知识,知道程序编译、链接的基本原理。如果没有此基础,建议先学习之前的《Linux三剑客》基础课程:Makefile工程实践:从零开始一步一步写项目的Makefile,学习效果会更好。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宅学部落-王利涛

just for test

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值