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
뒤에 오는 내장 커널 이름을 빌드 중인 배포판에 의해 설치된 커널 이름으로 바꿔야 합니다.