Skip to content

TH1520 测试内核 方法

Han Gao edited this page Jun 7, 2024 · 6 revisions

当前针对lichee pi 4a 8GB版本

准备材料

uboot sdk1.5.4-20240529 uboot sdk1.4.2-20240328

u-boot-with-spl-lpi4a-main.bin 与 u-boot-with-spl-lpi4a.bin 区别是默认fdtfile name不同 编译时候替换步骤

fdtfile name 被 sysboot 和 extlinux 使用 可以在指定目录找到对应的设备树

内核可以从本仓库的 ci - action 里获得 th1520-build 会提供内核和完整的boot分区/root分区

linux-64lp64.tar.gz 和 th1520-linux-64lp64 是内核和完整镜像 内核通过主线编译器编译的 linux-64lp64-xt.tar.gz 和 th1520-linux-64lp64-xt 是内核和完整镜像 内核通过 xuantie 编译器编译的

uboot 刷写

在按住BOOT按键的条件下,系统在reset启动后,会默认进入fastboot模式,

fastboot flash ram u-boot-with-spl-lpi4a-main.bin
fastboot reboot
sleep 1
fastboot flash uboot u-boot-with-spl-lpi4a-main.bin

如果不经过ram刷写的方式刷写 需要清除环境变量

在 uboot 阶段执行

env default -a -f
env save

基本刷写

u-boot 阶段打断启动

# u-boot 阶段打断启动 执行以下命令
fastboot usb 0

格式化 emmc (只需一次)

# u-boot 阶段
run gpt_partition

host 执行刷写命令

# 刷写boot分区 fastboot flash boot <boot file>
fastboot flash boot boot*.ext4
# 刷写root分区 fastboot flash root <root file>
fastboot flash root root*.ext4

已有系统更换内核

复制 linux-64lp64.tar.gz 或者 linux-64lp64-xt.tar.gz 到系统里

mkdir -p kernel
cd kernel
unzip ../linux-64lp64.tar.gz.zip
dpkg -i linux-image-*.deb

更换内核请注意有内核包会有git commit id 方便追踪 启动的时候 在uboot阶段可以选择 多个内核可以防止无法启动

其他杂项

adb push暂时不支持 需要等usb驱动提交之后

uboot ums功能

在 uboot 里执行 ums 0 mmc 0 可以将 emmc 当作硬盘通 host 电脑上 如果是 linux 系统可以直接当硬盘挂载