目录

1.生成私钥:

2.生成公钥:

3.拷贝私钥到da

4.生成CHIP_TEST_KEY.ini:

5.生成oemkey.h:

6.编译DA:

7.DA签名:

8.修改系统:

8.1 把生成的oemkey.h 替换

8.2 修改

8.3 把生成的CHIP_TEST_KEY.ini文件替换

8.4 用生成的CHIP_TEST_KEY.ini的private_key_d和private_key_n值分别替换

9.使能校验,修改如patch:

9.1 preloader

9.2 kernel

10 签名:

11 参考资料:


1.生成私钥:

vendor/mediatek/proprietary/scripts/sign-image_v2/cert_chain$ openssl genrsa -out root_prvk.pem 2048

vendor/mediatek/proprietary/scripts/sign-image_v2/cert_chain$ python der_extractor/pem_to_der.py root_prvk.pem root_prvk.der

2.生成公钥:

vendor/mediatek/proprietary/scripts/sign-image_v2/cert_chain$ openssl rsa -in root_prvk.pem -pubout > root_pubk.pem

vendor/mediatek/proprietary/scripts/sign-image_v2/cert_chain$ python der_extractor/pem_to_der.py root_pubk.pem root_pubk.der

3.拷贝私钥到da

vendor/mediatek/proprietary/scripts/secure_chip_tools$ cp ../sign-image_v2/cert_chain/root_prvk.pem keys/resignda/da_prvk.pem

vendor/mediatek/proprietary/scripts/secure_chip_tools$ cp ../sign-image_v2/cert_chain/root_prvk.pem keys/resignda/epp_prvk.pem

4.生成CHIP_TEST_KEY.ini:

vendor/mediatek/proprietary/scripts/secure_chip_tools$ python key_pem_to_ini.py keys/resignda/da_prvk.pem CHIP_TEST_KEY.ini BL_SIGN

5.生成oemkey.h:

vendor/mediatek/proprietary/scripts/secure_chip_tools$ python key_pem_to_ini.py keys/resignda/da_prvk.pem oemkey.h AND_SBC

6.编译DA:

把生成的oemkey.h cp到QUEUE26142088\FLASHLIB_DA_EXE(Official)_ALPS\FLASHLIB_DA_EXE_v5.2016.00.000\bin\Customization_Kit_buildspec\Raphael-da\custom\MT6735下

make BBCHIP=MT6735

7.DA签名:

把QUEUE26142088\FLASHLIB_DA_EXE(Official)_ALPS\FLASHLIB_DA_EXE_v5.2016.00.000\bin\Customization_Kit_buildspec\bin下的MTK_AllInOne_DA.bin cp到以下目录:

vendor/mediatek/proprietary/scripts/secure_chip_tools$ cp keys/resignda/MTK_AllInOne_DA.bin

修改bbchips_pss.ini:

diff --git a/vendor/mediatek/proprietary/scripts/secure_chip_tools/settings/resignda/bbchips_pss.ini b/vendor/mediatek/proprietary/scripts/secure_chip_tools/settings/resignda/bbchips_pss.ini

index 1153673..ba2a1eb 100755

--- a/vendor/mediatek/proprietary/scripts/secure_chip_tools/settings/resignda/bbchips_pss.ini

+++ b/vendor/mediatek/proprietary/scripts/secure_chip_tools/settings/resignda/bbchips_pss.ini

@@ -1,5 +1,5 @@

-[MT6755]

-hw_code = 0x6755

+[MT6735]

+hw_code = 0x6735

hw_sub_code = 0x0

hw_ver = 0xca00

sw_ver = 0x0

运行脚本签名:

vendor/mediatek/proprietary/scripts/secure_chip_tools$ python resign_da.py keys/resignda/MTK_AllInOne_DA.bin MT6735 settings/resignda/bbchips_pss.ini all out/resignda/MTK_AllInOne_DA-resing.bin

生成的签名文件:MTK_AllInOne_DA-resing.bin

8.修改系统:

8.1 把生成的oemkey.h 替换

vendor/mediatek/proprietary/bootable/bootloader/lk/target/tb8735ap1_64_ztk/inc/oemkey.h文件:

8.2 修改

