diff mbox series

[master/kirkstone] machine:k3r5:Handle UBOOT_CONFIG for multiple R5 defconfigs

Message ID 20231002211616.4103160-1-ggiordano@phytec.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series [master/kirkstone] machine:k3r5:Handle UBOOT_CONFIG for multiple R5 defconfigs | expand

Commit Message

Garrett Giordano Oct. 2, 2023, 9:16 p.m. UTC
From: Garrett Giordano <ggiordano@phytec.com>

Currently the do_compile step fails if we try to implement UBOOT_CONFIG
in an attempt to build U-Boot with multiple R5 defconfigs.

This commit adds a condition to handle linking the UBOOT_BINARY if
UBOOT_CONFIG is used in place of UBOOT_MACHINE.

Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
---
 meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 22 ++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

Comments

Denys Dmytriyenko Oct. 3, 2023, 1:01 p.m. UTC | #1
The prefix in the Subject indicates the area being changed, so should 
rather be u-boot: instead of machine:k3r5:


On Mon, Oct 02, 2023 at 02:16:16PM -0700, Garrett Giordano wrote:
> From: Garrett Giordano <ggiordano@phytec.com>
> 
> Currently the do_compile step fails if we try to implement UBOOT_CONFIG
> in an attempt to build U-Boot with multiple R5 defconfigs.
> 
> This commit adds a condition to handle linking the UBOOT_BINARY if
> UBOOT_CONFIG is used in place of UBOOT_MACHINE.

Are you sure you don't need any corresponding changes in do_install 
and do_deploy to handle UBOOT_CONFIG for k3r5? Have you tested that 
all binaries and symlinks are being installed and deployed properly 
from ${B}/${config} location?

And I've already mentioned this before, but UBOOT_CONFIG won't work 
with recently introduced UBOOT_CONFIG_FRAGMENTS - see the list from 
last month for previous discussions on this, e.g.:
https://lists.yoctoproject.org/g/meta-ti/topic/101245468

At least UBOOT_CONFIG_FRAGMENTS will still work if UBOOT_CONFIG is 
not set, due to the else condition below.


> Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
> ---
>  meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 22 ++++++++++++++++++--
>  1 file changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
> index 2c4ddcc2..327a31d8 100644
> --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
> +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
> @@ -103,8 +103,26 @@ UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}"
>  UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}"
>  
>  do_compile:append:k3r5 () {
> -	if ! [ -f ${B}/${UBOOT_BINARY} ]; then
> -		ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
> +	if [ -n "${UBOOT_CONFIG}" ];
> +	then
> +		for config in ${UBOOT_MACHINE}; do
> +			i=$(expr $i + 1);
> +			for type in ${UBOOT_CONFIG}; do
> +				j=$(expr $j + 1);
> +				if [ $j -eq $i ];
> +				then
> +					if ! [ -L ${B}/${config}/${UBOOT_BINARY} ] && ! [ -f ${B}/${config}/${UBOOT_BINARY} ]; then
> +						ln -s ${B}/${config}/spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${config}/${UBOOT_BINARY}
> +					fi
> +				fi
> +			done
> +			unset  j
> +		done
> +		unset  i
> +	else
> +		if ! [ -f ${B}/${UBOOT_BINARY} ]; then
> +			ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
> +		fi
>  	fi
>  }
>  
> -- 
> 2.25.1
Garrett Giordano Oct. 4, 2023, 3:41 p.m. UTC | #2
On 10/3/23 06:01, Denys Dmytriyenko wrote:
> The prefix in the Subject indicates the area being changed, so should
> rather be u-boot: instead of machine:k3r5:
Thanks, understood.
> On Mon, Oct 02, 2023 at 02:16:16PM -0700, Garrett Giordano wrote:
>> From: Garrett Giordano <ggiordano@phytec.com>
>>
>> Currently the do_compile step fails if we try to implement UBOOT_CONFIG
>> in an attempt to build U-Boot with multiple R5 defconfigs.
>>
>> This commit adds a condition to handle linking the UBOOT_BINARY if
>> UBOOT_CONFIG is used in place of UBOOT_MACHINE.
> Are you sure you don't need any corresponding changes in do_install
> and do_deploy to handle UBOOT_CONFIG for k3r5? Have you tested that
> all binaries and symlinks are being installed and deployed properly
> from ${B}/${config} location?
>
> And I've already mentioned this before, but UBOOT_CONFIG won't work
> with recently introduced UBOOT_CONFIG_FRAGMENTS - see the list from
> last month for previous discussions on this, e.g.:
> https://lists.yoctoproject.org/g/meta-ti/topic/101245468
>
> At least UBOOT_CONFIG_FRAGMENTS will still work if UBOOT_CONFIG is
> not set, due to the else condition below.

