Ubuntu-Image 无法构建映像

Ubuntu-Image 无法构建映像

我正在使用 Ubuntu-Image 为 ubuntu 构建一个图像,其中包含几个快照,如下所示: https://ubuntu.com/core/docs/using-ubuntu-image

一段时间以来,我一直能够顺利地构建图像,但今天突然之间,我的所有图像(包括未经修改的图像)的构建过程都失败了。

时间戳已注入且有效,已删除此帖子的授权 ID。断言已正确创建。

这是我的 JSON 示例

{
    "type": "model",
    "series": "16",
    "authority-id": "**********",
    "brand-id": "**********",
    "model": "ubuntu-core-20-pi-arm64",
    "architecture": "arm64",
    "timestamp": "%TIMESTAMP%",
    "base": "core20",
    "grade": "dangerous",
    "system-user-authority": [
        "**********"
    ],
    "snaps": [
        {
            "name": "tot-pi",
            "type": "gadget"
        },
        {
            "name": "bare",
            "type": "base",
            "default-channel": "latest/stable",
            "id": "EISPgh06mRh1vordZY9OZ34QHdd7OrdR"
        },
        {
            "name": "pi-kernel",
            "type": "kernel",
            "default-channel": "20/stable",
            "id": "jeIuP6tfFrvAdic8DMWqHmoaoukAPNbJ"
        },
        {
            "name": "core20",
            "type": "base",
            "default-channel": "latest/stable",
            "id": "DLqre5XGLbDqg9jPtiAhRRjDuPVa5X1q"
        },
        {
            "name": "core",
            "type": "core",
            "default-channel": "latest/stable",
            "id": "99T7MUlRhtI3U0QFgl5mXXESAiSwt776"
        },
        {
            "name": "snapd",
            "type": "snapd",
            "default-channel": "latest/stable",
            "id": "PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4"
        },
        {
            "name": "ubuntu-frame",
            "type": "app",
            "default-channel": "latest/stable",
            "id": "BPZbvWzvoMTrpec4goCXlckLe2IhfthK"
        },
        {
            "name": "mesa-core20",
            "type": "app",
            "default-channel": "latest/stable",
            "id": "pDDsAW9ifzZnogboHJu3udsA6LsbGeGP"
        },
        {
            "name": "gnome-3-38-2004",
            "type": "app",
            "default-channel": "latest/stable",
            "id": "rw36mkAjdIKl13dzfwyxP87cejpyIcct"
        },
        {
            "name": "gtk-common-themes",
            "type": "app",
            "default-channel": "latest/stable",
            "id": "jZLfBRzf1cYlYysIjD2bwSzNtngY0qit"
        },
        {
            "name": "network-manager",
            "type": "app",
            "default-channel": "20/stable",
            "id": "RmBXKl6HO6YOC2DE4G2q1JzWImC04EUy"
        }
    ]
}

我使用以下命令在完成其他步骤后生成图像来对模型进行签名。

ubuntu-image snap ubuntu-core-20-pi-arm64.model --snap pi_20-1_arm64.snap --snap wpe-webkit-mir-kiosk -o $OUTPUT_PATH/$FILE_NAME

一切正常,直到出现以下错误:

Fetching snapd (20674)
Fetching network-manager (865)
Fetching pi-kernel (732)
Fetching core20 (2107)
Fetching bare (5)
Fetching core (16204)
Fetching ubuntu-frame (5795)
Fetching mesa-core20 (154)
Fetching gnome-3-38-2004 (145)
Fetching gtk-common-themes (1535)
Fetching wpe-webkit-mir-kiosk (101)
error: prerequisites need to be added explicitly: cannot use snap "ubuntu-frame": default provider "mesa-core20" or any alternative provider for content "" is missing

如果我删除了 ubuntu 框架,我会在下一个快照中遇到相同的错误,并且删除该快照会导致另一个错误,直到没有剩余的快照。直到今天,这个模型和脚本已经运行了一年多,有些甚至没有任何变化。

任何帮助都将不胜感激。这件事突然开始,也许我无意中在某个地方做了更改,或者 ubuntu-image 或最近构建的一个或多个 snap 出现故障或问题。我在这里陷入了困境,任何帮助都将不胜感激。

答案1

经过一番调查和检查产生错误的源代码,并检查安装的版本后,我发现我是从 apt 安装的 ubuntu-image(如果您运行了apt install ubuntu-image等等)。

Apt 版本已经很久没有更新了,所以检查了 snap 版本后发现是在上周更新的。

为了解决这个问题,我卸载了 apt 版本,并安装了 snap 版本:

    sudo apt remove ubuntu-image
    sudo snap install ubuntu-image

就这样,一切开始运转了。我不得不修改脚本,将 -o 参数大写为 -O,这是一个好兆头。

-O 的行为现在也不同了,期望它将 .img 文件输出为小工具快照中指定的卷名,而不是使用 -O 传入的文件名,它将创建一个具有确切名称的文件夹(在我的情况下为 ubuntu.img/pi.img)

昨晚一夜没睡,但问题解决了。希望这篇文章以后对大家有用。:)

相关内容