vendor/mediatek/proprietary/bootable/bootloader/lk/target/tb8735ap1_64_ztk/inc/oemkey.h 的OEM_PUBK数据:

diff --git a/vendor/mediatek/proprietary/bootable/bootloader/lk/target/tb8735ap1_64_ztk/inc/oemkey.h b/vendor/mediatek/proprietary/bootable/bootloader/lk/target/tb8735ap1_64_ztk/inc/oemkey.h

index 687c2be..45f6920 100644

--- a/vendor/mediatek/proprietary/bootable/bootloader/lk/target/tb8735ap1_64_ztk/inc/oemkey.h

+++ b/vendor/mediatek/proprietary/bootable/bootloader/lk/target/tb8735ap1_64_ztk/inc/oemkey.h

@@ -1,25 +1,20 @@

#ifndef __OEMKEY__

#define __OEMKEY__

-

-/* OEM_PUBK is set as the same as MTEE public key for convenience, but they can be different */

-/* OEM_PUBK will be used to verify oemkeystore, and use oemkeystore to verify images */

#define OEM_PUBK_SZ 256

-

-#define OEM_PUBK          0xDA, 0xCD, 0x8B, 0x5F, 0xDA, 0x8A, 0x76, 0x6F, 0xB7, 0xBC, 0xAA, 0x43, 0xF0, 0xB1, 0x69, 0x15, \

-                          0xCE, 0x7B, 0x47, 0x71, 0x4F, 0x13, 0x95, 0xFD, 0xEB, 0xCF, 0x12, 0xA2, 0xD4, 0x11, 0x55, 0xB0, \

-                          0xFB, 0x58, 0x7A, 0x51, 0xFE, 0xCC, 0xCB, 0x4D, 0xDA, 0x1C, 0x8E, 0x5E, 0xB9, 0xEB, 0x69, 0xB8, \

-                          0x6D, 0xAF, 0x2C, 0x62, 0x0F, 0x6C, 0x27, 0x35, 0x21, 0x5A, 0x5F, 0x22, 0xC0, 0xB6, 0xCE, 0x37, \

-                          0x7A, 0xA0, 0xD0, 0x7E, 0xB3, 0x8E, 0xD3, 0x40, 0xB5, 0x62, 0x9F, 0xC2, 0x89, 0x04, 0x94, 0xB0, \

-                          0x78, 0xA6, 0x3D, 0x6D, 0x07, 0xFD, 0xEA, 0xCD, 0xBE, 0x3E, 0x7F, 0x27, 0xFD, 0xE4, 0xB1, 0x43, \

-                          0xF4, 0x9D, 0xB4, 0x97, 0x14, 0x37, 0xE6, 0xD0, 0x0D, 0x9E, 0x18, 0xB5, 0x6F, 0x02, 0xDA, 0xBE, \

-                          0xB0, 0x00, 0x0B, 0x6E, 0x79, 0x51, 0x6D, 0x0C, 0x80, 0x74, 0xB5, 0xA4, 0x25, 0x69, 0xFD, 0x0D, \

-                          0x91, 0x96, 0x65, 0x5D, 0x2A, 0x40, 0x30, 0xD4, 0x2D, 0xFE, 0x05, 0xE9, 0xF6, 0x48, 0x83, 0xE6, \

-                          0xD5, 0xF7, 0x9A, 0x5B, 0xFA, 0x3E, 0x70, 0x14, 0xC9, 0xA6, 0x28, 0x53, 0xDC, 0x1F, 0x21, 0xD5, \

-                          0xD6, 0x26, 0xF4, 0xD0, 0x84, 0x6D, 0xB1, 0x64, 0x52, 0x18, 0x7D, 0xD7, 0x76, 0xE8, 0x88, 0x6B, \

-                          0x48, 0xC2, 0x10, 0xC9, 0xE2, 0x08, 0x05, 0x9E, 0x7C, 0xAF, 0xC9, 0x97, 0xFD, 0x2C, 0xA2, 0x10, \

-                          0x77, 0x5C, 0x1A, 0x5D, 0x9A, 0xA2, 0x61, 0x25, 0x2F, 0xB9, 0x75, 0x26, 0x8D, 0x97, 0x0C, 0x62, \

