linux内核 课程报名
GitHub
进入linux内核源码目录

购买课程并登录之后,才可查看完整版数据

GitHub登录

生成内核配置
make defconfig // 生成内核的默认配置
Makefile:%config
scripts/kconfig/Makefile:defconfig
scripts/kconfig/conf --defconfig=arch/x86/configs/x86_64_defconfig Kconfig
scripts/kconfig/conf.c:main // conf程序的main函数
scripts/kconfig/parser.y:conf_parse // 解析Kconfig中定义的内核配置项
scripts/kconfig/confdata.c:conf_read // 根据arch/x86/configs/x86_64_defconfig文件的内容,为对应的内核配置项赋值
scripts/kconfig/conf.c:conf_set_all_new_symbols // 对于那些还没有值的内核配置项,如果Kconfig中为其定义了默认值,则把它设置为默认值,否则设置为其类型的零值
scripts/kconfig/confdata.c:conf_write // 将最终的内核配置写到.config文件里
scripts/kconfig/confdata.c:conf_write_autoconf // 为 Makefile/c/rust 生成对应的 include/config/auto.conf, include/generated/autoconf.h, include/generated/rustc_cfg 文件
linux内核各种配置方式的区别
构建内核
make -j4 // 参数-j4表示最大允许4个任务同时运行,根据机器配置调节该参数值,当然,也可以不加这个参数
Makefile:__all // 当make没有指定构建目标时,就会执行Makefile里的第一个目标,对于linux内核来说,就是__all
xxxxxxxx:xxxxx // xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx:xxx
xxxxxxxx:xxxxxxx
xxxxxxxx:xxxxxxxxx
xxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx:xxxxxxx // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx:xxx
xxxxxxxxxxxxxxxxx:xxxxxxx
xxxxxxxx:xxxxxxx // xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx:xxx
xxxxxxxx:xxxxxxx
xxxxxxxx:xxxxxxx // xxxxxxxxx
xxxxxxxx:xxxxxxx
xxxxxxxx:xxxxxxxxxxxxxxx
xxxxxxxx:xxxxxxx // xxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx:xxxxxxx
xxxxxxxx:xxxxxxx // xxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
© 2025 ytcoode