Skip to main content
SPati.7
Associate III
August 19, 2022
Question

How to Port SBSFU to Linux Environment ??

  • August 19, 2022
  • 2 replies
  • 1773 views

I worked on POC for X-CUBE-SBSFU in windows environment. It is all working fine without any issues.

Now the challenge is, we need to migrate SBSFU source to be compiled in Ubuntu Linux environment. I am struggling to do this, and getting lot of errors.

Can you please guide us to migrate SBSFU in ubuntu environment ??

@Fred​ Can you help on this ??

Logs

"../prebuild.sh" "../"

prepareimage with python script

python /home/nppdev/repos/SecureBoot/Middlewares/STM32_Secure_Engine/Utilities/KeysAndImages/prepareimage.py conf ..//../Inc/se_crypto_config.h

selected

create symbolic link postbuild.sh to .sh

arm-none-eabi-gcc -o "SECoreBin.elf" @"objects.list" -l:libSTM32CryptographicV3.1.1_STM32H7_GCC.a -mcpu=cortex-m7 -T"../STM32H753ZITx.ld" --specs=nosys.specs -Wl,-Map="SECoreBin.map" -Wl,--gc-sections -static -L../../../../../../../Middlewares/ST/STM32_Cryptographic/Fw_Crypto/STM32H7/Lib -Xlinker -L ../../../Linker_Common/STM32CubeIDE --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-group

arm-none-eabi-gcc: error: ./Application/Startup/se_key.o: No such file or directory

arm-none-eabi-gcc: error: ./Application/User/data_init.o: No such file or directory

arm-none-eabi-gcc: error: ./Application/User/se_crypto_bootloader.o: No such file or directory

arm-none-eabi-gcc: error: ./Application/User/se_low_level.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_crc.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_crc_ex.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_flash.o: No such file or directory

arm-none-eabi-gcc: error: ./Drivers/STM32H7xx_HAL_Driver/stm32h7xx_hal_flash_ex.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_callgate.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_crypto_common.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_exception.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_fwimg.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_startup.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_user_application.o: No such file or directory

arm-none-eabi-gcc: error: ./Middlewares/STM32_Secure_Engine/se_utils.o: No such file or directory

arm-none-eabi-gcc: error: ../../../Linker_Common/STM32CubeIDE: No such file or directory

makefile:66: recipe for target 'SECoreBin.elf' failed

make[1]: *** [SECoreBin.elf] Error 1

makefile:59: recipe for target 'all' failed

This topic has been closed for replies.

2 replies

Fred
ST Employee
August 19, 2022

STM32CubeIDE is available for Linux.

STM32CubeIDE - Integrated Development Environment for STM32 - STMicroelectronics

I do not have a Linux machine but I guess that the CubeIDE project should work with the tool in Linux.

Or are you using command lines ?

SPati.7
SPati.7Author
Associate III
August 19, 2022

Yes @Fred​ We are using command line, through MAKE file compilation.

We already had STM Binary generated with Makefile environment in ubuntu environent. So now we are trying to integrate SBSFU with same SDK.

Can you please help on this ?? if any sample project exist with.

Fred
ST Employee
August 19, 2022

I guess your problem is the way you invoke prebuild and postbuild.

Maybe you did a copy/paste from the IDE steps ?

These commands are supposed to be run from the PROJECT folder.

With your make infrastructure, I guess it is invoked from another place.

So, you must update the paths.

The paths in the IDE steps are relative to PROJECT so probably the STM32CubeIDE folder

SPati.7
SPati.7Author
Associate III
August 23, 2022

I have taken care about the paths. But still something issues with Python scripts running in Linux environment.

I am debugging those, need to check.