-                          0x73, 0x38, 0x71, 0xD5, 0x78, 0x14, 0x09, 0x8A, 0x45, 0x3D, 0xF9, 0x2B, 0xC6, 0xCA, 0x19, 0x02, \

-                          0x5C, 0xD9, 0xD4, 0x30, 0xF0, 0x2E, 0xE4, 0x6F, 0x80, 0xDE, 0x6C, 0x63, 0xEA, 0x80, 0x2B, 0xEF, \

-                          0x90, 0x67, 0x3A, 0xAC, 0x4C, 0x66, 0x67, 0xF2, 0x88, 0x3F, 0xB4, 0x50, 0x1F, 0xA7, 0x74, 0x55

-

-#endif /* __OEMKEY__ */

+#define OEM_PUBK  0xC9, 0xD8, 0xE9, 0xA4, 0x6E, 0xAB, 0x6D, 0x7B, 0x18, 0x83, 0x36, 0x8C, 0x81, 0xE2, 0x81, 0xB6, \

+                  0x0B, 0x07, 0x37, 0xB1, 0x1E, 0xA3, 0xB9, 0x3B, 0x69, 0xA7, 0x41, 0x20, 0x59, 0xFB, 0xDD, 0xB0, \

+                  0x30, 0xBA, 0x52, 0x1F, 0xC6, 0xCE, 0x37, 0xDF, 0xE8, 0xDD, 0x17, 0x8A, 0xA1, 0x6D, 0x70, 0xBD, \

+                  0xFB, 0x89, 0x17, 0x77, 0x4A, 0x46, 0xE9, 0x2F, 0x0C, 0x81, 0x6C, 0xB5, 0x07, 0x49, 0x59, 0xFD, \

+                  0x92, 0xC0, 0x27, 0x9B, 0x6A, 0x33, 0x75, 0x7F, 0xFE, 0x6B, 0x93, 0xB4, 0x20, 0xB4, 0xBB, 0x3B, \

+                  0xFB, 0x8E, 0x6D, 0x56, 0xBC, 0x6F, 0x04, 0x5E, 0xDA, 0xF9, 0x54, 0x9D, 0xC3, 0x83, 0x3C, 0xF1, \

+                  0xF4, 0xDF, 0x61, 0x85, 0x0D, 0xA8, 0x63, 0x6E, 0x8B, 0xAF, 0xDD, 0x83, 0xCD, 0xEC, 0x17, 0x78, \

+                  0x4A, 0xC9, 0x79, 0x86, 0x5A, 0x9A, 0x7B, 0xF3, 0xD4, 0x5F, 0x76, 0xE7, 0xEB, 0xC4, 0x34, 0x46, \

+                  0xF6, 0xC7, 0x59, 0x75, 0xC1, 0xEA, 0x67, 0x22, 0xD3, 0x77, 0xBD, 0x30, 0x90, 0xED, 0xE1, 0xAD, \

+                  0xCF, 0x3E, 0x74, 0x9F, 0x5C, 0x8E, 0x3B, 0x16, 0x50, 0x7F, 0xF0, 0x50, 0x3C, 0xDB, 0x57, 0x50, \

+                  0x33, 0x5A, 0x55, 0xFD, 0x6B, 0x67, 0x97, 0xDB, 0xCB, 0x99, 0xA0, 0x81, 0xE5, 0x37, 0x1A, 0x88, \

+                  0xD8, 0xAC, 0x51, 0x19, 0x7D, 0x67, 0x2D, 0xE1, 0x60, 0x6D, 0x4A, 0xEA, 0x96, 0x6D, 0x1F, 0xF1, \

+                  0x78, 0x64, 0x47, 0xF2, 0xEF, 0xB8, 0x34, 0x5C, 0x70, 0x7B, 0x45, 0x23, 0xF1, 0x3F, 0x90, 0x44, \

+                  0xF1, 0x9C, 0xDC, 0x2B, 0x70, 0x02, 0x48, 0x8F, 0x8A, 0x5C, 0x80, 0x4F, 0x11, 0x72, 0xB7, 0xC6, \

+                  0xAD, 0xD8, 0x16, 0xB8, 0xC9, 0xC3, 0x15, 0x6B, 0xDA, 0x16, 0x1C, 0x70, 0xAB, 0xE9, 0x6F, 0x74, \

