66 lines
1.9 KiB
BlitzBasic
Executable File
66 lines
1.9 KiB
BlitzBasic
Executable File
# SPDX-FileCopyrightText: 2024 Unisoc (Shanghai) Technologies Co., Ltd.
|
|
#
|
|
# SPDX-License-Identifier: LicenseRef-Unisoc-General-1.0
|
|
|
|
DESCRIPTION = "Unisoc anti-rollback for rootfs"
|
|
HOMEPAGE = "http://www.unisoc.com/"
|
|
LICENSE = "Unisoc-General-1.0"
|
|
|
|
DEPENDS = "libtrusty veritybuild-native"
|
|
RDEPENDS:${PN} = "libtrusty "
|
|
SECTION = "base"
|
|
PROVIDES = "anti-rollback"
|
|
#ROOTFS_ANTI_ROLLBACK_VERSION="1"
|
|
|
|
EXTERNALSRC_BUILD = "${EXTERNALSRC}"
|
|
|
|
do_sign() {
|
|
ROOTFS_ANTI_ROLLBACK_VERSION=`grep "rootfs_version" ${STAGING_BINDIR_NATIVE}/keydir_config/version.cfg | cut -d'=' -f2`
|
|
echo "version:"
|
|
echo $ROOTFS_ANTI_ROLLBACK_VERSION
|
|
echo ${ROOTFS_ANTI_ROLLBACK_VERSION} >.version
|
|
cat .version
|
|
echo ${BSP_SPRD_SECUREBOOT_ALGORITHM} >.algorithm
|
|
hash=`echo -n "${ROOTFS_ANTI_ROLLBACK_VERSION}" | sha256sum | cut -d' ' -f1`
|
|
echo "$hash"
|
|
echo $hash >.hash
|
|
cat .hash
|
|
${STAGING_BINDIR_NATIVE}/verity_sign sign_table $hash ${STAGING_BINDIR_NATIVE}/keydir_config/ ${BSP_SPRD_SECUREBOOT_ALGORITHM} .sig
|
|
cat .sig
|
|
cat .version .algorithm .hash > version
|
|
cat .sig > signature
|
|
cat version
|
|
cat signature
|
|
}
|
|
|
|
do_compile () {
|
|
make clean
|
|
make
|
|
|
|
do_sign
|
|
}
|
|
|
|
do_install () {
|
|
install -d ${D}${libdir}/
|
|
install -m 0755 ${S}/libanti-rollback.so ${D}${libdir}/
|
|
|
|
if [ "${SEC_DMVERITY_TYPE_INITRAMFS}" = "false" ]; then
|
|
install -d ${D}${bindir}/
|
|
install -m 0755 ${S}/anti-rollback ${D}${bindir}/
|
|
fi
|
|
|
|
install -d ${D}${sysconfdir}/anti-rollback
|
|
install -m 0644 ${S}/version ${D}/${sysconfdir}/anti-rollback/
|
|
install -m 0644 ${S}/signature ${D}/${sysconfdir}/anti-rollback/
|
|
|
|
install -d ${D}${includedir}/
|
|
install -m 0755 ${S}/anti-rollback.h ${D}${includedir}/
|
|
}
|
|
|
|
FILES:${PN} = "${bindir}/anti-rollback ${libdir}/libanti-rollback.so ${sysconfdir}/anti-rollback/*"
|
|
|
|
INSANE_SKIP:${PN} += "installed-vs-shipped"
|
|
FILES_SOLIBSDEV = ""
|
|
INSANE_SKIP:${PN} += "dev-so"
|
|
TARGET_CC_ARCH += "${LDFLAGS}"
|