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

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

데비안 GNU/리눅스 12.0부터, 2022년 독점 펌웨어에 대한 투표에 뒤이어, 공식 설치 이미지에도 (예를 들어 netinst) 독점 펌웨어 패키지를 포함할 수 있습니다. 이들 펌웨어 패키지를 사용할 수 있는 경우에도, 일부 펌웨어 파일은 여전히 빠져 있을 수 있습니다. 또 펌웨어 패키지가 들어 있지 않은 netboot 파일을 사용할 수도 있습니다.

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

[참고] 참고

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

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

6.4.1. 미디어 준비하기

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

많이 사용하는 펌웨어 패키지 및 설치 프로그램에서 검색할 수 있도록 관련 메타데이터가 들어 있는 TAR 또는 ZIP 파일을 다음의 사이트에서 사용할 수 있습니다:

해당 릴리스에 해당하는 TAR 또는 ZIP 파일을 다운로드해 미디어의 파일 시스템에 풀어 놓으면 됩니다.

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

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

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

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

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

[참고] 참고

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

6.4.3. 시스템 설치 마치기

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

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

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