+                  0x7F, 0x2E, 0x7F, 0xAF, 0x59, 0x7C, 0xFD, 0x0D, 0x73, 0x65, 0x03, 0xB4, 0x74, 0xF0, 0x24, 0x23

+#endif /* __OEM_KEY__ */

8.3 把生成的CHIP_TEST_KEY.ini文件替换

vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/security/chip_config/s/key/CHIP_TEST_KEY.ini文件和

vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/chip_config/s/key/CHIP_TEST_KEY.ini文件

8.4 用生成的CHIP_TEST_KEY.ini的private_key_d和private_key_n值分别替换

VERIFIED_BOOT_IMG_AUTH_KEY.ini的AUTH_PARAM_D和AUTH_PARAM_N的值,注意数据格式。如:

8.4.1 修改

vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini文件

zhoutao@byteflyer:~/mediatek/m20_sdk_8.1/mt8735_sdk_8.1$ git diff vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini

diff --git a/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini b/vendor/mediatek/proprietary/bootable/bootloader/preloade

index 7710291..07b27d9 100755

--- a/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini

+++ b/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini

@@ -18,5 +18,5 @@ PROT_OPTION  = 0x02

#DEC_PARAM    = 0x03a39c05524d9d7b4f373293e550d6fd25d4235fae67a79d7447a7b5d05cd4fe

# Authentication Parameter (N, D) for RSA2048 (E=65537, 0x10001)

-AUTH_PARAM_N = 0xDACD8B5FDA8A766FB7BCAA43F0B16915CE7B47714F1395FDEBCF12A2D41155B0FB587A51FECCCB4DDA1C8E5EB9EB69B86DAF2C620F6C2735215A5F22C0B6CE377AA0D07EB38ED340B5629FC2890494B078A63D6D07FDEACDBE3E7F27FD

-AUTH_PARAM_D = 0x8BC9B1F7A559BCDD1717F3F7BFF8B858743892A6338D21D0BE2CE78D1BCB8F61A8D31822F694C476929897E4B10753DDBE45A2276C0EFEE594CF75E47016DA9CDB3D8EB6C3E4C5D69B8BCCE1AE443CF299C22B905300C85875E8DBB823

+AUTH_PARAM_N = 0xC9D8E9A46EAB6D7B1883368C81E281B60B0737B11EA3B93B69A7412059FBDDB030BA521FC6CE37DFE8DD178AA16D70BDFB8917774A46E92F0C816CB5074959FD92C0279B6A33757FFE6B93B420B4BB3BFB8E6D56BC6F045EDAF9549DC3

+AUTH_PARAM_D = 0x3FAD49901145CD850EE79E16D786E08AD091D754EE28927016D5A7EB0FD83048BC269B6FE0E4FFA588ADEF1651F4D7A367AE09141DFF9EE2B3DC44B21B795D856C7D68415450A599DA668FB33CBA277335D9E9CE7A25BFC838E67D7643

8.4.2 修改

vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini文件

zhoutao@byteflyer:~/mediatek/m20_sdk_8.1/mt8735_sdk_8.1$ git diff  vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini

diff --git a/vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini b/vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_

index 7710291..07b27d9 100644

--- a/vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini

+++ b/vendor/mediatek/proprietary/custom/tb8735ap1_64_ztk/security/image_auth/VERIFIED_BOOT_IMG_AUTH_KEY.ini

@@ -18,5 +18,5 @@ PROT_OPTION  = 0x02

#DEC_PARAM    = 0x03a39c05524d9d7b4f373293e550d6fd25d4235fae67a79d7447a7b5d05cd4fe

# Authentication Parameter (N, D) for RSA2048 (E=65537, 0x10001)

-AUTH_PARAM_N = 0xDACD8B5FDA8A766FB7BCAA43F0B16915CE7B47714F1395FDEBCF12A2D41155B0FB587A51FECCCB4DDA1C8E5EB9EB69B86DAF2C620F6C2735215A5F22C0B6CE377AA0D07EB38ED340B5629FC2890494B078A63D6D07FDEACDBE3E7F27FD

