Handbook:Parts/Installation/Kernel/ko

소스 코드 설치
주변에 빌드한 모든 배포판의 핵심은 리눅스 커널입니다. 이는 사용자 프로그램과 여러분의 시스템 하드웨어 사이에 있는 계층입니다. 젠투는 사용자에게 최대한 다양한 커널 소스코드를 제공합니다. 설명을 포함한 전체 목록은 커널 개요 페이지에 있습니다.

For -based systems Gentoo recommends the package.

적당한 커널 소스를 선택하고 로 설치하십시오:

를 들여다보면 설치한 커널 소스를 가리키는 심볼릭 링크를 볼 수 있습니다:

이제 커널 소스를 설정하고 컴파일 할 차례입니다. 두가지 방식으로 접근할 수 있습니다:


 * 1) 직접 설정하고 빌드하는 방법, 또는
 * 2)  도구를 사용하여 자동으로 리눅스 커널을 빌드하고 설치하는 방법

환경을 최적화하는 기본적인 선택이자 최상의 방법인 직접 설정 방법을 설명하도록 하겠습니다.

도입부
커널을 직접 설정하는 방법은 리눅스 사용자가 해본 일중에 가장 어려운 과정으로 보입니다. 아니라고 하는것도 조금은 맞습니다 - 커널을 여러번 설정해본 사람중에는 이게 어려웠는지 기억하는 사람이 없습니다.

그러나 맞는 이야기이기도 합니다. 커널을 직접 설정했을 때 시스템을 아는 것이 현실적입니다. 대부분의 정보는 명령이 들어있는 를 이머지하여 수집할 수 있습니다:

시스템 정보의 다른 근원은 설치 CD에서 사용하는 커널 모듈이 무엇인지 보여주는 를 실행했을때 나타나는 활성화 할 모듈에 대한 바람직한 실마리입니다.

이제 커널 소스 디렉터리로 이동하여 를 실행하십시오. 메뉴 기반 설정 화면을 실행합니다.

리눅스 커널 설정에는 수많은 섹션이 있습니다. 반드시 활성화해야 할 몇가지 옵션 목록을 먼저 보도록 하겠습니다(그렇지 않으면 젠투가 제 기능을 못하거나, 추가 설정 없이 제대로 동작하지 않을지도 모릅니다). 또한 더 많은 도움을 줄  젠투 커널 설정 안내서도 젠투 위키에 있습니다.

필수 옵션 활성화
시스템을 부팅할 때 살아있는 모든 드라이버(SCSI 컨트롤러 등)가 모듈로 남아있지 않고 커널에 들어갔는지 확인하십시오. 아니면 부팅을 제대로 진행할 수 없습니다.

Next select the exact processor type. It is also recommended to enable MCE features (if available) so that users are able to be notified of any hardware problems. On some architectures (such as x86_64), these errors are not printed to, but to. This requires the package.

Also select Maintain a devtmpfs file system to mount at /dev so that critical device files are already available early in the boot process ( CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT ):

Verify SCSI disk support has been activated ( CONFIG_BLK_DEV_SD ):

Now go to File Systems and select support for the filesystems you use. Don't compile the file system that is used for the root filesystem as module, otherwise the Gentoo system will not be able to mount the partition. Also select Virtual memory and /proc file system. Select one or more of the following options as needed by the system ( CONFIG_EXT2_FS, CONFIG_EXT3_FS , CONFIG_EXT4_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS , CONFIG_PROC_FS , and CONFIG_TMPFS ):

If PPPoE is used to connect to the Internet, or a dial-up modem, then enable the following options ( CONFIG_PPP, CONFIG_PPP_ASYNC , and CONFIG_PPP_SYNC_TTY ):

두 압축 옵션은 문제를 일으키진 않겠지만 꼭 필요하진 않으며, 커널 모드 PPPoE를 사용하도록 설정했을 때 PPP에서 사용하는PPP over Ethernet 옵션도 마찬가지입니다.

네트워크(유무선) 카드의 커널 지원 포함도 잊지 마십시오.

Most systems also have multiple cores at their disposal, so it is important to activate Symmetric multi-processing support ( CONFIG_SMP ):

If USB input devices (like keyboard or mouse) or other USB devices will be used, do not forget to enable those as well ( CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT , CONFIG_USB_XHCI_HCD , CONFIG_USB_EHCI_HCD , CONFIG_USB_OHCI_HCD ):

