カスタムコンパイルされたカーネルからライブイメージを構築するには? (現場で製作)

カスタムコンパイルされたカーネルからライブイメージを構築するには? (現場で製作)

PXEカスタムカーネルイメージを起動するための最終インフラストラクチャを作成したいのですが、プロセス全体で以前live-buildにツールでコンパイルされたカスタムカーネルイメージを使用して中間の「ライブ」CD ISOを作成することはできませんでした。

lbデフォルトのバージョンではなく、独自のカーネル 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" \  
    "${@}"*

カスタムコンパイルされたカーネルを使用してライブイメージを作成するには?

答え1

遅くて申し訳ありませんが、これをしたい他の人のために...まあ、カスタムコンパイルされたカーネルdebをconfig / packages.chrootフォルダに入れると... lb buildが自動的にインストールされます。

答え2

Sounak Karが述べたように、カスタムカーネルを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

Bookworm Live DVDを作成するためのこのスクリプトでは、次の組み込みapt -y removeカーネル名をビルドしているディストリビューションによってインストールされたカーネル名に置き換える必要があります。

関連情報