首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从自定义编译内核构建实时映像?(实景)

如何从自定义编译内核构建实时映像?(实景)
EN

Unix & Linux用户
提问于 2018-05-22 17:49:32
回答 2查看 1.8K关注 0票数 2

我想要创建一个启动PXE自定义内核映像的最终基础设施,但在这个过程中,我不得不使用live-build工具使用以前编译的自定义内核映像创建中间“活动”的CD。

我不知道如何/在哪里指定lb配置/live工具来使用我自己的内核deb包,而不是默认的amd64-kernel风格。

我认为我必须使用--linux-packages参数,但我不太明白如何使用。我找不到任何信息或例子。我读过所有的手册等等,但我被卡住了。

我当前的auto/lb配置:

代码语言:javascript
复制
*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" \  
    "${@}"*

如何使用自定义编译内核创建实时映像?

EN

回答 2

Unix & Linux用户

发布于 2020-02-15 18:45:56

我迟到了,但对于那些也想这么做的人来说.嗯,您可以将自定义编译的内核代码放在config/packages.chroot文件夹中.而lb构建将自动安装它们。

票数 0
EN

Unix & Linux用户

发布于 2022-11-17 09:07:09

正如Sounak所说,您必须将自定义内核放在config/packages.chroot文件夹中。

内核的名称必须以"-arch“结尾,将"arch”替换为体系结构,对于amd64,可以使用以下命令对4个线程CPU进行编译:

代码语言:javascript
复制
make bindeb-pkg -j4 LOCALVERSION="-custom-amd64" KDEB_PKGVERSION="1"

您可能需要为chroot构建的末尾添加一个钩子,以便删除内置内核,并为自定义内核创建一个initramfs。

例如,名为:config/hooks/normal/0600-kernel.hook.chroot的可执行文件

代码语言:javascript
复制
#!/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,功能是由您正在构建的发行版安装的。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/445395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档