Debian live-build 无法找到 linux-image-686-pae

Debian live-build 无法找到 linux-image-686-pae

我正在尝试live-build构建一个最小的 Debian 映像,其中包含适用于我的笔记本电脑的无线固件。我收到此错误:

[2019-02-04 18:56:40] lb chroot_install-packages install
P: Begin installing packages (install pass)...
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package linux-image-686-pae

我的构建过程是这样的:

使用 Vagrant box 创建全新的虚拟机generic/debian9。创建后,通过 SSH 登录并运行

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install live-build

实时构建手册,准备构建目录:

mkdir -p my_build/auto && cd my_build
cp /usr/share/doc/live-build/examples/auto/* auto/

编辑auto/config如下。我正在专门为 Dell XPS15 9560 构建一个映像,并且想要一个amd64架构/linux 内核1

   #!/bin/sh

   set -e

   lb config noauto \
       --architectures amd64 \
       --linux-flavours 686-pae \
       --binary-images iso-hybrid \
       --archive-areas "main contrib non-free" \
       --bootappend-live "boot=live persistence components hostname=bakerst username=holmes sudo" \
       "${@}"

使用刚刚创建的配置树生成auto/config

lb config

创造config/package-lists/my.list.chroot

firmware-atheros
sudo

现在,构建:

sudo lb build

这会产生错误。

这个问题似乎与linux-image-686-pae包裹。我的理解是live-build通过 chroot 到 build 并运行来工作apt-get。在非 chroot 环境中执行相同操作会返回错误:

vagrant@debian9:~/my_build$ sudo apt-get install linux-image-686-pae
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-image-686-pae

一种可能的错误可能是使用了错误的来源。然而,我是从主要的 Debian 存储库中提取的。检查后/etc/apt/sources.list,我已main contrib non-free附加到每个条目。我不确定还需要检查什么。


1我提到这一点是因为大多数教程都使用i386.我相信686-pae是有效的。

答案1

正如@AB 所指出的,686-pae 适用于 32 位内核。删除该选项可以解决该问题:

   #!/bin/sh

   set -e

   lb config noauto \
       --architectures amd64 \
       --binary-images iso-hybrid \
       --archive-areas "main contrib non-free" \
       --bootappend-live "boot=live persistence components hostname=bakerst username=holmes sudo" \
       "${@}"

相关内容