저는 젠투 사용자입니다. 커널을 컴파일할 때 하드웨어에 따라 활성화할 수 있는 옵션이 많이 있습니다.
내 질문은 무엇을 활성화/비활성화할지 어떻게 알 수 있는지, 사용 중인 하드웨어(프로세서 명령 세트, 코어 수 등/마더보드 NB 및 SB/Sata 드라이브 등)를 알고 있지만 어떤 옵션을 선택해야 할지 여전히 모르겠습니다. 커널 설정 스크립트에서 무엇을 해야할지 모를 때.
그래서 몇 가지 이상한 문제에 부딪혔습니다( #gentoo의 도움으로 해결됨). 누군가 이 주제에 대한 참고 자료를 제공할 수 있습니까? 사람들은 이것을 어떻게 배우나요?
추신: 커널을 컴파일하면 안 된다고 말하지 마세요. 커널을 컴파일하면 안 된다는 점을 배우고 싶고 속도를 높이고 하드웨어를 더 잘 활용하는 것이 어떻겠습니까?
답변1
젠투 사용자가 이런 질문을 하는 것을 보면 기분이 이상합니다.
신중한 선택을 하려면 각 옵션의 의미를 이해해야 하므로 커널이 무엇인지, 어떻게 작동하는지에 대한 기본적인 이해를 갖는 것이 좋습니다.
먼저 젠투 매뉴얼을 읽어보세요.http://www.gentoo.org/doc/en/kernel-config.xml,http://kernelnewbies.org/아니면 리눅스 커널을 구글에 검색해 보세요.
답변2
올바른 옵션을 확인하는 가장 쉬운 방법은 "기본" .config 파일을 가져오는 것입니다. 대부분의 커널 소스에는 다양한 구성에 대한 올바른 옵션 세트가 모두 포함된 기본 파일이 함께 제공됩니다. 이는 기본 커널 디렉토리의 configs 디렉토리에 저장됩니다. 아키텍처/시스템이 이를 지원하는 경우 입력은 다음과 같이 간단할 수 있습니다.
make rconfig
여기서 rconfig는 configs 폴더에 있는 시스템 기본 .config 파일의 이름입니다.
이 작업이 완료되면 모든 기본 옵션이 설정된 커널 루트 디렉터리에 .config 파일이 생성됩니다. 이 시점에서 다음을 입력하면:
make menuconfig
새로운 .config 파일에서 모든 기본 설정을 로드하므로 이제 작업이 더 쉬워졌습니다. 옵션을 찾아보고 특정 구성 요구 사항을 충족하기 위해 직접 수정해야 하는지 확인할 수 있습니다. .config 파일은 텍스트 파일이며 grep을 통해 기본 옵션이 어디에 있는지 확인할 수 있습니다.
기본 구성 파일이 있고 그 파일에서 터널링 지원을 구현하는 방법을 알아내고 있다고 가정해 보겠습니다. 간단히 다음을 수행할 수 있습니다.
grep -in 'tun' .config
다음 줄이 출력되는 것을 볼 수 있습니다.
#CONFIG_TUN = N
주석을 제거하고 N 대신 Y를 사용하면 커널 구성이 터널 드라이버를 제공하도록 변경됩니다.
답변3
이것이 새 하드웨어에 젠투를 설치할 때 제가 하는 일입니다.
기본 구성으로 시작커널 시드
livecd에 의해 로드된 모듈을 확인(
lsmod
,modinfo
)하고(젠투를 설치하기 위해 실행 중입니다) 활성화합니다.
이로 인해 부팅 가능한 커널로 시작한 후 계속해서 옵션을 조정하고 해당 커널을 백업으로 유지했습니다.
답변4
자신만의 커널을 컴파일한다고 해서 더 나은 속도를 얻을 수는 없습니다. 고통스러운 경험과 추억을 얻게 됩니다. 올바르게 수행하면 수백 킬로바이트의 메모리가 절약됩니다.
최소한 make localmodconfig
현재 커널에 로드된 모든 드라이버를 포함하려면 실행하세요. 이렇게 하면 현재 사용 중인 일부 중요한 드라이버가 손실되지 않도록 할 수 있습니다.
언젠가 추가할 수 있는 모든 USB 및 기타 핫 플러그 가능 장치에 대한 모듈로 추가 드라이버를 계속 포함해야 합니다. 커널에 직접 부팅하는 데 필요한 모든 항목도 포함되어 있는지 확인하세요. initramfs 기능만 포함하고 다른 모든 것을 모듈로 만들면 이 점에서 더 쉬울 것입니다. 하지만 initramfs를 다시 빌드하는 것을 잊지 마십시오.