선택: initramfs 빌드
대부분의 경우 초기 램 기반 파일 시스템 initramfs를 빌드해야 합니다. 중요한 파일 시스템 위치 또는 가 각각의 파티션으로 나누어져있을 경우가 대부분의 중요한 이유가 됩니다. initramfs로 initramfs내부의 도구를 활용하여 이 파티션을 마운트할 수 있습니다.

initramfs가 없으면, 파일 시스템에 있는 정보를 필요로 하는 파일 시스템 마운트 동작시 동작을 수행해야 하는 도구가 제대로 동작하지 않아 시스템 부팅이 제대로 동작하지 않는 큰 위험성이 있습니다. initramfs는 커널 부팅 후 바로 활용할 아카이브에 필요한 파일을 넣지만, 그 이전에 init 도구에 제어 권한을 넘깁니다. initramfs에 있는 스크립트는 시스템 부팅을 계속하기 전 파티션을 제대로 마운트했는지 확인합니다.

initramfs를 설치하려면, 우선 을 설치하고 initramfs를 만들도록 합니다:

lvm또는 raid 등의 initramfs의 지정 기능을 활성화하려면 에 적당한 옵션을 추가하십시오. 더 많은 내용은 를 참고하십시오. 다음 예제에서는 LVM과 소프트웨어 RAID(mdadm)를 활성화합니다:

initramfs는 에 저장합니다. 결과 파일은 간단히 initramfs로 시작하는 파일을 찾기만 하면 됩니다:

이제 커널 모듈로 계속 진행하십시오.

대안: genkernel 사용
직접 설정이 상당히 벅차다면, 을 추천합니다. 커널을 설정하고 빌드하는 과정을 자동으로 처리합니다.

은 설치 CD 커널이 설정한 방식과 거의 동일하게 커널을 설정하여 동작합니다. 커널을 빌드할 때 을 사용하면, 설치 CD에서 동작했던바와 같이 시스템에서 부팅 시간에 발견한 모든 하드웨어를 발견한다는 의미입니다. 왜냐면 은 직접적으로 커널을 설정할 필요가 없기 때문에 커널 컴파일을 귀찮아하는 사용자에게 이상적인 해결책입니다.

이제 genkernel을 사용하는 방법을 보겠습니다. 먼저 ebuild를 이머지하십시오:

Next, edit the file so that the line containing  as second field has the first field pointing to the right device. If the partitioning example from the handbook is followed, then this device is most likely with the ext2 file system. This would make the entry in the file look like so:

이제 를 실행하여 커널 소스 코드를 컴파일하십시오. 은 대부분의 하드웨어를 지원하는 커널을 컴파일 하므로 컴파일이 끝나기까지 상당한 시간이 걸린다는 사실을 알아두십시오!

genkernel 동작이 끝나면, 모듈 전체 모음과 초기화 램 디스크(initramfs)를 만듭니다. 이 문서에서 나중에 부트로더를 설정할 때 이 커널과 initrd를 사용합니다. 부트로더 설정 파일을 편집할 때 정보로 사용하겠으니 커널과 initrd의 이름을 적어두십시오. "실제" 시스템을 시작하기 전에 하드웨어 자동 감지(설치 CD와 유사) 동작을 수행하는 즉시 initrd를 시작합니다.

모듈 설정
에서 자동으로 불러와야 하는 모듈을 조회하십시오. 필요한 경우 추가 옵션을 모듈에 추가할 수 있습니다.

존재하는 모든 모듈을 보려면 다음과 같이 명령을 실행하십시오. 잊지 말고 " " 부분을 컴파일한 커널의 버전으로 바꾸십시오.

예를 들어 모듈(3COM 네트워크 카드 계열 드라이버)을 자동으로 블러오려면,  파일을 편집하고 모듈 이름을 입력하십시오.

시스템 설정으로 설치 과정을 계속 진행하십시오.

선택: 펌웨어 설치
일부 드라이버는 동작하기 전에 시스템에 추가 펌웨어를 설치해야 합니다. 네트워크 인터페이스에 흔히 있는 경우이며 특히 무선 네트워크 인터페이스의 경우 그렇습니다. 대부분의 펌웨어는 에 있습니다: