컴퓨터는 여러 가지 부품으로 구성되어 있고, 매년 새로운 부품이 출시됩니다. 그러한 부품은 출시와 함께 부품을 작동하도록 제공되는 간단한 프로그램, 펌웨어를 제공하고 특정 운영 시스템을 위한 드라이버 소프트웨어를 제공하지만, 특정 운영 시스템에 대한 펌웨어와 드라이버 소프트웨어를 제공하지 않는 경우도 있습니다. 개발사의 입장에서는 운영 시스템의 점유율에 따라 우선적으로 그러한 소프트웨어의 제공을 결정할 것으로 보입니다.
한편, 리눅스 커널은 해당 부품의 펌웨어를 기반으로 드라이버를 구축하는 형식을 취할 수 있습니다. 이러다 보니, 펌웨어를 제공하지 않으면, 드라이버를 만드는 것이 힘들 수 있습니다. 과거에 비해, 부품 개발사들이 리눅스 커널 개발에 직접 참여해서 펌웨어를 제공하고 드라이버를 개발하는 경우도 많아졌고, 적어도 펌웨어는 제공되어서 과거와 비교할 수 없을 정도로 부품을 지원하는 시간이 단축되었습니다.
커널에 포함된 경우
어쨌든, 개인의 입장에서 컴퓨터의 부품이 제대로 동작하지 않으면, 펌웨어와 드라이버를 새롭게 설치해 볼 수 있습니다. 보통 드라이버는 커널에 포함된 경우가 많지만, 그렇지 않은 경우도 있습니다.
우선, 커널에 드라이버가 포함된 경우에는 펌웨어와 커널을 최신으로 바꾸어 볼 필요가 있습니다.
펌웨어를 복제할 수 있는 위치는 다음 3개가 있습니다:
- git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
- https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
- https://kernel.googlesource.com/pub/scm/linux/kernel/git/firmware/linux-firmware.git
다음과 같이 복제합니다:
그런-다음 원하는 부품의 디렉토리를 적절한 위치에 복사할 수 있습니다. (2022년 8월 기준 1.4 기가 정도의 용량을 갖고 있습니다.)
배포판에 따라, 제공하는 펌웨어 패키지가 다릅니다. 데비안은 대체로 제조회사의 부품에 따라 펌웨어를 제공하며, 예를 들어, AMD 그래픽 카드는 firmware-amd-graphics 패키지에서 제공하고, 다른 부품은 다른 패키지에서 제공되지만, 우분투는 하나의 패키지로 펌웨어 전체를 제공합니다.
어쨌든, 최신 펌웨어는 위에서 복제했으므로, 보통 그것의 위치는 /lib/firmware/ 디렉토리 아래에 특정 디렉토리 이름으로 저장되어 있습니다. 예를 들어 firmware-amd-graphics는 제품의 분류에 따라 amdgpu, radeon 등의 디렉토리를 포함합니다. 최신의 navi 칩셋은 amdgpu 디렉토리 내부에 있으므로, 기존 디렉토리를 지우고 위에서 복제한 리눅스 펌웨어 내부의 amdgpu 디렉토리를 /lib/firmware/ 디렉토리 아래에 복사할 수 있습니다.
- sudo rm -rf /lib/firmware/amdgpu
- sudo cp -a linux-firmware/amdgpu/ /lib/firmware/
이제 amdgpu 관련된 펌웨어는 최신 상태가 되었으므로, 이것을 구동하는 드라이버, 즉 커널을 가장 최신 버전, 2022년 8월 13일 5.9.1 버전을 설치할 수 있습니다.
데비안 또는 우분투 계열의 최신 커널은 우분투 메인라인 커널을 설치 시도해 볼 수 있습니다.
같은 deb 패키지를 사용하지만, 제공되는 커널이 컴파일된 환경에 따라 설치가 될 수 도 있고 그렇지 않을 수 있습니다. 다른 커널 패키지는 다움 위키에서 제공하는 커널을 이용해 볼 수 있습니다.
- https://dawoum.duckdns.org/debian/pool/trixie-dawoum/contrib/l/linux-kernel/ (일반 커널, 데비안 패치)
- https://dawoum.duckdns.org/debian/pool/trixie-dawoum/experimental/l/linux-kernel/ (라이젠 cpu, 데비안 패치+xanmod 패치)
우분투 계열에서 펌웨어 설치
우분투 계열에서는 펌웨어 패키지가 하나로 제공됩니다. 이 패키지는 아키텍쳐와 상관없는 all.deb이므로, 최신 펌웨어를 최신 우분투 패키지로부터 설치할 수 있습니다. 인터넷으로 "ubuntu linux-firmware ppa"로 검색합니다. 아래에서 최신의 패키지를 받아서 설치할 수 있습니다:
데비안은 펌웨어 패키지를 여러 개로 나누어두기 때문에, 이 파일을 사용하는 것이 곤란할 수 있습니다.
커널에 포함되지 않은 경우
커널에 포함되지 않은 경우는 어쩔 수 없이 인터넷으로 검색해서 그런 구현을 해 놓은 드라이버 또는 커널 모듈을 받아서 컴파일해야 합니다.
예를 들어, 기가바이트 마드보드의 온도 제어 센서 칩셋 ITE IT8688E를 이용하기 위해서, 다음에서 커널 모듈 소스를 받을 수 있습니다:
그런-다음 컴파일을 하고, 적절한 위치에 옮겨서 해당 칩셋을 이용할 수 있습니다.