升级kernel 和dtb 、tee.bin
windows 下:platform-tools 工具
powershell: fastboot reboot //等待uboot 进去fastboot模式
执行烧录动作:
# 烧写Image
fastboot flash 1:1 Image
# 烧写dtb
fastboot flash 1:1 imx8mp-evk.dtb
# 重启
fastboot reboot
------------------------------------------
或tftp方式,比较稳定:
# 1. 配置网络(已配过可跳过)
=> setenv ipaddr 192.168.2.167
=> setenv serverip 192.168.2.211
=> ping ${serverip}
# 2. 下载Image到内存
=> tftp 0x40000000 Image
# 3. 写入Image到boot分区
=> fatwrite mmc 1:1 0x40000000 Image ${filesize}
# 4. 下载dtb到内存
=> tftp 0x40000000 imx8mp-evk.dtb
# 5. 写入dtb到boot分区
=> fatwrite mmc 1:1 0x40000000 imx8mp-evk.dtb ${filesize}
# 6. 写入tee.bin到boot分区
=> tftp 0x40000000 tee.bin
=> mmc dev 1
=> fatwrite mmc 1:1 0x40000000 tee.bin ${filesize}
# 7. 验证写入结果
=> fatls mmc 1:1
为啥这两个地址都是0x40000000 ,${filesize}又是多少
https://www.doubao.com/thread/wbee779b61107f96b
更改dmesg log 等级:
root@imx8mpevk:~# cat /etc/rc.local
#!/bin/sh
# /etc/rc.7
echo 7 > /proc/sys/kernel/printk
exit 0
chmod +x /etc/rc.local
# 改用 imx8mp 官方推荐的加载地址
setenv bootcmd 'tftp 0x40400000 Image; tftp 0x43000000 imx8mp-evk.dtb; booti 0x40400000 - 0x43000000'
saveenv
run bootcmd
setenv bootargs 'console=ttymxc1,115200 root=/dev/nfs rw init=/sbin/init nfsroot=192.168.2.211:/mnt/img,nfsvers=3,tcp ip=192.168.2.167 netmask=255.255.255.0 gateway=192.168.2.1'
# 1. 配置bootargs
mmc dev 2
setenv bootargs 'console=ttymxc1,115200 root=/dev/mmcblk2p2 rw rootwait init=/sbin/init loglevel=7'
# 2. 配置bootcmd
setenv bootcmd 'mmc dev 2; fatload mmc 2:1 0x40400000 Image; fatload mmc 2:1 0x43000000 imx8mp-evk.dtb; booti 0x40400000 - 0x43000000'
# 3. 保存环境变量
saveenv
# 4. 测试启动
run bootcmd
------------------------------------------------------------------------------------------
# 假设:
# - 内核源码目录:/home/jeams/linux-imx(你的源码路径)
# - 自定义输出目录:/home/jeams/kernel_out(要存放目标文件的文件夹)
source /opt/fsl-imx-wayland/6.12-walnascar/environment-setup-armv8a-poky-linux
# 1. 创建本地输出目录(避免再用HGFS目录)
mkdir -p /home/jeams/kernel_out
# 2. 执行配置(指定本地输出目录,绝对路径!)
make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- O=/home/jeams/kernel_out imx_v8_defconfig
cd kernel_out
make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- menuconfig
# 3. 编译内核(Image + 设备树 + 模块)
make ARCH=arm64 CROSS_COMPILE=aarch64-poky-linux- Image dtbs modules
mkdir -p ../kernel_modules
cd ../kernel_modules
make modules_install INSTALL_MOD_PATH=../kernel_modules
拷贝ko文件:
scp -r lib/modules root@192.168.2.167:/lib/modules
刷新
depmod -a
重启后加载驱动
root@imx8mpevk:~# cat /etc/rc.local
#!/bin/sh
# /etc/rc.7
echo 7 > /proc/sys/kernel/printk
modprobe hello_drv #load hello_drv
exit 0

浙公网安备 33010602011771号