~aleteoryx/muditaos

ref: sign_test muditaos/cmake/modules/AddBootBin.cmake -rw-r--r-- 1.3 KiB
a217eeb3 — Dawid Wojtas [BH-2024] Fix lack of alarm directory after updating software 1 year, 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function(add_boot_bin SOURCE_TARGET)
    set(BIN_FILE ${SYSROOT_PATH}/system_a/bin/os.bin)

    set_target_properties(
            ${SOURCE_TARGET}
        PROPERTIES
            BIN_FILE ${BIN_FILE}
    )

    if (ENABLE_SECURE_BOOT)
        IF(EXISTS ${SIGN_CLIENT_PATH}/signclient.py)
            add_custom_command(
                COMMENT "Generate signed os.bin (Secure Boot)"
                OUTPUT ${BIN_FILE}
                DEPENDS ${SOURCE_TARGET}
                COMMAND python3 ${SIGN_CLIENT_PATH}/signclient.py --in_file $<TARGET_FILE:${SOURCE_TARGET}> --out_file=${BIN_FILE} --keystore ${KEYSTORE} --keyslot ${KEYSLOT} --server ${SERVER} --login ${LOGIN}
                VERBATIM
                WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
                )
        else()
            message( FATAL_ERROR "signclient.py not found in ${SIGN_CLIENT_PATH}" )
        endif()
    else ()
        add_custom_command(
            COMMENT "Generate ${SOURCE_TARGET}-boot.bin"
            OUTPUT ${BIN_FILE}
            DEPENDS ${SOURCE_TARGET}
            COMMAND ${CMAKE_OBJCOPY} -Obinary $<TARGET_FILE:${SOURCE_TARGET}> ${BIN_FILE}
            WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
            )
    endif()
    message("Adding '${SOURCE_TARGET}-boot.bin' target")
    add_custom_target(${SOURCE_TARGET}-boot.bin
        DEPENDS ${BIN_FILE})
endfunction()