[OE-core] [PATCH 1/1] uboot-sign.bbclass: fix signature and deployment

Robert Yang liezhi.yang at windriver.com
Fri Nov 30 02:11:35 UTC 2018


Hi Ross,

On 11/29/18 9:15 PM, Burton, Ross wrote:
> This didn't get merged before other pieces did, so can you please
> rebase and resend?

Thanks, I will rebase to master-next and resend. BTW, the Christian Andersen
(the reporter) has replied that the patch works for him:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=12112

// Robert

> 
> Ross
> On Thu, 22 Nov 2018 at 01:43, Robert Yang <liezhi.yang at windriver.com> wrote:
>>
>>
>>
>> On 11/22/18 1:20 AM, Otavio Salvador wrote:
>>> Hello,
>>>
>>> On Wed, Nov 21, 2018 at 4:08 AM Robert Yang <liezhi.yang at windriver.com> wrote:
>>>>
>>>> Fixed:
>>>> MACHINE = "beaglebone-yocto"
>>>> KERNEL_CLASSES += "kernel-fitimage"
>>>> KERNEL_IMAGETYPE_beaglebone-yocto = "fitImage"
>>>> UBOOT_MACHINE_beaglebone-yocto = "am335x_boneblack_vboot_config"
>>>> UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000"
>>>> UBOOT_SIGN_KEYDIR = "${TOPDIR}/conf"
>>>> UBOOT_SIGN_KEYNAME = "dev"
>>>> UBOOT_SIGN_ENABLE = "1"
>>>> IMAGE_INSTALL_remove = "kernel-image-zimage"
>>>>
>>>> $ cd conf
>>>> $ openssl genrsa -F4 -out dev.key 2048
>>>> $ openssl req -batch -new -x509 -key dev.key -out dev.crt
>>>> $ cd ../
>>>> $ bitbake u-boot linux-yocto
>>>> $ grep signature tmp/deploy/images/beaglebone-yocto/*.dtb
>>>> Binary file tmp/deploy/images/beaglebone-yocto/u-boot-beaglebone-yocto-2018.07-r0.dtb matches
>>>> Binary file tmp/deploy/images/beaglebone-yocto/u-boot-beaglebone-yocto.dtb matches
>>>> Binary file tmp/deploy/images/beaglebone-yocto/u-boot.dtb matches
>>>>
>>>> And there would be no signature info when rebuild from sstate:
>>>> $ bitbake u-boot linux-yocto -cclean
>>>> $ bitbake u-boot linux-yocto
>>>> $ grep signature tmp/deploy/images/beaglebone-yocto/*.dtb
>>>> No result
>>>>
>>>> This s because kernel directly edit ${DEPLOY_DIR_IMAGE}/u-boot.dtb, (Note, it
>>>> is global ${DEPLOY_DIR_IMAGE}, not recipe's DEPLOYDIR), so that the modified
>>>> info is not in sstate, and would be lost when rebuild from sstate.
>>>>
>>>> There are other problems in previouse code:
>>>> - The u-boot.dtb is provided by u-boot, but edited by kernel during signing, so
>>>>     it should be deployed by kernel rather than u-boot.
>>>>
>>>> - The u-boot.do_concat_dtb directly install files to global ${DEPLOY_DIR_IMAGE},
>>>>     this is incorrect, the ${DEPLOY_DIR_IMAGE} should be installed by do_deploy.
>>>>
>>>> - It seems that it assumes do_deploy depends on do_install according the comments,
>>>>     but they have no relationships:
>>>>     # do_concat_dtb is scheduled _before_ do_install as it overwrite the
>>>>     # u-boot.bin in both DEPLOYDIR and DEPLOY_IMAGE_DIR.
>>>>
>>>> - The do_concat_dtb should be run after do_compile, but it doesn't have this
>>>>     dependency.
>>>>
>>>> Make u-boot install u-boot.dtb to ${datadir}, kernel copies u-boot.dtb from
>>>> ${STAGING_DATADIR} to ${B} and deploy it can fix the problem.
>>>>
>>>> [YOCTO #12112]
>>>>
>>>> Reported-by: Christian Andersen <c.andersen at kostal.com>
>>>> Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
>>>
>>> The change itself looks good, I noticed that the script part is not
>>> using 4 spaces for indenting and as this is being changed, it might
>>> make sense to address this as well.
>>
>> Thanks, sounds good to me, I will make another patch for it after this is merged.
>>
>> // Robert
>>
>>>
>>> Acked-by: Otavio Salvador <otavio at ossystems.com.br>
>>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> 


More information about the Openembedded-core mailing list