자동 Linux 커널 구성 도구가 개발되어 있습니까?
방법을 찾았 make localmodconfig
지만 확실히 매우 제한적입니다. 온라인으로 검색했지만 안타깝게도 만족스러운 결과를 얻지 못했습니다.
저는 커널 구성 문제에 대해 매우 잘 알고 있지만 특정 하드웨어로 각각의 새로운 시스템을 구성하는 데 낭비되는 시간을 최적화하고 싶습니다. 이는 창의적인 작업이 아닌 기술적인 작업이기 때문입니다.
답변1
이제 우리는 댓글에서 이에 대해 몇 가지 논의를 했으며 귀하의 대답은 다음과 같습니다. 아니요, 없습니다.
이런 결론에 도달한 주된 이유는 다음과 같습니다.커널을 구성하는 도구를 찾고 있지 않습니다.대신 특정(그러나 명시되지 않은) 사용 사례에 맞게 커널을 자동으로 조정합니다.
설명에서 언급했듯이 필요하지 않은 드라이버를 건너뛰고 필요한 드라이버를 커널에 정적으로 컴파일할 수 있습니다. 이렇게 하면 시작하는 동안 시간이 절약되지만 내장 코드든 모듈 코드든 중요한 코드가 동일하기 때문에 나중에는 그렇지 않습니다.
커널 튜닝
커널은 몇 가지 대안을 제공하며, 스케줄러에 대해 직접 언급하셨습니다. 귀하에게 가장 적합한 스케줄러는 사용 사례, 사용 중인 애플리케이션, 시스템에 부과하는 로드 및 로드 유형에 따라 다릅니다. 그런 일이 있더라도 프로그램을 설치하고 실행해도 어떤 스케줄러가 가장 적합한지 결정할 수 없습니다.
버퍼와 버퍼 크기에도 동일하게 적용됩니다. 또한 많은(대부분?) 설정은 컴파일 타임이 아닌 런타임에 설정되거나 최소한 설정될 수 있습니다.
최고의 빌드 옵션
또한 매우 전문적인 CPU를 사용하는 경우 자동화 없이 커널을 컴파일할 때 빌드 옵션을 최적화할 수 있습니다. 알아요루트 환경 구축이는 훌륭한 프레임워크를 제공합니다. 여러 플랫폼에 대해 동일한 운영 체제를 만들려는 경우에도 도움이 될 수 있습니다. 이는 빌드에 도움이 될 수 있지만 커널 조정을 자동으로 수행하지는 않습니다.
그렇기 때문에 나와 다른 사람들은 공통 코어를 사용하라고 말합니다. 특정 문제를 해결하지 못한다면 자신만의 커널을 구축할 가치가 없습니다. 해결하려는 문제를 식별/설명하면 더 많은 도움을 얻을 수 있습니다.
답변2
부팅 시간이 걱정된다면 커널 로드 시간은 그 일부에 불과합니다. 다음에 무슨 일이 일어날지 걱정하세요. 예를 들어체계쓸모없는 데몬을 실행하지 않도록 구성하고 병렬화하여 시작 속도를 높입니다. Systemd에는 시작 시간을 분석하는 도구가 있습니다. 공간이 문제라면 디스크가 저렴합니다.
당신의수없이 많은 구성을 설정하고, 각 시스템에 맞는 올바른 커널을 가져오고, 구성을 수정하고 변경 사항이 발생할 때 다시 컴파일하는 데 소요되는 시간은 부팅 시간을 몇 초 단축하는 것보다 더 가치가 있습니다.
답변3
주요 관심사가 특정 시스템에 대한 드라이버를 활성화하는 것이라면 다음이 있습니다.자동 커널 구성. /sys
추가 시스템 정보를 찾기 위해 장치를 검색한 다음 이에 대한 지원을 컴파일하기 위한 구성 옵션을 권장합니다.LKDDb: Linux 커널 드라이버 데이터베이스.
비록 꽤 많은 오탐(false positives)을 발견했지만 그것은 나에게 어느 정도 효과가 있었습니다. (그것은 다양한 USB HCI 드라이버를 제안했고 xhci는 제가 필요한 유일한 드라이버였습니다.)