美文网首页TPM 2.0及密码学入门
自己定制树莓派Linux内核的步骤

自己定制树莓派Linux内核的步骤

作者: 阿群1986 | 来源:发表于2018-02-07 13:40 被阅读162次

    (文/阿群)
    此篇文章是自己编译树莓派内核的备忘录.

    #!/bin/sh
    
    # 取回自己为树莓派定制的Linux内核源码树
    git clone --branch rpi-4.9.y-devel3 --depth=1 https://github.com/liuqun/linux.git
    pushd linux
    
    # 载入树莓派默认内核配置模板 bcm2709_defconfig
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
    
    # 进入 menuconfig 菜单 
    # 进入子菜单Device Drivers--->Character Devices--->TPM Hardware support--->
    # 选中模块 TPM Interface Spectification 1.3 Interface / TPM 2.0 FIFO Interface (SPI)
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
    
    make ARCH=arm \
        CROSS_COMPILE=arm-linux-gnueabihf- \
        -j $(nproc)\
        bzImage dtbs modules
    
    
    scripts/mkknlimg arch/arm/boot/zImage kernel7.img
    mkdir -p dtb-files/overlays
    cp arch/arm/boot/dts/*.dtb dtb-files
    cp arch/arm/boot/dts/overlays/*.dtb* dtb-files/overlays
    
    ## 驱动模块 
    # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=`pwd`/rootfs
    #
    
    popd
    

    以上为树莓派内核编译过程

    引导新内核

    把树莓派SD卡/boot分区下的两个文件 kernel7.imgbcm2710-rpi-3-b.dtb 替换成我们自己编译的:

    • 复制 linux/kernel7.img 到树莓派 /boot 分区
    • 复制 linux/dtb-files/bcm2710-rpi-3-b.dtb 到树莓派 /boot 分区
    • 复制 linux/rootfs/lib/modules/4.9.70-v7+整个目录到树莓派根分区同名目录/lib/modules/4.9.70-v7+
    ls /lib/modules/4.9.70-v7+/kernel/driver/char/tpm/
    

    sudo raspi-config

    选择菜单5-->然后选择菜单4, 启用SPI接口, 如下图:


    raspi-config

    重启树莓派后, 检查加载的驱动

    uname -r
    find /lib/modules/$(uname -r)/kernel/drivers/char/tpm/

    /lib/modules/4.9.70-v7+/kernel/drivers/char/tpm/
    /lib/modules/4.9.70-v7+/kernel/drivers/char/tpm/tpm_tis_core.ko
    /lib/modules/4.9.70-v7+/kernel/drivers/char/tpm/tpm_tis_spi.ko
    /lib/modules/4.9.70-v7+/kernel/drivers/char/tpm/tpm.ko
    

    查询内核模块加载日志

    dmesg | grep tpm
    
    stat /dev/tpm0
    

    相关文章

      网友评论

        本文标题:自己定制树莓派Linux内核的步骤

        本文链接:https://www.haomeiwen.com/subject/lcyozxtx.html