6.4. 없는 펌웨어 읽어들이기

2.2절. “펌웨어가 필요한 장치”에서 설명한 것처럼, 일부 장치는 펌웨어를 읽어들여야 합니다. 대부분 그런 장치는 펌웨어가 없으면 동작하지 않습니다. 가끔 기본적인 기능은 동작하고 추가적인 기능에서만 펌웨어가 필요하기도 합니다.

없는 펌웨어가 장치 드라이버에 필요한 경우, debian-installer에서 대화 상자를 표시해 없는 펌웨어를 읽어들이도록 안내합니다. 이 옵션을 선택하면 debian-installer는 펌웨어 파일이나 펌웨어가 들어 있는 패키지가 있는지 검사합니다. 있으면 펌웨어를 적당한 위치에 (/lib/firmware) 복사하고 드라이버 모듈을 다시 읽어들입니다.

[참고] 참고

어떤 장치를 검사하고 어떤 파일 시스템을 지원하느냐는 아키텍쳐, 설치 방법, 설치 단계에 따라 달라집니다. 설치 앞 단계에서는 FAT로 포맷한 USB 메모리에서 펌웨어 읽어들이기는 대부분 성공합니다. i386 및 amdy64에서는 MMC나 SD 카드에서도 펌웨어를 읽어들일 수 있습니다.

펌웨어 없이도 해당 장치가 동작한다거나 설치할 때 그 장치가 필요 없는 경우, 펌웨어 읽어들이기를 건너 뛸 수도 있습니다.

debian-installer에서는 설치 중에 올라간 커널 모듈에서 필요한 펌웨어만 요청합니다. 모든 드라이버가 debian-installer에 포함되지는 않았기 때문에(특히 radeon이 없음), 일부 장치는 설치가 끝날 때 쯤 되어도 설치가 시작될 때나 다를 것 없이 사용되지 않을 수도 있습니다. 결과적으로 하드웨어의 일부는 완전히 사용할 수 없을 수도 있습니다. 이런 상황이 의심되거나 궁금하다면 새로 부팅하는 시스템의 dmesg 명령 결과에서 firmware라는 말을 찾아보십시오.

6.4.1. 미디어 준비하기

공식 설치 이미지에는 사용 제한이 있는 펌웨어는 들어 있지 않습니다. 이러한 펌웨어를 읽어들이는 방법 중 가장 많이 사용하는 방법은 USB 메모리같은 이동식 장치에서 펌웨어를 읽어들이는 경우입니다. 아니면 사용 제한이 있는 펌웨어가 들어있는 비공식 설치 이미지 빌드가 https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/ 위치에 있습니다. USB 메모리(아니면 하드 드라이브 파티션 등 다른 미디어)를 준비하려면, 펌웨어 파일이나 패키지는 해당 미디어의 최상위 디렉터리나 /firmware 디렉터리에 들어 있어야 합니다. 추천하는 파일 시스템은 FAT입니다. (FAT는 설치 앞 단계에서도 지원하는 파일 시스템이므로.)

많이 사용하는 펌웨어 패키지를 tar나 zip으로 굳힌 것이 다음의 사이트에서 사용할 수 있습니다:

해당 버전의 tarball 또는 zip 파일을 다운로드 미디어 파일 시스템에 배포하면됩니다.

필요한 펌웨어가 TAR 파일에 없으면 해당 펌웨어 패키지를 아카이브에서(아마도 non-free 섹션에서) 다운로드할 수도 있습니다. 아래에서 흔히 사용하는 펌웨어 패키지 목록을 요약해 놓았습니다. 아래 목록은 전체 목록이 아니고 펌웨어 패키지가 아닌 패키지도 들어 있습니다:

펌웨어 파일을 직접 미디어에 복사할 수도 있습니다. 펌웨어 파일을 이미 설치해 놓은 시스템에서 가져올 수도 있고 하드웨어 공급사가 제공해 줄 수도 있습니다.

6.4.2. 펌웨어 및 설치한 시스템

설치할 때 읽어들인 펌웨어는 설치한 시스템에도 복사됩니다. 그래야 펌웨어가 필요한 장치가 설치한 시스템으로 다시 시작한 후에도 올바르게 동작합니다. 하지만 설치한 시스템의 커널 버전이 다른 경우 펌웨어를 읽어들이지 못할 가능성이 낮지만 있습니다.

펌웨어를 펌웨어 패키지에서 읽어들인 경우, debian-installer는 이 패키지를 설치한 시스템에서도 설치하고 APT의 sources.list에 non-free 섹션을 추가합니다. 이렇게 하면 펌웨어의 새 버전이 나왔을 때 자동으로 업데이트하는 장점이 있습니다.

설치할 때 펌웨어 읽어들이기를 건너 뛰면, 수동으로 펌웨어를 설치하기 전에는 해당 장치가 설치한 시스템에서 동작하지 않습니다.

[참고] 참고

펌웨어 파일에서 펌웨어를 설치한 경우, 그 펌웨어는 설치한 시스템에 복사되고 해당 펌웨어 패키지를(패키지가 있다면) 설치하지 않는 한 자동으로 업데이트되지 않습니다.

6.4.3. 시스템 설치 마치기

설치를 어떻게 수행했냐에 따라, 설치 중에 일부 필요한 펌웨어를 찾지 못했을 수도 있고, 관련 펌웨어가 없을 수도 있고, 그 시점에 펌웨어 설치를 하지 않겠다고 선택했을 수도 있습니다. 어떤 경우에는 성공적으로 설치했다고 해도 설치한 시스템으로 재시작했을 때 검은색 화면이나 알아 보기 힘든 화면만 나타나기도 합니다. 그런 일이 생기면, 다음 피해가는 방법을 시도해 볼 수 있습니다:

  • 커널 커맨드라인에 nomodeset 옵션을 전달합니다. 그러면 대비책 그래픽 모드로 부팅될 수도 있습니다.

  • Ctrl+Alt+F2 키 조합을 사용해 VT2로 전환하빈다. 그러면 동작하는 로그인 프롬프트가 나타날 수도 있습니다.

설치한 시스템으로 일단 로그인하면, 찾지 못했던 펌웨어 검색을 자동으로 할 수 있습니다. 다음 과정을 따라 펌웨어를 사용하는데 필요한 단계를 할 수 있습니다.

  1. isenkram-cli 패키지를 설치합니다.

  2. root 사용자로 isenkram-autoinstall-firmware 명령을 실행합니다.

확실하게 모든 커널 모듈을 올바르게 초기화하려면, 보통 다시 시작하는 게 가장 간단하게 할 수 있는 방법입니다. 특히 nomodeset 옵션을 중간 단계로 사용해 부팅한 시스템에서는 중요합니다.

[참고] 참고

펌웨어 패키지 설치는 패키지 저장소의 non-free 섹션을 사용해야 할 경우가 대부분입니다. 데비안 GNU/리눅스 11.0에서는, isenkram-autoinstall-firmware 명령을 실행하면 미러 사이트를 가리키는 전용 파일을 (/etc/apt/sources.list.d/isenkram-autoinstall-firmware.list) 만들어서 해당 작업을 자동으로 해 줍니다.