Handbook:Parts/Installation/Kernel/ko

Firmware
일부 드라이버는 동작하기 전에 시스템에 추가 펌웨어를 설치해야 합니다. 네트워크 인터페이스에 흔히 있는 경우이며 특히 무선 네트워크 인터페이스의 경우 그렇습니다. 또한 AMD, nVidia, 인텔에서 나오는 대부분의 최신 비디오 칩셋의 경우 오픈 소스 드라이버를 사용할 때 종종 외부 펌웨어 파일이 필요합니다. 대부분의 펌웨어는 에 있습니다:

It is recommended to have the package installed before the initial system reboot in order to have the firmware available in the event that it is necessary:

It is important to note that kernel symbols that are built as modules (M) will load their associated firmware files from the filesystem when they are loaded by the kernel. It is not necessary to include the device's firmware files into the kernel's binary image for symbols loaded as modules.

Microcode
In addition to discrete graphics hardware and network interfaces, CPUs also can require firmware updates. Typically this kind of firmware is referred to as microcode. Newer revisions of microcode are sometimes necessary to patch instability, security concerns, or other miscellaneous bugs in CPU hardware.

Microcode updates for AMD CPUs are distributed within the aforementioned package. Microcode for Intel CPUs can be found within the package, which will need to be installed separately. See the Microcode article for more information on how to apply microcode updates.

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

Ranked from least involved to most involved:


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

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

소스 코드 설치
When installing and compiling the kernel for -based systems, Gentoo recommends the package.

Choose an appropriate kernel source and install it using :

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

It is conventional for a symlink to be maintained, such that it refers to whichever sources correspond with the currently running kernel. However, this symbolic link will not be created by default. An easy way to create the symbolic link is to utilize eselect's kernel module.

For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.

First, list all installed kernels:

In order to create a symbolic link called, use:

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

Genkernel provides a generic kernel configuration file, automatically generates the kernel, initramfs, and associated modules, and then installs the resulting binaries to the appropriate locations. This results in minimal and generic hardware support for the system's first boot, and allows for additional update control and customization of the kernel's configuration in the future.

Be informed: while using to maintain the kernel provides system administrators with more update control over the system's kernel, initramfs, and other options, it will require a time and effort commitment to perform future kernel updates as new sources are released. Those looking for a hands-off approach to kernel maintenance should use a distribution kernel.

For additional clarity, it is a misconception to believe genkernel automatically generates a custom kernel configuration for the hardware on which it is run; it uses a predetermined kernel configuration that supports most generic hardware and automatically handles the commands necessary to assemble and install the kernel, the associate modules, and the initramfs file.

Binary redistributable software license group
If the linux-firmware package has been previously installed, then skip onward to the to the installation section.

As a prerequisite, due to the  USE flag being enabled by default for the  package, the package manager will also attempt to pull in the  package. The binary redistributable software licenses are required to be accepted before the linux-firmware will install.

This license group can be accepted system-wide for any package by adding the  as an ACCEPT_LICENSE value in the  file. It can be exclusively accepted for the linux-firmware package by adding a specific inclusion via a file.

If necessary, review the methods of accepting software licenses available in the Installing the base system chapter of the handbook, then make some changes for acceptable software licenses.

If in analysis paralysis, the following will do the trick:

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

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

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

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

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

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

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

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

필수 옵션 활성화
When using, it is strongly recommend the Gentoo-specific configuration options be enabled. These ensure that a minimum of kernel features required for proper functioning is available:

Naturally the choice in the last two lines depends on the selected init system (OpenRC vs. systemd). It does not hurt to have support for both init systems enabled.

When using, the additional selections for init systems will be unavailable. Enabling support is possible, but goes beyond the scope of the handbook.

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

정확한 프로세서 형식을 선택하십시오. 사용자가 하드웨어 문제 알림을 받을 수 있도록 MCE 기능 활성화(가능할 경우)를 추천합니다. 일부 아키텍처(x86_64)에서는 로 나타나지 않지만 에 나타납니다. 꾸러미가 필요한 부분입니다.

또한 Maintain a devtmpfs file system to mount at /dev( CONFIG_DEVTMPFS 와 CONFIG_DEVTMPFS_MOUNT )를 선택하여 부팅 과정에 중요한 장치 파일을 미리 준비할 수 있게 하십시오.

SCSI 디스크 지원( CONFIG_BLK_DEV_SD )을 활성화했는지 확인하십시오:

Verify basic NVMe support has been enabled:

It does not hurt to enable the following additional NVMe support:

이제 File Systems로 가서 사용할 파일 시스템 지원을 선택하십시오. 루트 파일 시스템에서 사용할 파일 시스템을 모듈로 컴파일하지 마십시오. 그렇지 않으면 젠투 시스템에서 파티션을 마운트할 수 없습니다. 또한 Virtual memory와 /proc file system도 선택하십시오. 시스템에서 필요한 옵션( CONFIG_EXT2_FS, CONFIG_EXT3_FS , CONFIG_EXT4_FS , CONFIG_MSDOS_FS , CONFIG_VFAT_FS , CONFIG_PROC_FS , CONFIG_TMPFS ) 중 하나 이상을 선택하십시오:

인터넷에 연결할 때 PPPoE를 사용하거나 전화걸기 모뎀을 사용한다면 다음 옵션 ( CONFIG_PPP, CONFIG_PPP_ASYNC , CONFIG_PPP_SYNC_TTY )을 활성화하십시오:

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

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

대부분의 시스템에는 구성에 따라 다중 코어를 지니고 있기도 하므로, Symmetric multi-processing support( CONFIG_SMP ) 활성화도 중요합니다:

USB 입력 장치(키보드, 마우스)또는 다른 USB 장치( CONFIG_HID_GENERIC, 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를 만들도록 하십시오:

initramfs는 에 저장합니다. 간단히 initramfs로 시작하는 결과 파일을 찾아볼 수 있습니다:

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

모듈 설정
에 자동으로 불러올 모듈을 한 줄에 하나씩 넣으십시오. 모듈의 추가 옵션은 필요할 경우 파일에 넣으시면 됩니다.

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

Force loading particular kernel modules
예를 들어 모듈(3COM 네트워크 카드 계열 드라이버)을 자동으로 불러오려면,  파일을 편집하고 모듈 이름을 입력하십시오. 실제 파일 이름은 로더에서 크게 신경쓰지 않습니다.

Note that the module's file suffix is insignificant to the loading mechanism and left out of the configuration file:

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