Ubuntu 커널을 사용자 정의하는 방법
커널 사용자 정의는 모든 사람들을위한 것이 아닙니다. 이것을 시도하기 전에 시스템을 망칠 수 있으므로주의하십시오..
커널을 커스터마이즈 할 이유가 많이 있습니다. 필수 서비스 만 필요로하는 서버 또는 전용 장치를 실행하는 경우 특히 커널을 필요한 서비스로 트리밍 할 수 있습니다. 현재 실행중인 커널에서 지원되지 않는 하드웨어를 지원하려면 커널을 패치해야 할 수도 있습니다.
이 기사에서는 커널을 패치하는 방법과 현재 커널을 사용자 정의하는 방법을 설명하지 않습니다. 커널을 패치하는 방법을 설명하는 또 다른 기사와, 그렇게하고 싶은 이유에 대해 설명 할 것입니다..
시작하려면 현재 실행중인 커널 버전을 알아야합니다. 우리는 uname 명령을 사용합니다.
$ uname -r
2.6.17-10- 제네릭
이제 커널 용 리눅스 소스를 설치해야합니다. 2.6.17-10 커널을 실행 중이므로 설치 프로그램 라인에이를 반영합니다. 이 기사의 목적을 위해, 당신이 무엇을하고 있든간에 커널 번호를 대체 할 수있다. 또한 curses 라이브러리와 다른 도구를 설치하여 컴파일하는 데 도움이됩니다..
sudo apt-get install linux-source-2.6.17 커널 패키지 libncurses5-dev fakeroot
리눅스 소스가 어디에 설치되는지 궁금하다면, dpkg 명령을 사용하여 패키지 내의 파일을 알려줄 수 있습니다. 내 시스템의 결과는 다음과 같습니다.
$ dpkg -L linux-source-2.6.17
/.
/ usr
/ usr / src
/usr/src/linux-source-2.6.17.tar.bz2
/ usr / share
/ usr / share / doc
/usr/share/doc/linux-source-2.6.17
(손질 된)
소스가 / usr / src 디렉토리에 압축 파일로 설치되었음을 알 수 있습니다.
더 쉽게하기 위해 sudo를 사용하여 새 셸을 열어 루트 모드로 전환합니다. 이 작업을 수행하는 다른 방법이 있지만이 방법을 선호합니다..
sudo / bin / bash
이제 우리가 설치할 수 있도록 디렉토리를 소스 위치로 변경하십시오. bunzip 유틸리티가 설치되어 있지 않으면 설치해야 할 수도 있습니다. (그것은 나의 것 위에 있었다)
cd / usr / src
bunzip2 linux-source-2.6.17.tar.bz2
tar xvf linux-source-2.6.17.tar
ln -s linux-source-2.6.17 linux
사용자 정의 컴파일 프로세스에 사용할 기존 커널 구성 사본을 작성하십시오. '문자는 물결표 아래에있는 문자입니다 ~
cp / boot / config-'uname -r '/usr/src/linux/.config
이제 커널을 사용자 정의 할 수있는 유틸리티를 시작합니다.
cd / usr / src / linux
make menuconfig
먼저, 대체 구성 파일로드로 이동하여 .config 파일을로드하십시오. (그냥 엔터를 치세요)
이제 우리는 유틸리티 안에 있으며 커스텀 커널에 대한 옵션을 설정할 수 있습니다. 네비게이션은 매우 간단합니다. 길 잃은다면 전설이 있습니다. 네트워킹을 선택하고 Enter 키를 눌러 해당 카테고리로 이동하기로 결정했습니다..
아마추어 무선 지원? 그게 지옥에 설치된거야? 커널에 내장되어 있다는 것을 * 알 수 있습니다..
?를 눌러? 키를 누르면 특정 항목에 대한 도움말을 볼 수 있습니다. 설명은 다음과 같습니다.
글쎄, 나는 그것을 즉시 해제 할 것이다. 어쨌든 내 커널에 왜 설치되어 있습니까? Esc 키를 눌러 도움말 화면을 종료 한 다음 N 키를 눌러 내 커널에서 제외합니다..
원하는대로 선택을 마쳤 으면 종료를 누르고 프롬프트가 표시되면 구성을 저장하십시오..
이제 컴파일 할 준비가되었습니다. 먼저 모든 것을 컴파일 할 준비가되었는지 확인하기 위해 정리 작업을 수행합니다..
make-kpkg 청소
다음으로 실제로 커널을 컴파일합니다. 긴 시간이 걸리므로 흥미로운 것을 찾으십시오..
fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers
이 프로세스는 / usr / src에 커널이 들어있는 두 개의 .deb 파일을 만듭니다. linux-image **** 파일은 실제 커널 이미지이며, 다른 파일에는 dpkg로 둘 다 설치할 수 있습니다. 파일 이름은 시스템에 따라 다를 수 있습니다..
다음 명령을 실행하면 새 커널이 새 기본 커널로 설정됩니다. 이것은 일을 망칠 수 있습니다! 시스템이 부팅되지 않으면 GRUB 로딩 메뉴에서 Esc를 누르고 이전 커널을 선택할 수 있습니다. 그런 다음 /boot/grub/menu.lst에서 커널을 비활성화하거나 다시 컴파일 해보십시오..
dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb
이제 컴퓨터를 재부팅하십시오. 모든 것이 작동한다면 새로운 사용자 정의 커널을 실행해야합니다. uname을 사용하여이를 확인할 수 있습니다. 정확한 숫자는 기기에 따라 다를 수 있습니다..
uname -r
2.6.17.14-ubuntu1-custom
필자는 커널 사용자 정의에 대한 일련의 기사를 작성할 계획이므로 업데이트 용 RSS 피드에 가입하십시오..
또한, 전체 공개의 이익을 위해, 나는 HowtoForge의 기사에서이 작업을 수행하는 방법을 배웠습니다. HowtoForge는 리눅스에 대한 몇 가지 고급 자습서를위한 훌륭한 웹 사이트입니다. 이 기사를 더 많이 만들려고했지만이 기사의 많은 단계가 비슷하다는 것을 알 수 있습니다. "우분투".