Linux 커널 구성이 처음인데 config-check를 실행할 때 다음 오류가 발생합니다.
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/amd64-config.flavour.generic: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != m): CONFIG_NVRAM
p mark<ENFORCED> policy<{'amd64': 'm', 'armhf': 'm', 'i386': 'm', 'powerpc-powerpc-e500mc': 'y', 'powerpc-powerpc-smp': 'y'}> note<boot essential on powerpc LP:942193>
check-config: FAIL (n != y): CONFIG_VFAT_FS
y mark<ENFORCED> note<needed on arm to ensure we can write the kernel when replacing>
check-config: 41/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/amd64-config.flavour.lowlatency: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: 42/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/i386-config.flavour.generic: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: 42/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/i386-config.flavour.lowlatency: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: 42/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/armhf-config.flavour.generic: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 38/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/armhf-config.flavour.generic-lpae: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 38/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/arm64-config.flavour.generic: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_DEBUG_RODATA
p mark<ENFORCED> policy<{'amd64': 'y', 'i386': 'y', 'armhf': 'y'}>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 38/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/ppc64el-config.flavour.generic: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (y != -): CONFIG_CC_STACKPROTECTOR_REGULAR
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_RODATA
p mark<ENFORCED> policy<{'amd64': 'y', 'i386': 'y', 'armhf': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_SET_MODULE_RONX
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 35/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/powerpc-config.flavour.powerpc-e500mc: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (y != -): CONFIG_CC_STACKPROTECTOR_REGULAR
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_RODATA
p mark<ENFORCED> policy<{'amd64': 'y', 'i386': 'y', 'armhf': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_SET_MODULE_RONX
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 35/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/powerpc-config.flavour.powerpc-smp: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (y != -): CONFIG_CC_STACKPROTECTOR_REGULAR
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_RODATA
p mark<ENFORCED> policy<{'amd64': 'y', 'i386': 'y', 'armhf': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_SET_MODULE_RONX
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 36/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/powerpc-config.flavour.powerpc64-emb: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_NVRAM
p mark<ENFORCED> policy<{'amd64': 'm', 'armhf': 'm', 'i386': 'm', 'powerpc-powerpc-e500mc': 'y', 'powerpc-powerpc-smp': 'y'}> note<boot essential on powerpc LP:942193>
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (y != -): CONFIG_CC_STACKPROTECTOR_REGULAR
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_RODATA
p mark<ENFORCED> policy<{'amd64': 'y', 'i386': 'y', 'armhf': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_SET_MODULE_RONX
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 34/43 checks passed -- exit 1
check-config: /tmp/tmp.tnqExc0fHn/CONFIGS/powerpc-config.flavour.powerpc64-smp: loading config
check-config: /home/aaron/linux-3.19.0/debian.master/config/annotations loading annotations
check-config: FAIL (y != -): CONFIG_NVRAM
p mark<ENFORCED> policy<{'amd64': 'm', 'armhf': 'm', 'i386': 'm', 'powerpc-powerpc-e500mc': 'y', 'powerpc-powerpc-smp': 'y'}> note<boot essential on powerpc LP:942193>
check-config: FAIL (y != -): CONFIG_THERM_ADT746X
p mark<ENFORCED> policy<{'powerpc-powerpc-smp': 'y'}> note<LP:#923094>
check-config: FAIL (y != -): CONFIG_XEN_ACPI_PROCESSOR
p mark<ENFORCED> policy<{'i386': 'y', 'amd64': 'y'}> <boot essential on XEN host>
check-config: FAIL (y != -): CONFIG_EFI_VARS
p mark<ENFORCED> policy<{'amd64': 'y', 'arm64': 'y', 'i386': 'y'}> note<EFI boot requirement (d-i) LP:#837332>
check-config: FAIL (y != -): CONFIG_CC_STACKPROTECTOR_REGULAR
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_RODATA
p mark<ENFORCED> policy<{'amd64': 'y', 'i386': 'y', 'armhf': 'y'}>
check-config: FAIL (y != -): CONFIG_DEBUG_SET_MODULE_RONX
p mark<ENFORCED> policy<{'powerpc': '-', 'ppc64el': '-', '*': 'y'}>
check-config: FAIL (n != -): CONFIG_ACPI_CUSTOM_METHOD
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}> note<SECURITY: allows arbitrary execution>
check-config: FAIL (n != -): CONFIG_COMPAT_VDSO
p mark<ENFORCED> policy<{'amd64': 'n', 'i386': 'n'}>
check-config: 34/43 checks passed -- exit 1
*** ERROR: 12 config-check failures detected
이전에 이 작업을 수행한 적이 없지만 커널을 구성할 때 함께 제공되지 않은 몇 가지 옵션이 있었던 것 같습니다. x86-64에 대해 성공적으로 컴파일할 수 있도록 구성을 변경하고 다시 돌아가려면 이러한 로그를 어떻게 읽을 수 있습니까? 다른 플랫폼에 대한 구성 확인도 충족해야 합니까? 아니면 이것이 제가 제대로 이해하고 있거나 걱정해야 할 사항이 아닙니까?
답변1
페이지에서: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel 다음과 같습니다: fakeroot debian/rules editconfigs # 각각(Y, Exit, Y, Exit..)을 반복하거나 나중에 구성에 대한 불만 사항을 받아야 합니다.
그래서 amd64만 빌드하고 싶은데도 여러 아키텍처에 대한 질문을 하나씩 따라해 보았습니다. 그리고 잘 작동합니다. 구성을 확인하면 오류가 발생하지 않습니다.
답변2
가이드를 따라가시면 됩니다 https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
우분투에서 현재 Linux 커널과 동일한 버전을 얻는 데 도움이 될 수 있지만
apt-get source linux-image-$(uname -r)
이를 구성하는 것은 지루한 작업입니다.
사용하다 보면
fakeroot debian/rules editconfigs
셀 수 없이 많은 선택에 직면하게 됩니다. 일단 컴파일을 시작하면
fakeroot debian/rules clean
fakeroot debian/rules binary-headers binary-generic
위에 게시된 오류가 발생할 수 있습니다. 그럼 넌 할 수 있어
자신이 구성한 버전과 비교해 보세요.
/boot/config-3.xx.-generic
또는 이와 유사한 것. 차이점을 발견한 후에는 동일한 값을 설정하여 구성이 거의 동일한지 확인한 다음(중간에 일부 작은 설정은 무시할 수 있음) 커널 빌드를 시작합니다(올바르게 수행되면 빌드가 보장됨) 성공적인menuconfig
)fakeroot debian/rules editconfigs
(권장되지는 않지만 시도해 볼 수 있음을 기억하십시오.) 프로젝트를
/boot/config-3.xx.-generic
빌드 위치로 복사합니다kernel_src/debian/build/build-generic/.config
(빌드가 시작되고 실패한 후에 생성됩니다). 차이점을 비교하고(사소한 차이점 제외) 그에 따라 구성을 수정한 다음 구축을 시작합니다. (빌드 성공은 보장되지 않습니다)
Ubuntu 14.04용 VirtualBox에서 수행했습니다. (빌드하려는 Linux 버전과 설치된 커널을 비교하여 확인하세요. 네 번째 숫자(수정 사항, 패치, 보안 수정 사항)에서 몇 자릿수 이상 차이가 나서는 안 됩니다. 예: 3.19.0-25와 3.19.0-25 3.19.0-39)http://www.linfo.org/kernel_version_numbering.html
ncurses 사용에 대해 불만이 있는 경우,
sudo apt-get install libncurses5-dev