새로운 Debian 11에 거의 동일한 커널을 설치할 수 없는 이유는 무엇입니까?

새로운 Debian 11에 거의 동일한 커널을 설치할 수 없는 이유는 무엇입니까?

나의 전반적인 목표는 수정할 수 있는 RT_PREEMPT 커널을 구축하는 것입니다. 중간 단계로 RT_PREEMPT가 아닌 일반 커널을 빌드하고 설치(그리고 grub 항목으로 실행)해 보았습니다. 하지만 아래 질문은 RT_PREEMPT가 언급되지 않았음에도 타당하다고 생각합니다.

시나리오는 다음과 같습니다.

  1. .iso에서 Debian 11 새로 설치
  2. 내 생각에 kernel.org에서 동일한 커널 소스 코드에 가장 가까운 것을 다운로드하세요.
  3. 세우다,
  4. 다음과 같은 이유로 시작이 실패합니다.
Loading initial ramdisk ...
error: out of memory.
Press any key to continue ...

키를 누르면 루트를 마운트할 수 없기 때문에 커널 패닉이 발생하기 전에 프로세스가 잠시 계속됩니다. 저는 Linux를 처음 접했지만 이것은 기본적인 것 같고 제대로 작동할 것 같습니다. 그래서 나는 뭔가 잘못하고 있지만 그것이 무엇인지 모릅니다. Out of memory 오류는 흔하지 않은 것 같아서 여기에 도움을 요청합니다. 내 프로세스에 대한 자세한 내용은 다음과 같습니다.

  1. debian.org(debian-11.2.0-amd64-netinst.iso)에서 .iso를 다운로드하여 설치합니다. 설치는 완전히 일반적이며 내가 추가한 것은 KDE와 SSH뿐이었습니다.
  2. 로그인하고 uname -a를 실행합니다. 출력은 다음과 같습니다.
Linux sdcc13 5.10.0-11-amd64 #1 SMP Debian 5.10.92-1 (2022-01-18) x86_64 GNU/Linux

이 부분이 조금 헷갈리긴 하지만 커널 버전 5, 패치 레벨 10, 하위 레벨 92라는 뜻이라고 생각합니다. kernel.org에서 가장 가까운 버전은 다음과 같습니다.

longterm:   5.10.93 

그래서 제가 사용하는 명령은 다음과 같습니다.

wget https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.10.93.tar.xz
xz -cd linux*.tar.xz | tar xvf 
cd linux-5.10.93/
cp /boot/config-$(uname -r) .config
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
make -j11
sudo make modules_install
sudo make install
sudo reboot

그러면 위에서 언급한 대로 재부팅이 실패합니다. CERT 문제를 해결하기 위해 편집해야 했지만 .config다른 것은 변경하지 않았습니다. 이것은 매우 일반적이고 작동할 것 같으므로 도움을 주시면 대단히 감사하겠습니다. 나도 이 과정의 make menuconfig일부로 이것을 시도했지만 make oldconfig결과는 동일했습니다. 내가 무엇을 놓치고 있나요?

마침내 데비안에 대한 작업 지침을 얻었습니다(몇 줄 추가). 그래서 기존 Debian 11 시스템에서와 동일한 커널을 빌드하기 위해 다음을 수행했습니다. 가장 무서운 부분은 기본 커널을 제거해야 한다는 것입니다. 따라서 이 작업을 수행하기 전에 최소한 다른 커널을 갖는 것이 가장 좋습니다.

sudo apt-get 설치 빌드 필수 fakeroot

sudo apt-get 빌드-dep 리눅스

apt-get 소스리눅스

CD 리눅스-5.10.92/

fakeroot make -j10 -f debian/rules.gen 바이너리-arch_amd64

sudo apt delete --purge linux-image-5.10.0-11-amd64-unsigned

sudo dpkg -i linux-image-5.10.0-11-amd64-unsigned_5.10.92-1_amd64.deb

sudo 다시 시작

도움을 주셔서 감사합니다.

답변1

커널을 빌드하려면 데비안 문서를 사용하는 것이 좋습니다.

https://kernel-team.pages.debian.net/kernel-handbook/ch-common-tasks.html#s-common-official

"원래" kernel.org Linux 커널 소스가 아닌 커널 소스 패키지에서 빌드할 수도 있습니다. 커널을 빌드하려는 방식은 실제로 권장되지 않습니다.

여기에서 debian 11/bullseye용 preempt-rt 커널 패키지와 커널 소스 코드 패키지를 찾을 수도 있습니다.

https://packages.debian.org/bullseye/linux-image-5.10.0-10-rt-amd64

이것을 데비안용 올바른 -rt 패키지를 빌드하기 위한 템플릿으로 사용할 수 있어야 합니다. kernel.org 소스 코드를 조작하고 모든 작업을 수동으로 수행하는 것보다 이 경로를 따르는 것이 좋습니다.

관련 정보