樹莓派Linux核心編譯選項如何開啟TPM 2 0

2021-08-27 08:10:33 字數 2058 閱讀 3786

本文更新於2018-08-11

同步至github:

定製樹莓派核心原始碼, 通過樹莓派spi介面載入並訪問tpm2.0裝置

所需硬體: x86主機一台, 樹莓派3-b型號開發板一塊, 大容量micro-sd卡+usb讀卡器乙個, 英飛凌tpm2.0評估板一套

所需軟體: 任意版本樹莓派韌體(推薦使用最新版本), ubuntu linux 虛擬機器, gcc-arm-linux-gnueabihf 交叉編譯器, ncurses.h

sudo apt-get update

sudo apt-get install -y libncurses5-dev

sudo apt-get install -y gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf

sudo apt-get install -y git-core

git clone --depth=1  --branch rpi-4.9.y-devel2
cd linux
make arch=arm bcm2709_defconfig
make arch=arm menuconfig
make arch=arm cross_compile=arm-linux-gnueabihf- zimage dtbs modules -j$(nproc)
取出樹莓派的sd卡, 通過讀卡器插入 ubuntu 主機或將讀卡器 usb 裝置接入 vmware 虛擬機器。ubuntu 預設自動將 u 盤掛載到/media/$user/boot/media/$user/【根檔案系統分割槽】

ls /media/$user
(以下為覆蓋式安裝, 如果不放心請自行備份sd卡上的原有核心及模組檔案)

scripts/mkknlimg arch/arm/boot/zimage   /media/$user/boot/kernel7.img

cp arch/arm/boot/dts/*.dtb /media/$user/boot/

cp arch/arm/boot/dts/overlays/*.dtb* /media/$user/boot/overlays/

sudo make arch=arm cross_compile=arm-linux-gnueabihf- modules_install install_mod_path=/media/$user/【根檔案系統分割槽】

sudo raspi-config
選中5. inte***cing options---p4 spi(啟用/禁用spi串列埠)

重啟樹莓派,開機後檢查/dev/tpm0裝置檔案是否已經載入就緒

ls -l /dev/tpm0

sudo dmesg | grep tpm

ls /lib/modules/`uname -r`/kernel/drivers/char/tpm

tpm.ko tpm_tis_core.ko tpm_tis_spi.ko

git clone -b 1.x  tpm2.0-tss

pushd tpm2.0-tss

wget

tar xjf autoconf-archive-2017.09.28.tar.xz

cp autoconf-archive-2017.09.28/m4/ax_code_coverage.m4 m4/

nproc=4

./bootstrap && ./configure && make -j$(nproc)

make install destdir=$home/my-tpm2-tss-installation-dir

popd

樹莓派 Linux 核心編譯

5.1配置config arch arm cross compile arm linux gnueabihf kernel kernel7 make bcm2709 defconfig 5.2 編譯 arch arm cross compile arm linux gnueabihf kernel ...

樹莓派 Linux 核心驅動編譯

寫好驅動 pin4module.c include include include include include include include include static struct class pin4 class 建立乙個類 static struct device pin4 class...

樹莓派Linux核心配置 編譯

4929703.html驅動 的編譯需要乙個提前編譯好的核心,編譯核心就必須配置,配置的最終目標會生成 config檔案,該檔案指導makefile去把有用東西組織成核心。第一種方式 make menuconfig 一項項配置 arch arm cross compile arm linux gnu...