-AUTH_PARAM_D = 0x8BC9B1F7A559BCDD1717F3F7BFF8B858743892A6338D21D0BE2CE78D1BCB8F61A8D31822F694C476929897E4B10753DDBE45A2276C0EFEE594CF75E47016DA9CDB3D8EB6C3E4C5D69B8BCCE1AE443CF299C22B905300C85875E8DBB823

+AUTH_PARAM_N = 0xC9D8E9A46EAB6D7B1883368C81E281B60B0737B11EA3B93B69A7412059FBDDB030BA521FC6CE37DFE8DD178AA16D70BDFB8917774A46E92F0C816CB5074959FD92C0279B6A33757FFE6B93B420B4BB3BFB8E6D56BC6F045EDAF9549DC3

+AUTH_PARAM_D = 0x3FAD49901145CD850EE79E16D786E08AD091D754EE28927016D5A7EB0FD83048BC269B6FE0E4FFA588ADEF1651F4D7A367AE09141DFF9EE2B3DC44B21B795D856C7D68415450A599DA668FB33CBA277335D9E9CE7A25BFC838E67D7643

9.使能校验,修改如patch:

9.1 preloader

zhoutao@byteflyer:~/mediatek/m20_sdk_8.1/mt8735_sdk_8.1$ git diff vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/tb8735ap1_64_ztk.mk

diff --git a/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/tb8735ap1_64_ztk.mk b/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/tb873

index 4820e11..e13a926 100755

--- a/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/tb8735ap1_64_ztk.mk

+++ b/vendor/mediatek/proprietary/bootable/bootloader/preloader/custom/tb8735ap1_64_ztk/tb8735ap1_64_ztk.mk

@@ -3,8 +3,10 @@ TARGET=tb8735ap1_64_ztk

MTK_PLATFORM=MT6735

MACH_TYPE=mt6737t

MTK_SEC_CHIP_SUPPORT=yes

-MTK_SEC_USBDL=ATTR_SUSBDL_ONLY_ENABLE_ON_SCHIP

-MTK_SEC_BOOT=ATTR_SBOOT_ONLY_ENABLE_ON_SCHIP

+#MTK_SEC_USBDL=ATTR_SUSBDL_ONLY_ENABLE_ON_SCHIP

+#MTK_SEC_BOOT=ATTR_SBOOT_ONLY_ENABLE_ON_SCHIP

+MTK_SEC_BOOT=ATTR_SBOOT_ENABLE

+MTK_SEC_USBDL=ATTR_SUSBDL_ENABLE

MTK_SEC_MODEM_AUTH=no

MTK_SEC_SECRO_AC_SUPPORT=yes

# Platform

9.2 kernel

zhoutao@byteflyer:~/mediatek/m20_sdk_8.1/mt8735_sdk_8.1$ git diff  kernel-3.18/arch/arm64/configs/tb8735ap1_64_ztk_defconfig

diff --git a/kernel-3.18/arch/arm64/configs/tb8735ap1_64_ztk_defconfig b/kernel-3.18/arch/arm64/configs/tb8735ap1_64_ztk_defconfig

index 81b0269..cb1bd43 100755

--- a/kernel-3.18/arch/arm64/configs/tb8735ap1_64_ztk_defconfig

+++ b/kernel-3.18/arch/arm64/configs/tb8735ap1_64_ztk_defconfig

@@ -32,6 +32,7 @@ CONFIG_PREEMPT=y

# CONFIG_BOUNCE is not set

CONFIG_ZSMALLOC=y

CONFIG_SECCOMP=y

+CONFIG_MTK_SECURITY_SW_SUPPORT = y

CONFIG_ARMV8_DEPRECATED=y

CONFIG_SWP_EMULATION=y

CONFIG_CP15_BARRIER_EMULATION=y

10 签名:

mt8735_sdk_8.1$ ./vendor/mediatek/proprietary/scripts/sign-image/sign_image.sh

11 参考资料:

FLASHLIB_DA_EXE(Official)_ALPS

Secure_boot_guide.pdf

