一、编译环境搭建

访问官网,按照官方说明搭建对应的编译环境,Ubuntu 22.04,安装git ,从github下载orangepi_build

1
git clone https://github.com/orangepi-xunlong/orangepi-build.git -b next

进入orangepi_build目录后,执行

1
sudo ./build.sh

然后会下载相关的编译相关的软件包及源码,过程中可能会遇到网络问题,可以多尝试几次。

二、我遇到的问题

1、当编译img时候报错

1
Release signed by unknown key (key id xxxxxxxxx)

需要‌Ubuntu 更新 debian-archive-keyring,

2、安装/更新密钥包‌

1
sudo apt install --reinstall debian-archive-keyring

作用‌:覆盖安装或升级密钥包,确保 /usr/share/keyrings/debian-archive-keyring.gpg 和 /etc/apt/trusted.gpg.d/ 下的密钥文件更新至最新版本‌12。

3、同步 APT 缓存‌

1
sudo apt update

‌验证更新‌:检查输出中是否仍存在 NO_PUBKEY 或 EXPKEYSIG 错误。若密钥更新成功,错误应消失。

4、检查软件源配置

‌确认版本标识‌:
确保 /etc/apt/sources.list 或 /etc/apt/sources.list.d/* 中的发行版标识(如 bookworm、bullseye)与当前系统版本一致。
示例(Ubuntu 22.04 的 Debian 源配置):

1
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] http://mirrors.aliyun.com debian bookworm main

5、处理残留旧密钥(可选)‌

1
2
sudo rm /etc/apt/trusted.gpg.d/debian-archive-*.gpg
sudo apt update

‌适用场景‌:当旧密钥残留导致冲突时,强制删除全局信任目录中的旧密钥文件,迫使 APT 依赖 /usr/share/keyrings/ 中的集中密钥环‌.

6、手动下载安装(特殊场景)‌

‌从镜像站下载‌:
若 APT 因网络问题无法连接,可手动下载 .deb 包:

1
2
wget https://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2023.4_all.deb
sudo dpkg -i debian-archive-keyring_2025.03_all.deb

需替换 URL 中的版本号为最新包名。

7、总结

更新 debian-archive-keyring 的核心步骤为安装/重装密钥包并刷新缓存。若问题持续,需排查软件源版本标识的正确性,或手动清理旧密钥。此流程适用于解决因密钥过期或缺失导致的 apt update 签名错误。

三、我最终解决

执行以上步骤中的第5步,先删除所有密钥;然后执行第6步。最后再进入orangepi_build 执行

1
sudo ./build KERNEL_CONFIGURE=no 

等一段时间后成功编译出img文件。