20230510vmlinux编译过程

文章详细介绍了Linux内核构建过程中,如何在Makefile中通过链接脚本和Kbuild系统生成vmlinux。关键步骤包括:搜索并解析vmlinux的相关命令,如$(CONFIG_SHELL),$(LD),$(KBUILD_LDFLAGS),以及处理built-in.a和lib.a对象文件。此外,文章还提到了if_changed机制,确保只有当依赖文件改变时才会执行编译命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.进入linux内核源码目录下,打开Makefile文件,搜索vmlinux

cmd_link-vmlinux =                                               \          
    $(CONFIG_SHELL) $< "$(LD)" "$(KBUILD_LDFLAGS)" "$(LDFLAGS_vmlinux)";    \
    $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)

 vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
     +$(call if_changed,link-vmlinux)
     
 分析:  .进入linux内核源码目录下,scripts/目录下,打开Kbuild.include文件,搜索if_changed
    218 if_changed = $(if $(newer-prereqs)$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值