Qubes OS - 템플릿 커널 업데이트

Qubes OS - 템플릿 커널 업데이트

공식 문서에 따라 데비안 템플릿에서 커널을 업데이트하려고 하는데 Qubes OS뭔가 빠졌거나 뭔가 잘못하고 있는 것 같습니다.

나는 그것을 사용하고 있습니다 gcc 6.3.0.



큐브 문서:
Debian VM에 커널 설치

Debian 기반 VM에서는 qubes-kernel-vm-support 패키지를 설치해야 합니다. 이 패키지에는 Qubes VM을 시작하는 데 필요한 추가 커널 모듈과 initramfs 추가 항목이 포함되어 있습니다(자세한 내용은 템플릿 구현 참조). 또한 구성을 생성하려면 일부 GRUB 도구가 필요합니다. 참고: dom0에서 제공하는 실제 grub 부트로더는 필요하지 않습니다. 하지만 하나 가지고 있어도 나쁘지 않습니다.

sudo apt-get update
sudo apt-get install qubes-kernel-vm-support grub2-common

그런 다음 원하는 커널을 설치하십시오. 배포 커널 패키지(linux-image-amd64 패키지)를 사용하는 경우 initramfs 및 커널 모듈이 자동으로 처리되어야 합니다. 그렇지 않거나 커널을 수동으로 빌드하는 경우 dkms 및 initramfs-tools를 사용하여 다음을 수행하십시오.

sudo dkms autoinstall -k <kernel-version> # replace this <kernel-version> with actual kernel version
sudo update-initramfs -u

커널을 설치한 후 GRUB 구성을 생성해야 합니다. VM 시작 속도를 높이기 위해 GRUB_TIMEOUT을 낮추는 등 /etc/default/grub에서 일부 설정을 조정해야 할 수도 있습니다. 그런 다음 실제 구성을 생성해야 합니다. Fedora에서는 update-grub2 도구를 사용하여 이 작업을 수행할 수 있습니다.

sudo mkdir /boot/grub
sudo update-grub2

그런 다음 가상 머신을 종료합니다. 이제부터 pvgrub2를 VM 커널로 설정할 수 있으며 VM에 구성된 커널이 부팅됩니다.



데비안 문서:
커널 컴파일을 두려워하지 마십시오. 재미 있고 수익성이 있습니다.

데비안 방식으로 커널을 컴파일하려면 fakeroot, kernel-package, linux-source-version과 같은 몇 가지 패키지가 필요합니다.

그 후, 우리는 당신이 당신의 컴퓨터를 자유롭게 제어할 수 있고 홈 디렉토리에 커널 소스 코드를 추출한다고 가정합니다[22]. 커널 소스의 압축을 풀려는 디렉터리에 있는지 확인하고 tar xf /usr/src/linux-source-version.tar.xz를 사용하여 압축을 푼 다음 이전에 생성한 linux-source-version 디렉터리로 변경합니다.

이제 커널을 구성할 수 있습니다. X11이 설치, 구성 및 실행 중이면 make xconfig를 실행하고, 그렇지 않으면 make menuconfig를 실행하십시오(libncurses5-dev를 설치해야 함). 시간을 내어 온라인 도움말을 읽고 신중하게 선택하십시오. 확실하지 않은 경우 일반적으로 확실하지 않은 장치 드라이버(이더넷 카드, SCSI 컨트롤러 등과 같은 하드웨어 주변 장치를 관리하는 소프트웨어)를 포함하는 것이 가장 좋습니다. 참고: 특정 하드웨어와 관련되지 않은 다른 옵션이 있으며 이해하지 못할 경우 기본값으로 그대로 두어야 합니다. "로드 가능한 모듈 지원"에서 "커널 모듈 로더"를 선택하는 것을 잊지 마십시오(기본적으로 선택되어 있지 않음). 포함되어 있지 않으면 데비안 설치에 문제가 발생합니다.

소스 트리를 정리하고 커널 패키지 매개변수를 재설정합니다.

make-kpkg clean

이제 커널을 컴파일합니다.

fakeroot make-kpkg --initrd

일단 컴파일되면 다른 소프트웨어 패키지와 마찬가지로 사용자 정의 커널을 설치할 수 있습니다. 루트로 dpkg -i ../linux-image-version-subarchitecture.deb를 실행합니다. 예를 들어 System.map은 올바르게 설치되고 현재 구성 세트가 포함된 /boot/config-3.16이 설치됩니다. 새 커널 패키지는 새 커널을 사용하도록 부트로더를 자동으로 업데이트할 만큼 똑똑합니다. 모듈 패키지를 생성한 경우 해당 패키지도 설치해야 합니다.



데비안 모드 출력:

...
...
...
This is kernel package version 13.014+nmu1.
install -p -d -o root -g root  -m  755 /usr/src/linux-source-4.8/debian/linux-image-4.8.15-rt10-11.pvops.qubes.x86_64/DEBIAN
sed -e 's/=V/4.8.15-rt10-11.pvops.qubes.x86_64/g'    -e 's/=IB//g' \
    -e 's/=ST/linux/g'  -e 's/=R//g' \
        -e 's/=KPV/13.014+nmu1/g'                       \
    -e 's/=K/vmlinuz/g'          \
    -e 's/=I/YES/g'     -e 's,=D,/boot,g'        \
    -e 's@=A@amd64@g'   \
    -e 's@=B@x86_64@g'     \
...
dpkg-gencontrol: error: illegal package name 'linux-image-4.8.15-rt10-11.pvops.qubes.x86_64':
                 character '_' not allowed
debian/ruleset/targets/image.mk:230: recipe for target 'debian/stamp/binary/linux-image-4.8.15-rt10-11.pvops.qubes.x86_64' failed
make: *** [debian/stamp/binary/linux-image-4.8.15-rt10-11.pvops.qubes.x86_64] Error 255



수동 컴파일:
저는 데비안에서 다운받아서 linux-source-4.8압축을 풀었습니다 /usr/src.

그 다음에:

make defconf
make menuconf   # custom settings
make

위와 같은 오류:

dpkg-gencontrol: error: illegal package name 'linux-image-4.8.15-rt10-11.pvops.qubes.x86_64':
                 character '_' not allowed



이 문제는 해결하기 쉽다고 생각하는데, 커널을 수동으로 컴파일할 수 있다면 어떻게 진행해야 할까요? 필수
make install인가요 , 아니면 직접 사용해야 make modules_install하나요 ? dkms autoinstall이에 대한 특별한 규정은 없습니다..



고쳐 쓰다:

데비안 패키지를 직접 설치하면 linux-image-amd64콘솔이 사라지고 가상머신이 제대로 작동하지 않아서 다시 시작해보았으나 시리얼 콘솔에 연결해야만 사용할 수 있습니다. 설치 중에 충돌이 발생하여
설치 를 실행 하고 완료했지만 컴퓨터가 부팅되지 않는다는 경고 메시지가 표시되었습니다. 실제로 업데이트 하고 재부팅했지만 루트를 설치할 수 없었습니다.dpkgdpkg --configure -ainitramfsGRUBinitramfs

답변1

AFAIK Qubes-OS는 VM 내부 커널을 사용하여 VM을 부팅하지 않습니다. 대신 Dom0에 있는 자체 커널을 사용합니다.

관련 정보