우분투 자식 커널 저장소
debian/CONFIGS을 포함 메타 데이터 및 커널 트리 릴리스 당 하나의 자식 저장소에 모두 추적 : http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/
그런 다음 repo에는 각 커널 패키지에 대한 태그가 있습니다 (예 : Ubuntu 18.04에서 package linux-image-4.15.0-36-generic) Ubuntu-4.15.0-36.39. 이 태그에 해당합니다 .
https://help.ubuntu.com/community/Kernel/Compile 은 커널 컴파일 방법과 커널 구성 방법 및 구성이 최종 구성으로 병합되는 방법을 설명합니다.
구성은 모두 아래에 debian.master/config/ARCH있는 것으로 보입니다 .
config.common.ubuntu
config.common.ports
amd64/config.common.amd64
amd64/config.flavour.generic
amd64/config.flavour.lowlatency
그래서 나는 그 추측하고있어 linux-image-4.15.0-36-generic의지 병합을 config.common.ubuntu, config.common.amd64하고 config.flavour.generic.
병합하는 스크립트는 debian / scripts / misc / kernelconfig 인 것으로 보이며 주석이 포함되어 있습니다.
# Merge configs
# We merge config.common.ubuntu + config.common.<arch> +
# config.flavour.<flavour>
TODO : debian.master/config/annotations각 아치에 대한 각 구성의 값을 포함하는 것으로 보이는 파일이 있습니다. 어떻게 사용됩니까?
누군가 어떻게 든 상세 모드에서 빌드 스크립트를 실행하여 모든 것을 확인해야하지만, 이제 게으르다.
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux
cd linux
git checkout Ubuntu-4.15.0-36.39
fakeroot debian/rules clean
debian/rules updateconfigs
fakeroot debian/rules build-generic
그런 다음 로컬에서와 동일한 구성을 생성한다는 것을 확인했습니다.
diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic
Ubuntu 커널 git repo에는 업스트림 Linux 위에 수천 개의 패치가 있으므로 올바른 구성을 얻는 것만으로는 동작을 재현하기에 충분하지 않습니다.
또한 dmesg부팅 시작 부분 을 살펴보면 빌드 한 커널과 패키지 된 커널이 일치하는지 세 번 확인할 수 있습니다.
[ 0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-amd64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18)
의 구성 .deb
다른 사람들이 언급했듯이 최종 전체 구성은 다음과 같습니다.
/boot/config-4.15.0-36-generic
각 Linux 커널 이미지에 해당합니다.
/boot/vmlinuz-4.15.0-36-generic
따라서 다른 버전의 경우 다음에서 제공되는 패키지를 찾을 수 있습니다.
dpkg -S /boot/config-4.15.0-36-generic
이것은 다음을 제공합니다.
linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic
그런 다음 https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic.deb 에서 다운로드
하여 구성을 가져 오기 위해 추출 할 수 있습니다.
mkdir config
cd config
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
tar -xvf data.tar.xz
cat ./boot/config-4.15.0-36-generic
우분투에서 테스트 18.04.
/boot-config-*빌드시 자동 생성하는 데 사용하는 마법사를 에뮬레이트하는 것보다 패키지를 가져 와서 추출하는 것이 여전히 쉽습니다 . 이 수치가 온라인 패키지에서 하나 개의 파일을 잡는의 방법이 아니다 (또는이?) 것