MT6735 8.1 Secure Boot 签名相关推荐

  1. 在Fedora中全自动签名英伟达驱动内核模块以支持安全启动(Secure Boot)

    目录 前言 前提条件 具体步骤 1.将系统更新到最新并重启Fedora 2.安装Mok工具(mokutil)和密钥生成工具(openssl) 3.生成内核驱动模块的自签安全启动密钥 4.将刚刚自签的安 ...

  2. linux secure boot(安全启动)下为内核模块签名

    文章目录 linux secure boot(安全启动)下为内核模块签名 背景 Secure Boot安全启动开启关闭方法 内核驱动签名 生成签名证书和私钥 导入签名证书 BIOS(UEFI)导入证书 ...

  3. UEFI、BIOS、Secure Boot的关系和知识介绍

    从Windows 8操作系统时代开始,安装操作系统的方法也有了很大的改变,Windows 8采用了Secure Boot引导启动的方式,而不是过去Win XP和Win 7的Legacy启动方式,从而导 ...

  4. 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux

    一.自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万). 我觉得,这个呼吁很重要 ...

  5. linux+显卡+停止运行,Linux secure boot(安全启动)时添加Nvidia显卡驱动

    原文链接: http://www.bubuko.com/infodetail-809913.html 开启Secure boot情况下,在Fedora 21下安装Nvidia 显卡驱动的方法. Nvi ...

  6. Trusted Boot和Secure Boot的区别

    https://www.ibm.com/developerworks/library/l-trusted-boot-openPOWER-trs/index.html Trusted Boot依赖于Se ...

  7. 解决win10 安装dnw驱动,每次重启都得禁用数字签名。解决命令行操作,设置元素数据时出错。电脑关闭Secure Boot

    解决win10 安装驱动,每次重启都得禁用数字签名 第一步.将电脑关闭Secure Boot 以我的华硕笔记本电脑为例: 1.重启电脑,按住 F2 进入 bios 模式.(其他电脑自行百度) 2.按 ...

  8. 浅析安全启动(Secure Boot) —写得很好

    前言 安全启动的根本目的是为了防止消费者从软硬件层面对产品的部分关键系统进行读写.调试等高权限的操作.以限制消费者的能力,来达到保护产品的商业机密.知识产权等厂家权益的目的.当然,厂家是不会这样宣传 ...

  9. spreadtrum展信平台加密Secure boot流程

    1. Secure boot概述 本文档主要是secure boot方案的介绍和说明,其内容会涵盖以下方面:secure boot的目的和介绍.技术方案的描述.PC端签名工具和Image downlo ...

最新文章

  1. Codeforces Round #643 (Div. 2)题解
  2. 判断用户是否存在再进行新增_MySQL用户行为分析
  3. Android之封装倒计时页面
  4. 算法工程师和python_算法工程师只掌握Python行吗?如果在java和cpp中选一门语言学习哪个更有用?...
  5. Python爬虫:爬取instagram,破解js加密参数
  6. Qt 自定义事件的实现
  7. 为提升 DCP 传输效率,阿里工程师竟然这样做!
  8. linux之pkill命令
  9. L1-010 比较大小 (10 分)—团体程序设计天梯赛
  10. Vue3:集成wangEditor富文本编辑器
  11. 余额宝宣布开放 中欧基金首批入驻
  12. 小提琴1234567位置图解_小提琴入门指法(小提琴1234567位置图解)
  13. React 后台管理系统
  14. 全通系统定义、零极点关系、应用
  15. 802.11n HT模式配置说明
  16. redis的setex key seconds value命令的bug
  17. 安克创新能否锚定全球家用储能市场 隆起新的增长极?
  18. 如何快速一次性卸载所有python包(第三方库)呢?
  19. OpenFlow工作机制与流程
  20. Nginx 搭建DASH服务器

热门文章

  1. at91rm9200 rtl8201 网络不通
  2. linux系统安装jdk8详细教程
  3. Sigar监控服务器环境CPU 内存 硬盘 网络流量
  4. 国产品牌:中国牙科市场的美好未来
  5. HBASE中的compaction策略,日期分层
  6. alpa开发阶段团队贡献分
  7. pb文件转json文件python脚本
  8. 12.8 Daily Scrum
  9. 阿里妈妈广告商品点击数据分析
  10. ANSYS stl文件导入(SpaceClaim)