我想要创建一个启动PXE自定义内核映像的最终基础设施,但在这个过程中,我不得不使用live-build工具使用以前编译的自定义内核映像创建中间“活动”的CD。
我不知道如何/在哪里指定lb配置/live工具来使用我自己的内核deb包,而不是默认的amd64-kernel风格。
我认为我必须使用--linux-packages参数,但我不太明白如何使用。我找不到任何信息或例子。我读过所有的手册等等,但我被卡住了。
我当前的auto/lb配置:
*lb config no auto \
--architectures amd64 \
--distribution stretch \
--system live \
--chroot-filesystem squashfs \
--apt-recommends false \
--apt-indices none \
--memtest none \
--debian-installer false \
--interactive shell \
--bootloaders syslinux \
--bootappend-live "boot=live components hostname=test username=test sudo" \
"${@}"*如何使用自定义编译内核创建实时映像?
发布于 2020-02-15 18:45:56
我迟到了,但对于那些也想这么做的人来说.嗯,您可以将自定义编译的内核代码放在config/packages.chroot文件夹中.而lb构建将自动安装它们。
发布于 2022-11-17 09:07:09
正如Sounak所说,您必须将自定义内核放在config/packages.chroot文件夹中。
内核的名称必须以"-arch“结尾,将"arch”替换为体系结构,对于amd64,可以使用以下命令对4个线程CPU进行编译:
make bindeb-pkg -j4 LOCALVERSION="-custom-amd64" KDEB_PKGVERSION="1"您可能需要为chroot构建的末尾添加一个钩子,以便删除内置内核,并为自定义内核创建一个initramfs。
例如,名为:config/hooks/normal/0600-kernel.hook.chroot的可执行文件
#!/bin/sh
set +e
# delete built-in kernel of bookworm:
apt -y remove linux-image-amd64
apt -y remove linux-image-6.0.0-*
apt -y autoremove
apt -y clean
# make initramfs for all installed kernels:
update-initramfs -c -k all
set -e在这个脚本中,您必须替换内置内核的名称,这些内核遵循apt -y remove,功能是由您正在构建的发行版安装的。
https://unix.stackexchange.com/questions/445395
复制相似问题