본문 바로가기
리눅스

Linux kernel

by 다움위키 2023. 12. 9.

리눅스 커널자유와 오픈-소스, 모놀리식, 모듈러, 멀티태스킹, 유닉스-계열 운영 시스템 커널입니다. 그것은 1991년 Linus Torvalds에 의해 i386-기반 PC에 대해 구상되고 만들어졌고, 곧 GNU 운영 시스템에 대한 커널로 채택되었으며, 이것은 유닉스자유롭게 대체하기 위해 만들어졌습니다. 그 이후로, 그것은 공통적으로 리눅스라고도 하는 많은 수의 운영 시스템 배포판을 탄생시켰습니다.

리눅스는 임베디드 장치, 모바일 장치 (안드로이드 운영 시스템에서의 사용을 포함), 개인용 컴퓨터, 서버, 메인프레임, 및 슈퍼컴퓨터와 같은 다양한 컴퓨팅 시스템에 배포됩니다. 그것은 간단한 명령의 가족을 사용하여 특정 아키텍처와 여러 사용 시나리오에 맞게 조정될 수 있습니다 (즉, 컴파일하기 전에 소스 코드를 수동으로 편집할 필요 없음); 권한이 있는 사용자는 역시 런타임에 커널 매개변수를 조정할 수 있습니다. 대부분의 리눅스 커널 코드는 표준 C 프로그래밍 언어에 대한 GCCGNU 확장을 사용하고 아키텍처 특정 명령 (ISA)를 사용하여 작성되었습니다. 이것은 메모리 공간과 작업 실행 시간의 활용과 관련하여 고도로 최적화된 실행 파일 (vmlinux)을 생성합니다.

일상적인 개발 토론은 리눅스 커널 메일링 리스트 (LKML)에서 이루어집니다. 변경 사항은 Torvalds에 의해 BitKeeper에 대해 맞춤 대용으로 만들어진 버전 제어 시스템 git을 사용하여 추적됩니다. 리눅스 전체는 명시적인 syscall 예외 (Linux-syscall-note)와 함께 GNU General Public License 버전 2 전용 (GPL-2.0-전용)에 따라 릴리스되지만, 그것은 역시 다른 호환 가능한 라이선스에 따라 여러 파일을 포함하고 있습니다.

Installation

커널은 운영 시스템의 가장 밑에 존재하기 때문에, 커널은 항상 설치되어 있어야 합니다. 모든 리눅스 배포판, 예를 들어 데비안은 운영 시스템 설치시에 반드시 커널을 설치하고, 그 후 업데이트가 있을 때 가능한 한 빨리 업데이트되어야 합니다.

알려져 있지는 않지만, 데비안의 주 번호는 대체로 2년 정도에 한 번씩 증가합니다. 데비안 안정판 출시 당시에 커널 LTS 버전 중에서 개발자들의 논의를 통해 적절한 커널이 선택됩니다. 반면에 커널의 보조 번호는 2달 정도에 한 번씩 증가합니다.

어쨌든, 일반 사용자는 보다 최신의 커널을 성능 향상 또는 하드웨어 지원을 위해 사용할 필요성을 느낄 수 있습니다. 데비안은 Backports를 운영함으로써 이를 지원하고 있습니다. 예를 들어, 최신 안정 버전에 대한 bullseye-backports 전체 목록을 볼 수 있고, 커널 목록을 볼 수 있습니다. 따라서, 아래와 같이 설치할 수 있습니다:

  • sudo apt install linux-image-5.16.0-0.bpo.3-amd64/bullseye-backports

좀 더 최신의 커널은 우분투의 메인라인 커널 PPA에서 제공하는 것을 이용할 수 있습니다. 예를 들어, 5.15.11에 대해 다음 파일을 받아서 업데이트를 할 수 있습니다:

Debian kernel compile

커널 컴파일의 주목적은 대체로 자신의 하드웨어에 최적화된 커널을 만들기 위함일 것입니다. 그렇지만, 과거에 비해 굉장히 많아진 커널 옵션은 자신에 맞게 확인되기에 꽤 시간이 소모될 것이므로, 데비안에서 제공하는 커널 옵션을 가져와서 자신에게 필요한 일부의 옵션을 변경하는 것이 추천되는 방법입니다.

보통 커널 옵션은 /boot/config-5.xx.xx-xx-amd64 등으로 존재하는데, 데비안에서 배포하는 커널이라면, linux-image-5.xx.xx-amd에 포함되어 있습니다. 이 패키지에서 해당 파일을 뽑아내려면, Quickly edit a deb package 기사를 참조하십시오.

어쨌든, 데비안 커널 컴파일 과정에 대해, 아래 문서를 참조하십시오.

데비안 계열에서 커널 패키징

External kernel module

모든 하드웨어의 드라이버가 커널 내부에 포함되지는 않는데, 왜냐하면 특정 회사에서 제공하는 독점 드라이버는 라이선스의 문제로 별도로 컴파일될 필요가 있습니다.

대표적인 것으로는, 데스크탑에서 필수적인 그래픽 카드 중에 NVIDIA 커널 모듈, 가상 머신 VirtualBox 커널 모듈, VMware 커널 모듈 등이 있습니다.

이런 것들에 대해 가장 정보는 여기에서 빠르게 확인할 수 있습니다.

Troubleshootings

데비안 저장소에서 제공하는 커널에 대체로 심각한 문제는 없지만, 간혹 심각한 문제가 발생 또는 사소한 문제들이 보다 많이 발생할 수 있습니다.

아래와 같이 부팅 후에 커널에 생긴 문제점을 확인할 수 있습니다.

  • dmesg |grep failed

missing firmware 다음 메시지가 표시됩니다: Possible missing firmware /lib/firmware/amdgpu/yellow_carp_gpu_info.bin for module amdgpu

Initramfs unpacking failed Decoding failed : 이 오류는 /etc/initramfs-tools/initramfs.conf 파일에서 아래 내용을 수정해서 다시-부팅해 볼 필요가 있습니다:

  • COMPRESS=gzip (원래 값은 lz4입니다.)
  • sudo update-initramfs -u

Error Driver 'pcspkr' is already registered, aborting...

  • echo "blacklist pcspkr" > /etc/modprobe.d/blacklist-pcspkr.conf

External links