
1背景SDK是米联客官方的MLK-RK02-CR02-RK3568 v1.3.0Ubuntu 22.04 VMware 虚拟机内编译目标板卡是AFH05。本文记录重点是 recovery Buildroot 补包和固件打包两个环节。二、recovery Buildroot 补包马拉松./build.sh all 卡在 recovery 阶段。根因SDK 的 BR2_PRIMARY_SITE_ONLYy 只走清华镜像大批包 404。逐个补了35 个包涉及 host 工具链、target 端、host 压缩工具lz4/lzo/zstd/squashfs。网络通道用途镜像源Python 包清华 PyPIGitHub 代理shturl.cc/7内核 / 驱动kernel.org、xorg 镜像压缩工具oberhumer、tuxera、sourceforgeDebian 包snapshot.debian.orgglibc /squashfs 哈希校验绕过GitHub 直连超时curl: (28) Resolving timed out改用 git clone 本地打包cd /tmp rm -rf squashfs-toolsgit clone --depth 1 --branch 4.6.1 https://github.com/plougher/squashfs-tools.gitcd squashfs-toolsgit archive --formattar.gz --prefixsquashfs-tools-4.6.1/ \-o /home/uisrc/mlk-sdk-rk3568-v1.3.0/buildroot/dl/squashfs/squashfs-4.6.1.tar.gz HEADsha256sum buildroot/dl/squashfs/squashfs-4.6.1.tar.gz得到新 hash 后改 squashfs.hashNEWHASH$(sha256sum buildroot/dl/squashfs/squashfs-4.6.1.tar.gz | awk {print $1})sed -i s/94201754.../$NEWHASH/ buildroot/package/squashfs/squashfs.hashglibc 同理备份原 hashcp buildroot/package/glibc/glibc.hash /tmp/glibc.hash.bak三、整包固件制作最终产物./build.sh all成功产出 output/firmware/update.img包含MiniLoaderAll.bin / uboot.img / misc.imgboot.img / recovery.imgBuildrootrootfs.imgDebian 主根文件系统~4.4GBoem.img / userdata.img整包是纯 LinuxDebian Buildroot recovery U-Boot/RK3568 内核固件结构分区内容MiniLoaderAllDDR 初始化 TPL/SPLubootU-Boot 引导misc启动模式标记bootLinux 内核 dtbrecoveryBuildroot 根文件系统FIT 镜像rootfsDebian 主根文件系统oem厂商数据分区userdata用户数据分区四、经验总结表格问题排查思路解决方案Buildroot 包 404BR2_PRIMARY_SITE_ONLY 只走清华镜像手动补 dl 缓存 改 hashGitHub 直连超时DNS 解析失败shturl.cc/7 代理 /git clone 本地打包glibc/squashfs hash 不匹配官方 hash 是指定版本的校验值git archive 生成 tar.gz 后用新 hash 覆盖核心教训Buildroot 下载失败不要反复重试先看 BR2_PRIMARY_SITE_ONLY 是否锁死了唯一镜像源源码包版本对不上时手动 git clone git archive 生成本地 tar.gz用 sha256sum 重新生成 hash 替换 .hash 文件比改 BR2_DL_DIR 或注释校验更稳妥整包固件制作是纯流程只要 recovery Buildroot 补完./build.sh all