From 9b028a17cfb7666b699292434752cb0a118cbd37 Mon Sep 17 00:00:00 2001 From: Chen Jiali Date: Fri, 15 Nov 2024 15:50:54 +0800 Subject: [PATCH] feat: common: dev: add _rk_anti_copy_board.mdx --- docs/common/dev/_rk_anti_copy_board.mdx | 106 ++++++++++++++++++ .../cm3/low-level-dev/rk_anti_copy_board.md | 13 +++ .../cm3i/low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../e25/low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../low-level-dev/rk_anti_copy_board.md | 13 +++ .../sbc/low-level-dev/rk_anti_copy_board.md | 13 +++ .../zero3/low-level-dev/rk_anti_copy_board.md | 13 +++ .../common/dev/_rk_anti_copy_board.mdx | 106 ++++++++++++++++++ .../cm3/low-level-dev/rk_anti_copy_board.md | 14 +++ .../cm3i/low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../e25/low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../low-level-dev/rk_anti_copy_board.md | 14 +++ .../sbc/low-level-dev/rk_anti_copy_board.md | 14 +++ .../zero3/low-level-dev/rk_anti_copy_board.md | 14 +++ 32 files changed, 617 insertions(+) create mode 100644 docs/common/dev/_rk_anti_copy_board.mdx create mode 100644 docs/compute-module/cm3/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock3/e25/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock3/rock3a/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock3/rock3b/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock3/rock3c/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock5/rock5a/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock5/rock5b/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock5/rock5c/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/template/sbc/low-level-dev/rk_anti_copy_board.md create mode 100644 docs/zero/zero3/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/common/dev/_rk_anti_copy_board.mdx create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock3/e25/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3a/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3b/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3c/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5a/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5b/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5c/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/template/sbc/low-level-dev/rk_anti_copy_board.md create mode 100644 i18n/en/docusaurus-plugin-content-docs/current/zero/zero3/low-level-dev/rk_anti_copy_board.md diff --git a/docs/common/dev/_rk_anti_copy_board.mdx b/docs/common/dev/_rk_anti_copy_board.mdx new file mode 100644 index 000000000..72f92b599 --- /dev/null +++ b/docs/common/dev/_rk_anti_copy_board.mdx @@ -0,0 +1,106 @@ +:::info +Rockchip 防抄板技术方案分为三个等级:初级方案,中级方案,高级方案。 +其中初级方案可直接参照 Rockchip 官方文档 +[Rockchip Anti Copy Board 开发指南](https://gitlab.com/rockchip_linux_sdk_6.1/linux/bsp/docs/-/raw/cn/Common/SECURITY/Rockchip_Developer_Guide_Anti_Copy_Board_CN.pdf?inline=false) +在我们的产品上进行防抄板应用开发而无需修改 Bootloader。 + +中级方案和高级方案则依赖开启 BL32 以运行 optee 来读写 OTP 数据,可根据以下章节[开启 BL32](#开启-bl32) 后继续参考 Rockchip Anti Copy Board 开发指南进行防抄板应用开发。 +::: + +:::warning +每颗芯片的 OTP 存储仅可写入一次,请谨慎操作。瑞莎不对因用户失误所产生的后果负责。 +::: + +## 开启 BL32 + +### 获取代码 + +按照 [U-boot 开发](./u-boot)编译打包一次 Bootloader。 + +### 开启 BL32 并再次编译打包 + +```bash +# bsp 仓库根目录 +mv u-boot/rknext/0101-enable-package-bl32.patch.disable u-boot/rknext/0101-enable-package-bl32.patch +echo "CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION=y" >> u-boot/rknext/kconfig.conf +./bsp u-boot rknext +``` + +### 安装并烧录 Bootloader + +按照 [U-boot 开发](./u-boot)将 `deb` 包复制至板端并使用 `setup.sh` 刷写 Bootloader。 + +## 常见问题 + +### 使用初级方案时读写数据报错? + +检查是否已经使用 `rsetup` [更新系统](../radxa-os/rsetup#system-update) 和 [U-boot](../radxa-os/rsetup#update-bootloader)。 + +### 中级方案的 `mid.bin` 如何生成? + +```bash +# 可将 echo 后的参数改为自己需要的数据内容 +echo "00112233445566778899AABBCCDDEEFF" > mid.hex && xxd -r -p mid.hex mid.bin +``` + +### 使用中高级方案时读写数据报错? + +可能缺少 `tee-supplicant` 服务 + +```bash +sudo apt install tee-supplicant python3-pycryptodome optee-client-dev libteec1 gcc-arm-linux-gnueabihf +sudo systemctl enable --now tee-supplicant +``` + +可能忘记拷贝 `optee` 可信应用 + +```bash +sudo cp rk_tee_user/v2/out/ta/rk_anti_copy_board/3d4fc699-2065-7bb9-33c7-b6529b43c91a.ta /lib/optee_armtz +``` + +### Rockchip 官方文档提到的 `BoardProofTool`、`ProofDll` 源码和 `rk_tee_user` 如何获取? + +`BoardProofTool`: [BoardProofTool_v1.01_20240823_02.zip](https://dl.radxa.com/tools/windows/BoardProofTool_v1.01_20240823_02.zip) + +`ProofDll` 源码: [ProofDll.zip](https://dl.radxa.com/tools/windows/ProofDll.zip) + +`rk_tee_user`: + +``` +git clone https://gitlab.com/rockchip_linux_sdk_6.1/android/rk/platform/system/rk_tee_user.git -b develop-next +``` + +### 如何在板端编译 `rk_tee_user`? + +安装依赖: + +```bash +sudo apt install tee-supplicant python3-pycryptodome optee-client-dev \ +libteec1 build-essential crossbuild-essential-armhf +sudo systemctl enable --now tee-supplicant +``` + +参照下方 diff, 修改 `build.sh` 编译脚本: + +```diff +diff --git a/v2/build.sh b/v2/build.sh +index 35a39f4..65f4168 100755 +--- a/v2/build.sh ++++ b/v2/build.sh +@@ -19,10 +19,10 @@ else + if [ ! -d "$TOOLCHAIN_PREBUILTS" ]; then + TOOLCHAIN_PREBUILTS=$WORK_DIR_TOP/../../../prebuilts + fi +- TOOLCHAIN_PATH_ARM32=$TOOLCHAIN_PREBUILTS/gcc/linux-x86/arm/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin +- TOOLCHAIN_PATH_AARCH64=$TOOLCHAIN_PREBUILTS/gcc/linux-x86/aarch64/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin +- CROSS_COMPILE32=arm-none-linux-gnueabihf- +- CROSS_COMPILE64=aarch64-none-linux-gnu- ++ TOOLCHAIN_PATH_ARM32=/usr/bin/ ++ TOOLCHAIN_PATH_AARCH64=/usr/bin ++ CROSS_COMPILE32=arm-linux-gnueabihf- ++ CROSS_COMPILE64=aarch64-linux-gnu- + fi + + if [ -z "$AARCH64_TOOLCHAIN" ]; then + +``` diff --git a/docs/compute-module/cm3/low-level-dev/rk_anti_copy_board.md b/docs/compute-module/cm3/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/compute-module/cm3/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md b/docs/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md b/docs/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..010ba2c58 --- /dev/null +++ b/docs/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md b/docs/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..010ba2c58 --- /dev/null +++ b/docs/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock3/e25/low-level-dev/rk_anti_copy_board.md b/docs/rock3/e25/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock3/e25/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock3/rock3a/low-level-dev/rk_anti_copy_board.md b/docs/rock3/rock3a/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock3/rock3a/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock3/rock3b/low-level-dev/rk_anti_copy_board.md b/docs/rock3/rock3b/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock3/rock3b/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock3/rock3c/low-level-dev/rk_anti_copy_board.md b/docs/rock3/rock3c/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock3/rock3c/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock5/rock5a/low-level-dev/rk_anti_copy_board.md b/docs/rock5/rock5a/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock5/rock5a/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock5/rock5b/low-level-dev/rk_anti_copy_board.md b/docs/rock5/rock5b/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock5/rock5b/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock5/rock5c/low-level-dev/rk_anti_copy_board.md b/docs/rock5/rock5c/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock5/rock5c/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md b/docs/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md b/docs/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..010ba2c58 --- /dev/null +++ b/docs/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/template/sbc/low-level-dev/rk_anti_copy_board.md b/docs/template/sbc/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/template/sbc/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/docs/zero/zero3/low-level-dev/rk_anti_copy_board.md b/docs/zero/zero3/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..1b0d0dec1 --- /dev/null +++ b/docs/zero/zero3/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,13 @@ +--- +sidebar_position: 5 +description: "Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。" +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip 防抄板技术 + +Rockchip 芯片提供防抄板技术,保护客户的固件、私有数据、核心代码。 +防抄板技术主要用于防止客户的固件和私有数据被非授权用户非法拷贝并使用,避免被抄板造成商业上的损失。 + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/common/dev/_rk_anti_copy_board.mdx b/i18n/en/docusaurus-plugin-content-docs/current/common/dev/_rk_anti_copy_board.mdx new file mode 100644 index 000000000..a37e78f37 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/common/dev/_rk_anti_copy_board.mdx @@ -0,0 +1,106 @@ +:::info +Rockchip Anti Copy Board technology solutions are divided into three levels: low-level solution, mid-level solution and high-level solution. +The low-level solution can directly refer to the +[Rockchip Anti Copy Board Developer's Guide](https://gitlab.com/rockchip_linux_sdk_6.1/linux/bsp/docs/-/raw/en/Common/SECURITY/Rockchip_Developer_Guide_Anti_Copy_Board_EN.pdf?ref_type=heads&inline=false) +to develop anticopy board applications on our products without modifying the bootloader. + +Mid-level solution and high-level solution rely on enabling BL32 to run optee to read/write OTP data, you can continue to refer to `Rockchip Anti Copy Board Developer's Guide` for anticopy board applications development after [Enable BL32](#enable-bl32) in the following sections. +::: + +:::warning +The OTP storage of each chip can only be written once, so please exercise caution. Radxa is not responsible for the consequences of user error. +::: + +## Enable BL32 + +### Get code + +Compile and package the bootloader once according to [U-boot Development](./u-boot) to compile and package the bootloader once. + +### Enable BL32 and compile the package again + +```bash +# bsp repo root directory +mv u-boot/rknext/0101-enable-package-bl32.patch.disable u-boot/rknext/0101-enable-package-bl32.patch +echo "CONFIG_OPTEE_ALWAYS_USE_SECURITY_PARTITION=y" >> u-boot/rknext/kconfig.conf +./bsp u-boot rknext +``` + +### Install and flash the bootloader + +Copy the `deb` package to the board and use `setup.sh` to flash the bootloader according to [U-boot development](./u-boot). + +## Q&A + +### Error reported when reading or writing data when using the low-level solution? + +Check if you have used `rsetup` [System Update](../radxa-os/rsetup#system-update) and [U-boot](../radxa-os/rsetup#update-bootloader). + +### How is `mid.bin` generated for mid-level solution? + +```bash +# You can change the parameter after echo to the data you want. +echo "00112233445566778899AABBCCDDEEFF" > mid.hex && xxd -r -p mid.hex mid.bin +``` + +### Error reported when reading or writing data when using the mid-level solution and high-level solution + +The `tee-supplicant` service may be missing. + +```bash +sudo apt install tee-supplicant python3-pycryptodome optee-client-dev libteec1 gcc-arm-linux-gnueabihf +sudo systemctl enable --now tee-supplicant +``` + +May forget to copy `optee` Trusted Applications + +```bash +sudo cp rk_tee_user/v2/out/ta/rk_anti_copy_board/3d4fc699-2065-7bb9-33c7-b6529b43c91a.ta /lib/optee_armtz +``` + +### How to get the `BoardProofTool`, `ProofDll` source code and `rk_tee_user` mentioned in Rockchip official documentation? + +`BoardProofTool`: [BoardProofTool_v1.01_20240823_02.zip](https://dl.radxa.com/tools/windows/BoardProofTool_v1.01_20240823_02.zip) + +`ProofDll` source code: [ProofDll.zip](https://dl.radxa.com/tools/windows/ProofDll.zip) + +`rk_tee_user`: + +``` +git clone https://gitlab.com/rockchip_linux_sdk_6.1/android/rk/platform/system/rk_tee_user.git -b develop-next +``` + +### How to compile `rk_tee_user` on board side? + +Install the dependencies: + +```bash +sudo apt install tee-supplicant python3-pycryptodome optee-client-dev \ +libteec1 build-essential crossbuild-essential-armhf +sudo systemctl enable --now tee-supplicant +``` + +Refer to the diff below and modify the `build.sh` build script: + +```diff +diff --git a/v2/build.sh b/v2/build.sh +index 35a39f4..65f4168 100755 +--- a/v2/build.sh ++++ b/v2/build.sh +@@ -19,10 +19,10 @@ else + if [ ! -d "$TOOLCHAIN_PREBUILTS" ]; then + TOOLCHAIN_PREBUILTS=$WORK_DIR_TOP/../../../prebuilts + fi +- TOOLCHAIN_PATH_ARM32=$TOOLCHAIN_PREBUILTS/gcc/linux-x86/arm/gcc-arm-10.2-2020.11-x86_64-arm-none-linux-gnueabihf/bin +- TOOLCHAIN_PATH_AARCH64=$TOOLCHAIN_PREBUILTS/gcc/linux-x86/aarch64/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/bin +- CROSS_COMPILE32=arm-none-linux-gnueabihf- +- CROSS_COMPILE64=aarch64-none-linux-gnu- ++ TOOLCHAIN_PATH_ARM32=/usr/bin/ ++ TOOLCHAIN_PATH_AARCH64=/usr/bin ++ CROSS_COMPILE32=arm-linux-gnueabihf- ++ CROSS_COMPILE64=aarch64-linux-gnu- + fi + + if [ -z "$AARCH64_TOOLCHAIN" ]; then + +``` diff --git a/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm3i/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..d698a0dfb --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/cm5/radxa-os/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..d698a0dfb --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/compute-module/nx5/radxa-os/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock3/e25/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock3/e25/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock3/e25/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3a/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3a/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3a/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3b/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3b/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3b/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3c/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3c/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock3/rock3c/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5a/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5a/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5a/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5b/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5b/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5b/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5c/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5c/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5c/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/rock5/rock5itx/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..d698a0dfb --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/template/module/radxa-os/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/template/sbc/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/template/sbc/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/template/sbc/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + + diff --git a/i18n/en/docusaurus-plugin-content-docs/current/zero/zero3/low-level-dev/rk_anti_copy_board.md b/i18n/en/docusaurus-plugin-content-docs/current/zero/zero3/low-level-dev/rk_anti_copy_board.md new file mode 100644 index 000000000..9ba698127 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/current/zero/zero3/low-level-dev/rk_anti_copy_board.md @@ -0,0 +1,14 @@ +--- +sidebar_position: 5 +description: "Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code." +--- + +import ANTICOPY from '../../../common/dev/\_rk_anti_copy_board.mdx' + +# Rockchip Anti Copy Board + +Rockchip provides anti copying board technology to protect customers' firmware, private data, and core code. +Anti copying board technology is mainly used to prevent customers' firmware and private data from being +illegally copied and used by unauthorized users, and to avoid commercial losses caused by copying. + +