Yes, the UBOOT_CONFIG logic is based on the do_install and do_deploy 
already included in the file, it seems to have gotten missed in the 
do_compile:k3r5.

We tested this patch using the UBOOT_CONFIG setup from the 
am335x-hs-evm.conf. A tiboot3.bin was deployed properly for each 
included defconfig.

Regards,

Garrett Giordano

>> Signed-off-by: Garrett Giordano <ggiordano@phytec.com>
>> ---
>>   meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc | 22 ++++++++++++++++++--
>>   1 file changed, 20 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
>> index 2c4ddcc2..327a31d8 100644
>> --- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
>> +++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
>> @@ -103,8 +103,26 @@ UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}"
>>   UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}"
>>   
>>   do_compile:append:k3r5 () {
>> -	if ! [ -f ${B}/${UBOOT_BINARY} ]; then
>> -		ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
>> +	if [ -n "${UBOOT_CONFIG}" ];
>> +	then
>> +		for config in ${UBOOT_MACHINE}; do
>> +			i=$(expr $i + 1);
>> +			for type in ${UBOOT_CONFIG}; do
>> +				j=$(expr $j + 1);
>> +				if [ $j -eq $i ];
>> +				then
>> +					if ! [ -L ${B}/${config}/${UBOOT_BINARY} ] && ! [ -f ${B}/${config}/${UBOOT_BINARY} ]; then
>> +						ln -s ${B}/${config}/spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${config}/${UBOOT_BINARY}
>> +					fi
>> +				fi
>> +			done
>> +			unset  j
>> +		done
>> +		unset  i
>> +	else
>> +		if ! [ -f ${B}/${UBOOT_BINARY} ]; then
>> +			ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
>> +		fi
>>   	fi
>>   }
>>   
>> -- 
>> 2.25.1
diff mbox series

Patch

diff --git a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
index 2c4ddcc2..327a31d8 100644
--- a/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
+++ b/meta-ti-bsp/recipes-bsp/u-boot/u-boot-ti.inc
@@ -103,8 +103,26 @@  UBOOT_HS_2ND_IMAGE = "u-boot-spl_HS_2ND-${MACHINE}-${PV}-${PR}"
 UBOOT_HS_2ND_SYMLINK = "u-boot-spl_HS_2ND-${MACHINE}"
 
 do_compile:append:k3r5 () {
-	if ! [ -f ${B}/${UBOOT_BINARY} ]; then
-		ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
+	if [ -n "${UBOOT_CONFIG}" ];
+	then
+		for config in ${UBOOT_MACHINE}; do
+			i=$(expr $i + 1);
+			for type in ${UBOOT_CONFIG}; do
+				j=$(expr $j + 1);
+				if [ $j -eq $i ];
+				then
+					if ! [ -L ${B}/${config}/${UBOOT_BINARY} ] && ! [ -f ${B}/${config}/${UBOOT_BINARY} ]; then
+						ln -s ${B}/${config}/spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${config}/${UBOOT_BINARY}
+					fi
+				fi
+			done
+			unset  j
+		done
+		unset  i
+	else
+		if ! [ -f ${B}/${UBOOT_BINARY} ]; then
+			ln -s spl/u-boot-spl.${UBOOT_SUFFIX} ${B}/${UBOOT_BINARY}
+		fi
 	fi
 }