UBOOT BUILD_TAG

本文探讨了UBOOT在启动时出现jenkins相关打印的问题。通过对代码的分析,发现在/lib/display_options.c中存在打印,并在board_init_f初始化流程中调用。问题在于UBOOT的BUILD_TAG依赖于环境变量,而本地环境中并未设置。通过手动添加BUILD_TAG环境变量并重新编译,确认了jenkins编译时会设置此变量。

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

UBOOT BUILD_TAG

代码基于uboot-2016.11

问题描述

在BOOT启动时,发现会有jenkins相关的打印,那么这个打印是从哪里来的呢

Bootrom Version 2.1.0 (based upon U-Boot 2009.03) May 19 2017 - 15:38:38
, Build: jenkins-ISCOM3000G_B_

问题定位

首先在/lib/display_options.c中找到了打印

int display_options (void)
{
#if defined(BUILD_TAG)
	printf ("\n\n%s, Build: %s\n\n", version_string, BUILD_TAG);
#else
	printf ("\n\n%s\n\n", version_string);
#endif
	return 0;
}

那么这个显示在初始化流程中被引用

static init_fnc_t init_sequence_f[] = {
	display_options,	/* say that we are here */

初始化最终在著名的board_init_f中

void board_init_f(ulong boot_flags)
{
	if (initcall_run_list(init_sequence_f))
		hang();

在uboot代码中查找BUILD_TAG

root@Ubuntu:~/uboot/u-boot-2016.11-rc2# grep "BUILD_TAG" * -R
lib/Makefile:CFLAG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值